Ticket #8818 (closed Bugs: Obsolete)

Opened 5 years ago

Last modified 2 years ago

RTMP IPlayer streams failing

Reported by: dink Owned by:
Priority: 4 - Normal Milestone:
Component: Streaming (Internet) Version: 9.11 "Camelot"
Severity: Normal Keywords:
Cc: motd2k Blocked By:
Blocking: Platform: All
Revision:

Description

Currently all IPlayer streams are stopping after 1 to 2 minutes. Log files shows an issue reading the RTMP stream. This started during the evening of the 18th Feb and appear to effect all revisions of XBMC across all platforms. Multiple users have confirmed the problem. See  http://forum.xbmc.org/showthread.php?t=51322&page=33

If I skip past the fail point in the stream the stream will play for a few minutes before hitting another fail point.

My suspicion is that BBC updated the streaming server on the 18th and it is now using an RTMP message that the XBMC RTMP library doesn't support.

########## Sample error ###############

10:11:19 T:2304 M:1487269888   DEBUG: RTMP_LIB::CRTMP::SendBytesReceived, Send bytes report. 0xc55b40 (12933952 bytes)
10:11:19 T:2304 M:1487269888   DEBUG: RTMP_LIB::CRTMP::GetNextMediaPacket, received: FLV tag(s) 55863 bytes
10:11:20 T:2304 M:1487273984   ERROR: RTMP_LIB::CRTMP::FillBuffer, recv returned -1. errno: 10053
10:11:20 T:2304 M:1487273984   DEBUG: RTMP_LIB::CRTMP::ReadN, RTMP socket closed by server
10:11:20 T:2304 M:1487273984   ERROR: RTMP_LIB::CRTMP::ReadPacket, failed to read RTMP packet body. len: 66031
10:11:27 T:2588 M:1489424384 WARNING: CDVDMessageQueue(audio)::Get - retrieved last data packet of queue

Attachments

xbmc.log Download (97.3 KB) - added by dink 5 years ago.
Windows - SVN:27943
xbmc.log-2010-02-19-rtmp-issue Download (256.0 KB) - added by dink 5 years ago.
Ubuntu - SVN:26018
rtmp_SWFVerification_warn.patch Download (481 bytes) - added by frosty 5 years ago.
clearer logging of SWFVerification
rtmp_swf_verification_svn28341.patch Download (7.7 KB) - added by iaian 5 years ago.
SWF verification patch for svn28341 (from xbmc-boxee-iview, GPL3 andybotting & noisymime)

Change History

Changed 5 years ago by dink

Windows - SVN:27943

Changed 5 years ago by dink

Ubuntu - SVN:26018

comment:1 Changed 5 years ago by frosty

Log shows us receiving ping type 26, so this is probably unimplemented SWF Verification ie a dup of Ticket #6403 "RTMP connection dissconnects after a few seconds of playing the video"

comment:2 Changed 5 years ago by motd2k

I'm not sure what we can do about this. I don't want to add SWFVerification personally.

comment:3 follow-up: ↓ 4 Changed 5 years ago by dink

I had a look at what FLVStreamer does with SWFVerification. It doesn't support SWFVerification it just reconnects and keeps on going.

comment:4 in reply to: ↑ 3 Changed 5 years ago by frosty

Replying to dink:

I had a look at what FLVStreamer does with SWFVerification. It doesn't support SWFVerification it just reconnects and keeps on going.

That's a pretty obnoxious way to treat a server, and not something I'd suggest doing.

comment:5 Changed 5 years ago by motd2k

Could someone try changing line 264 in xbmc/lib/libRTMP/rtmp.cpp to

enc += EncodeString(enc, "flashVer", "LNX 9,0,114,0");

comment:6 Changed 5 years ago by daagaak

It won't help. I managed to hack in the SWF verification from rtmpdump last night. That does fix it and everything runs fairly smoothly after that. However, it is a massive hack on my part, basically just picked up hashswf.c out of their distribution and "made it work" in libRTMP.

comment:7 Changed 5 years ago by motd2k

SWFVerification was added in 9.0.115 (which is the version we're reporting). If they followed docs then they may well have added exclusion for older flash versions, certainly worth a shot.

comment:8 Changed 5 years ago by motd2k

The trouble is, of course, that we're not going to be able to have anything related to rtmpdump's implementation of these things in trunk. I'm sure it's possible to hack it in easily enough, but we have to consider the project as a whole.

comment:9 Changed 5 years ago by daagaak

I'll give it a go. It'll be tonight before I can try it though.

comment:10 Changed 5 years ago by motd2k

Nevermind - tried it myself with no difference.

comment:11 Changed 5 years ago by daagaak

Drat.

So where do we stand on SWF verification. You don't want to go near it because of possible DMCA takedowns, or its doable but not from rtmpdump sources?

comment:12 Changed 5 years ago by jmarshall

I'd recommend moving librtmp (inside XBMC currently) to a separate .so/dll project hosted elsewhere. XBMC would then be modified to use that separate .so/dll. What happens with that .so/dll is then up to it's authors. Perhaps a drop-in replacement could be written that contains the necessary evils.

Changed 5 years ago by frosty

clearer logging of SWFVerification

Changed 5 years ago by iaian

SWF verification patch for svn28341 (from xbmc-boxee-iview, GPL3 andybotting & noisymime)

comment:13 Changed 2 years ago by sho

  • Status changed from new to closed
  • Resolution set to Obsolete
  • Milestone Future / Pending deleted
Note: See TracTickets for help on using tickets.