Open GoogleCodeExporter opened 8 years ago
This is due to them adding new SWF auth. which isn't yet supported by rtmpdump.
Original comment by mur...@gmail.com
on 11 Jun 2010 at 1:12
Not sure why people think it's to do with SWF auth - rtmpdump does output a
warning because get_flash_videos passes in SWF auth parameters in an old
format, so rtmpdump doesn't use it.
Updated the code (git commit cb71d3f) and downloads work. Subtitle support
hasn't been updated, will fix soon.
Original comment by zakflash...@gmail.com
on 29 Jun 2010 at 8:15
Maybe it's just me, but the rtmpdump command being issued still doesn't contain
any swfauth arguments... The downloads still fail.
Original comment by innocenc...@googlemail.com
on 29 Jun 2010 at 8:39
Maybe I should be clearer. The downloads start up and continue for a while, but
eventually stop before finishing because swf authentication is not used.
Original comment by innocenc...@googlemail.com
on 18 Jul 2010 at 9:54
I'm not sure exactly why downloads stop, but my current theory is that the
stream stops for ad breaks. If you test with a one hour programme, there are
three interruptions, always at very similar points in the stream. If you test
with a 30 minute programme, there is a single interruption, again always at a
similar point in the stream.
Resuming the download does work, though it is a bit inconvenient.
Original comment by zakflash...@gmail.com
on 3 Oct 2010 at 4:44
Capturing the rtmpdump command issued by get-flash-videos using rtmpsrv shows
that SWF authentication is not being used. SWF authentication is needed,
however, using the obvious SWF player used on the page does not seem to work.
Previously ad breaks caused no problems with the stream and I see no reason for
it to now. Plus, my experience is that the download does not stop in the same
spots as the ad breaks.
Original comment by innocenc...@googlemail.com
on 3 Oct 2010 at 11:14
@zakflashvideo: I don't think it's stopping at ad breaks. For example,
http://www.seesaw.com/TV/Comedy/b-8535-Peep-Show stops after just a few
minutes, but the exact duration is slightly different each time.
As mentioned, it appears that SWF Verification is not being enabled:
> rtmpdump: ERROR: HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
I suspect this is the issue. However if I try manually running RTMPDump with
SWFVerification enabled, I get the following:
./rtmpdump --rtmp
'rtmpe://cdn-flash-verified-250-live.seesaw.com/a4434/e1/ccp/p/LOW_RES/00000452/
45250.mp4?s=1294051122&e=1294094622&h=cd2c94f7f357b738755c6d7226f90053'
--playpath
'mp4:/ccp/p/LOW_RES/00000452/45250.mp4?s=1294051122&e=1294094622&h=cd2c94f7f357b
738755c6d7226f90053' --flv Peep_Show.mp4 --swfVfy
http://www.seesaw.com/swf/7.11.0/MediaPlayer/PlayerApplication-7.11.0.swf -V
RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Protocol : RTMPE
DEBUG: Hostname : cdn-flash-verified-250-live.seesaw.com
DEBUG: Port : 1935
DEBUG: Playpath :
mp4:/ccp/p/LOW_RES/00000452/45250.mp4?s=1294051122&e=1294094622&h=cd2c94f7f357b7
38755c6d7226f90053
DEBUG: tcUrl : rtmpe://cdn-flash-verified-250-live.seesaw.com:1935/a4434/e1
DEBUG: swfUrl :
http://www.seesaw.com/swf/7.11.0/MediaPlayer/PlayerApplication-7.11.0.swf
DEBUG: app : a4434/e1
DEBUG: live : no
DEBUG: timeout : 30 sec
DEBUG: SWFSHA256:
DEBUG: 95 0c 71 05 11 17 c9 39 c0 b8 84 4a fb fa e3 66
DEBUG: 19 03 4f 81 b3 78 6d 9e 07 ab 3e c4 04 03 d5 e2
DEBUG: SWFSize : 1371546
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 06
DEBUG: HandShake: DH pubkey position: 472
DEBUG: HandShake: Client digest offset: 1383
DEBUG: HandShake: Initial client digest:
DEBUG: 5c 98 13 38 f0 3e aa db a1 f7 48 92 64 dc fe 60
DEBUG: a7 ca b3 57 5e e0 36 0f 19 fd 6b 6d 58 c7 b2 9f
DEBUG: HandShake: Type Answer : 08
WARNING: HandShake: Type mismatch: client sent 6, server answered 8
DEBUG: HandShake: Server Uptime : 1270611105
DEBUG: HandShake: FMS Version : 3.5.5.1
DEBUG: HandShake: Server DH public key offset: 518
DEBUG: HandShake: Secret key:
DEBUG: 1c e3 07 eb 41 d4 d8 e8 15 ee bb 92 27 5f c3 72
DEBUG: 82 d7 d4 79 a6 12 56 58 f7 dd 3e 5e 2a 71 ff 46
DEBUG: 54 11 80 16 08 04 d0 50 e9 50 7c f1 01 35 f8 17
DEBUG: fc 62 73 bb 03 8d 0c 49 0f 8f 3a ad 90 6d b8 d1
DEBUG: 50 99 73 f6 92 d5 b9 df 1e ec 06 be f8 c7 fc ca
DEBUG: 5b 50 6b cb f0 79 a0 49 24 ec 06 59 20 6a b7 93
DEBUG: ff ff e7 27 68 b1 5c c9 d0 65 99 05 e9 52 be 7e
DEBUG: 20 a5 65 11 c2 ea 47 3f c7 8b e6 93 14 ab b7 f7
DEBUG: RC4 Out Key:
DEBUG: d0 22 ff d6 d3 f1 4c 80 be 0a 05 5e 33 b4 b8 ae
DEBUG: RC4 In Key:
DEBUG: 4c 62 d5 c7 00 dc d6 01 11 50 f9 39 03 55 25 0d
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: 38 c2 bc b9 0a ec ec 08 57 9e d1 7e 73 cc 57 5b
DEBUG: 22 0c 6e 23 cc 58 07 78 c2 fe ba 72 d6 57 b1 37
DEBUG: HandShake: Client signature calculated:
DEBUG: fb 91 f0 c2 d4 31 da 88 ec ae 0f 43 1a 30 30 4e
DEBUG: 35 d2 a8 63 0d d9 66 af 87 cc 31 95 b6 dc bc 43
DEBUG: HandShake: Server sent signature:
DEBUG: 41 4d 54 9a 8f e4 38 65 92 0e f2 4c e8 08 1f 0c
DEBUG: 6b 69 23 2c cd da 1b 2b b0 9a 1d 13 a0 87 12 1d
DEBUG: HandShake: Digest key:
DEBUG: 61 5e 96 20 93 6b 4b 87 a5 27 8a 84 48 b7 cb 43
DEBUG: a3 c5 2e f5 b1 7f 0a a6 29 a2 5b 89 0d 14 ae b7
DEBUG: HandShake: Signature calculated:
DEBUG: 41 4d 54 9a 8f e4 38 65 92 0e f2 4c e8 08 1f 0c
DEBUG: 6b 69 23 2c cd da 1b 2b b0 9a 1d 13 a0 87 12 1d
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 2500000
DEBUG: HandleClientBW: client BW = 2500000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
DEBUG: sending ctrl. type: 0x001b
DEBUG: Sending SWFVerification response:
DEBUG: 00 1b 01 01 00 14 ed 9a 00 14 ed 9a 06 5d 37 d3
DEBUG: 94 ea 83 5d 8b 57 78 91 36 9a ab 70 0a 25 23 18
DEBUG: 77 45 0c 4a ae 7e 7a 7b 72 bf 2d c2
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/3,5,5,2004>
DEBUG: Property: <Name: capabilities, NUMBER: 127.00>
DEBUG: Property: <Name: mode, NUMBER: 1.00>
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code,
STRING: NetConnection.Connect.Success>
DEBUG: Property: <Name: description, STRING: Connection succeeded.>
DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00>
DEBUG: Property: <Name: data, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: version, STRING: 3,5,5,2004>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <connect>
DEBUG: sending ctrl. type: 0x0003
DEBUG: Invoking createStream
DEBUG: RTMP_ClientPacket, received: invoke 21 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
DEBUG: Invoking _checkbw
DEBUG: RTMPSockBuf_Fill, recv returned -1. GetSockError(): 104 (Connection
reset by peer)
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
DEBUG: Closing connection.
This looks very similar to the report here:
http://lists.mplayerhq.hu/pipermail/rtmpdump/2010-December/001246.html
Original comment by sneakype...@gmail.com
on 3 Jan 2011 at 12:07
Original issue reported on code.google.com by
innocenc...@googlemail.com
on 11 Jun 2010 at 12:22