PDA

View Full Version : m6replay.fr and rtmpdump: "Got Play.Complete or Play.Stop from server." at 51.6%


Velcro
08-18-2011, 02:19 AM
Using RTMPdump (http://all-streaming-media.com/record-video-stream/rtmpdump-freeware-console-RTMP-downloading-application.htm) 2.4, a given file stops everytime at same percentage, with DEBUG: Got Play.Complete or Play.Stop from server. Assuming stream is complete.

Here is the command line:
rtmpdump -r "rtmp://groupemsix.fcod.llnwd.net/a3100/d1/mp4:production/regienum/m6_le-1945_180330_170820111945.mp4" --swfVfy "http://l3.player.M6.fr/swf/ReplayPlayer_20110718.swf" -o "Le 1945_M6_2011_08_17_19_45.flv" -V

And the result:
RTMPDump 2.4 git-b627335 2011-7-23
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Protocol : RTMP
DEBUG: Hostname : groupemsix.fcod.llnwd.net
DEBUG: Port : 1935
DEBUG: Playpath : mp4:production/regienum/m6_le-1945_180330_170820111945.mp4
DEBUG: tcUrl : rtmp://groupemsix.fcod.llnwd.net:1935/a3100/d1
DEBUG: swfUrl : http://l3.player.M6.fr/swf/ReplayPlayer_20110718.swf
DEBUG: app : a3100/d1
DEBUG: live : no
DEBUG: timeout : 30 sec
DEBUG: SWFSHA256:
DEBUG: 48 d8 10 27 b4 a5 3c 0c ba 99 c3 1b db 7f 3e 99
DEBUG: 0a 73 ea b1 52 fb 21 dc 4f ec ac 27 9b 73 d1 10
DEBUG: SWFSize : 1234759
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 03
DEBUG: HandShake: Client digest offset: 53
DEBUG: HandShake: Initial client digest:
DEBUG: 2e 9d 6f f2 6f 07 3f fb 0a 49 6e a6 77 2f 61 e3
DEBUG: ed f3 66 fd 50 3e b9 77 7f 72 52 c6 ef 87 bc 33
DEBUG: HandShake: Type Answer : 03
DEBUG: HandShake: Server Uptime : 926968595
DEBUG: HandShake: FMS Version : 4.0.2.1
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: 53 53 7b 79 a0 86 0e cf 74 c7 de bd f3 ae 35 c4
DEBUG: cc f9 31 b1 b5 fb 66 63 40 bf 59 be 2f 05 d1 0d
DEBUG: HandShake: Client signature calculated:
DEBUG: 42 ed e1 74 29 80 58 57 31 53 b1 9c 39 dc d4 18
DEBUG: 54 29 82 67 8f 0a 8e 9d b5 4a d8 36 e1 fa 83 1b
DEBUG: HandShake: Server sent signature:
DEBUG: f5 88 36 44 5f c7 46 c4 07 56 26 44 ae 2a 6b fb
DEBUG: 14 e6 96 61 c2 9c 60 39 ac ef f6 93 40 af 8c 5e
DEBUG: HandShake: Digest key:
DEBUG: 1e e5 f4 41 bd a9 7f 8a 4a cb 98 cb a8 45 d1 3b
DEBUG: bc 8e 6e 8c 09 d1 7c 97 97 36 9c 5e 2b b7 1a 98
DEBUG: HandShake: Signature calculated:
DEBUG: f5 88 36 44 5f c7 46 c4 07 56 26 44 ae 2a 6b fb
DEBUG: 14 e6 96 61 c2 9c 60 39 ac ef f6 93 40 af 8c 5e
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: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/4,0,2,3014>
DEBUG: Property: <Name: capabilities, NUMBER: 255.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: 4,0,2,3014>
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: RTMP_ClientPacket, received: invoke 29 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <createStream>
DEBUG: SendPlay, seekTime=0, stopTime=0, sending play: mp4:production/regienum/m6_le-1945_180330_170820111945.mp4
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
DEBUG: RTMP_ClientPacket, received: invoke 16419 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: RTMP_ClientPacket, received: invoke 57 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
DEBUG: RTMP_ClientPacket, received: invoke 40 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwdone>
DEBUG: HandleCtrl, received ctrl. type: 4, len: 6
DEBUG: HandleCtrl, Stream IsRecorded 1
DEBUG: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: HandleCtrl, received ctrl. type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 1
DEBUG: RTMP_ClientPacket, received: invoke 250 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetStream.Play.Reset>
DEBUG: Property: <Name: description, STRING: Playing and resetting production/regienum/m6_le-1945_180330_170820111945.mp4.>
DEBUG: Property: <Name: details, STRING: production/regienum/m6_le-1945_180330_170820111945.mp4>
DEBUG: Property: <Name: clientid, STRING: oAApgqYA>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Reset
DEBUG: RTMP_ClientPacket, received: invoke 244 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetStream.Play.Start>
DEBUG: Property: <Name: description, STRING: Started playing production/regienum/m6_le-1945_180330_170820111945.mp4.>
DEBUG: Property: <Name: details, STRING: production/regienum/m6_le-1945_180330_170820111945.mp4>
DEBUG: Property: <Name: clientid, STRING: oAApgqYA>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Start
Starting download at: 0.000 kB
DEBUG: RTMP_ClientPacket, received: notify 24 bytes
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: ignoring too small audio packet: size: 0
DEBUG: RTMP_ClientPacket, received: notify 44 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: code, STRING: NetStream.Data.Start>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: RTMP_ClientPacket, received: notify 462 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: duration, NUMBER: 1124.48>
DEBUG: Property: <Name: moovPosition, NUMBER: 32.00>
DEBUG: Property: <Name: width, NUMBER: 720.00>
DEBUG: Property: <Name: height, NUMBER: 404.00>
DEBUG: Property: <Name: videocodecid, STRING: avc1>
DEBUG: Property: <Name: audiocodecid, STRING: mp4a>
DEBUG: Property: <Name: avcprofile, NUMBER: 77.00>
DEBUG: Property: <Name: avclevel, NUMBER: 32.00>
DEBUG: Property: <Name: aacaot, NUMBER: 2.00>
DEBUG: Property: <Name: videoframerate, NUMBER: 24.10>
DEBUG: Property: <Name: audiosamplerate, NUMBER: 24000.00>
DEBUG: Property: <Name: audiochannels, NUMBER: 2.00>
DEBUG: Property: <Name: trackinfo, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 29205000.00>
DEBUG: Property: <Name: timescale, NUMBER: 25000.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: avc1>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 28039168.00>
DEBUG: Property: <Name: timescale, NUMBER: 24000.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: mp4a>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
INFO: Metadata:
INFO: duration 1124.48
INFO: moovPosition 32.00
INFO: width 720.00
INFO: height 404.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 77.00
INFO: avclevel 32.00
INFO: aacaot 2.00
INFO: videoframerate 24.10
INFO: audiosamplerate 24000.00
INFO: audiochannels 2.00
INFO: trackinfo:
INFO: length 29205000.00
INFO: timescale 25000.00
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 28039168.00
INFO: timescale 24000.00
INFO: sampledescription:
INFO: sampletype mp4a
0.565 kB / 0.00 sec (0.0%)
10.014 kB / 0.00 sec (0.0%)
193.650 kB / 1.80 sec (0.1%)
513.650 kB / 4.44 sec (0.3%)
769.650 kB / 6.44 sec (0.5%)
1153.650 kB / 9.64 sec (0.8%)
1473.650 kB / 12.52 sec (1.1%)

...

Velcro
08-18-2011, 02:20 AM
Result (part 2):
64610.429 kB / 580.80 sec (51.6%)
DEBUG: ignoring too small audio packet: size: 0
DEBUG: RTMP_ClientPacket, received: notify 102 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: code, STRING: NetStream.Play.Complete>
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: duration, NUMBER: 40.00>
DEBUG: Property: <Name: bytes, NUMBER: 66333131.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleCtrl, received ctrl. type: 1, len: 6
DEBUG: HandleCtrl, Stream EOF 1
DEBUG: RTMP_ClientPacket, received: invoke 254 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetStream.Play.Stop>
DEBUG: Property: <Name: description, STRING: Stopped playing production/regienum/m6_le-1945_180330_170820111945.mp4.>
DEBUG: Property: <Name: details, STRING: production/regienum/m6_le-1945_180330_170820111945.mp4>
DEBUG: Property: <Name: clientid, STRING: oAApgqYA>
DEBUG: Property: <Name: reason, STRING: >
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Stop
DEBUG: Invoking deleteStream
DEBUG: Got Play.Complete or Play.Stop from server. Assuming stream is complete

Others streams from same server don't do that. Is there a known issue and a way to fix it?

Thanks

EDIT: maybe useful info: RTMPDump 2.1d also stops at 51.6%

hyc
08-18-2011, 04:09 AM
No, no known issue with RTMPdump (http://all-streaming-media.com/record-video-stream/rtmpdump-freeware-console-RTMP-downloading-application.htm). Obviously the server thinks the stream is complete, what makes you think this has anything to do with rtmpdump at all? Most likely the actual file on the server is corrupted/truncated, especially since you say other streams from the same server have no problem. Are you able to view the complete stream using a regular Flash client?

Velcro
08-18-2011, 05:13 AM
Yes, I can.

Regular Flash player is here: hxxp://www.m6replay.fr/#/info/le-1945/32308 (I don't know if the stream is geoblocked, but is located in FR)

Thank you for the reply.