[rtmpdump] rtmpdump reporting wrong video duration

orokara orokara at gmail.com
Thu Sep 30 06:21:50 CEST 2010


I'm working on a plugin for XBMC to view content from VBS.tv and have
noticed that both libRTMP and rtmpdump are stopping the download after a few
seconds, regardless of swf verification.  Looking at the logs, rtmpdump is
reporting the wrong duration of the video.  Below is verbose output along
with two streams from the site to try (one that works properly and another
that doesn't)

Not working (wrong duration):  rtmp://
cp79855.edgefcs.net/ondemand/mp4:s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I
Working (right duration):  rtmp://
cp79855.edgefcs.net/ondemand/mp4:s/lobXdoMTrk0eUK3GR2saYRtbSR4MUQxJ/DOcJ-FxaFrRg4gtGEwOjEzYzptcTsjvV

Verbose output:
--
RTMPDump v2.2e
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Parsing...
DEBUG: Parsed protocol: 0
DEBUG: Parsed host    : cp79855.edgefcs.net
DEBUG: Parsed app     : ondemand
DEBUG: Protocol : RTMP
DEBUG: Hostname : cp79855.edgefcs.net
DEBUG: Port     : 1935
DEBUG: Playpath :
mp4:s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I
DEBUG: tcUrl    : rtmp://96.6.44.127/ondemand?_fcs_vhost=cp79855.edgefcs.net
DEBUG: swfUrl   :
http://ak.c.ooyala.com/cacheable/dbb5e75354695298b11a159b7f828148/player_v2.swf?version=2&embedType=flashplayer.as&hide=all&autoplay=1&embedCode=htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH
DEBUG: pageUrl  : http://www.vbs.tv
DEBUG: app      : ondemand?_fcs_host=cp79855.edgefcs.net
DEBUG: live     : no
DEBUG: timeout  : 30 sec
DEBUG: SWFSHA256:
DEBUG: 89 03 7f 73 f5 ce a5 4e 4b 47 3b 4e d7 e9 7e e1
DEBUG: 4e 15 76 ea 0d 43 55 93 20 d0 6f e5 39 05 72 20
DEBUG: SWFSize  : 527362
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 03
DEBUG: HandShake: Client digest offset: 244
DEBUG: HandShake: Initial client digest:
DEBUG: 04 25 4f 49 9a c8 39 ce 1a 6c 46 84 3e 6f c4 b9
DEBUG: 5b 9b a7 53 30 91 df 8c 66 3e 1d ab c0 a1 9f 85
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 2092000712
DEBUG: HandShake: FMS Version   : 3.5.2.1
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: c7 cc 1f b8 4b 6a bd e0 37 37 e0 89 55 4e 8a 59
DEBUG: 71 41 84 20 c0 93 26 88 02 f8 8a 60 52 99 e5 5d
DEBUG: HandShake: Client signature calculated:
DEBUG: 15 81 ac 2c 3f dd ca 20 14 b7 6c 93 f6 9f a9 81
DEBUG: 8e 29 80 33 7c e5 a7 00 0d 22 79 2c 39 a9 f3 2b
DEBUG: HandShake: Server sent signature:
DEBUG: 72 5d b5 92 53 82 c5 1d be ec f4 cd 2e 20 39 67
DEBUG: 77 4c b1 c8 13 d7 23 b7 22 3a 87 f5 b8 4e 0b 37
DEBUG: HandShake: Digest key:
DEBUG: 93 20 55 41 56 a6 d5 ac 3c e9 07 7d 49 c7 49 4c
DEBUG: 54 7c 6a 9b 5f 9c c1 7a cf 33 1d 9e 28 c8 57 19
DEBUG: HandShake: Signature calculated:
DEBUG: 72 5d b5 92 53 82 c5 1d be ec f4 cd 2e 20 39 67
DEBUG: 77 4c b1 c8 13 d7 23 b7 22 3a 87 f5 b8 4e 0b 37
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1250000
DEBUG: HandleClientBW: client BW = 1250000 2
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:             fmsVer, STRING:    FMS/3,5,3,816a>
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,3,816a>
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:s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
DEBUG: RTMP_ClientPacket, received: invoke 10275 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: RTMP_ClientPacket, received: invoke 20515 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: HandleCtrl, received ctrl. type: 4, len: 6
DEBUG: HandleCtrl, Stream IsRecorded 1
DEBUG: RTMP_ClientPacket, received: invoke 276 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
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I.>
DEBUG: Property: <Name:            details, STRING:
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I>
DEBUG: Property: <Name:           clientid, STRING:    5pt4Uf5m>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Reset
DEBUG: HandleCtrl, received ctrl. type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 1
DEBUG: RTMP_ClientPacket, received: invoke 270 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
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I.>
DEBUG: Property: <Name:            details, STRING:
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I>
DEBUG: Property: <Name:           clientid, STRING:    5pt4Uf5m>
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: invoke 30755 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: RTMP_ClientPacket, received: notify 494 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:           duration, NUMBER:    8.66>
DEBUG: Property: <Name:       moovPosition, NUMBER:    28.00>
DEBUG: Property: <Name:              width, NUMBER:    854.00>
DEBUG: Property: <Name:             height, NUMBER:    480.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:    51.00>
DEBUG: Property: <Name:             aacaot, NUMBER:    2.00>
DEBUG: Property: <Name:     videoframerate, NUMBER:    29.97>
DEBUG: Property: <Name:    audiosamplerate, NUMBER:    44100.00>
DEBUG: Property: <Name:      audiochannels, NUMBER:    2.00>
DEBUG: Property: <Name:          trackinfo, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:             length, NUMBER:    25800.00>
DEBUG: Property: <Name:          timescale, NUMBER:    2997.00>
DEBUG: Property: <Name:           language, STRING:    und>
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:    381952.00>
DEBUG: Property: <Name:          timescale, NUMBER:    44100.00>
DEBUG: Property: <Name:           language, STRING:    eng>
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              8.66
INFO:   moovPosition          28.00
INFO:   width                 854.00
INFO:   height                480.00
INFO:   videocodecid          avc1
INFO:   audiocodecid          mp4a
INFO:   avcprofile            77.00
INFO:   avclevel              51.00
INFO:   aacaot                2.00
INFO:   videoframerate        29.97
INFO:   audiosamplerate       44100.00
INFO:   audiochannels         2.00
INFO: trackinfo:
INFO:   length                25800.00
INFO:   timescale             2997.00
INFO:   language              und
INFO: sampledescription:
INFO:   sampletype            avc1
INFO:   length                381952.00
INFO:   timescale             44100.00
INFO:   language              eng
INFO: sampledescription:
INFO:   sampletype            mp4a
64.000 kB / 0.77 sec (8.8%)
DEBUG: RTMP_ClientPacket, received: invoke 40995 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
384.000 kB / 6.01 sec (69.3%)
DEBUG: RTMP_ClientPacket, received: invoke 51235 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
576.000 kB / 7.61 sec (87.8%)
DEBUG: RTMP_ClientPacket, received: invoke 61475 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
640.000 kB / 8.64 sec (99.7%)
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:    0.00>
DEBUG: Property: <Name:              bytes, NUMBER:    665049.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 280 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
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I.>
DEBUG: Property: <Name:            details, STRING:
s/htajlnOnOKcUIcrlJuJrvNCnvPzIJ2qH/DOcJ-FxaFrRg4gtGEwOjFyazptcTv29I>
DEBUG: Property: <Name:           clientid, STRING:    5pt4Uf5m>
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
649.769 kB / 8.64 sec (99.7%)
DEBUG: RTMP_Read returned: 10003
Download may be incomplete (downloaded about 99.70%), try resuming
DEBUG: Closing connection.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mplayerhq.hu/pipermail/rtmpdump/attachments/20100929/4cfe6c12/attachment-0001.htm>


More information about the rtmpdump mailing list