[rtmpdump] Discrepancies Between Dumped Video And Source Video
Nickolaus Padgett
nick.padgett at gmail.com
Wed Jul 21 20:45:55 CEST 2010
There appear to be several discrepancies between the video I captured
with RTMPdump and the source video for me FMS server.
1) The source video is mp4, however, the RTMPdump video appears to be
in a flv container. Is this correct? I read something about this
here http://stream-recorder.com/forum/showpost.php?p=19224&postcount=5.
2) The source video is 74.1 MB on disk (74,139,578 bytes), however,
the RTMPdump video is 36.5 MB on disk (36,457,236 bytes). Why is
this? Are there elementary streams in the source video that are not
being transfered from the RTMP server?
3) The RTMPdump video is not seekable, however, the source video is seekable.
Below is the verbose output for my stream.
RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Protocol : RTMP
DEBUG: Hostname : *********************
DEBUG: Port : ****
DEBUG: Playpath : mp4:1004/2010/06/05/11366_9PrATeiy
DEBUG: tcUrl : rtmp://*********************:****/********
DEBUG: app : ********
DEBUG: live : no
DEBUG: timeout : 30 sec
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Type Answer : 03
DEBUG: HandShake: Server Uptime : 1568642290
DEBUG: HandShake: FMS Version : 3.5.2.1
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: RTMP_ClientPacket, received: invoke 240 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/3,5,3,863>
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,863>
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:1004/2010/06/05/11366_9PrATeiy
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 20 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result id 0 without matching request
DEBUG: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: HandleCtrl, received ctrl. type: 4, len: 6
DEBUG: HandleCtrl, Stream IsRecorded 1
DEBUG: HandleCtrl, received ctrl. type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 1
DEBUG: RTMP_ClientPacket, received: invoke 202 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 1004/2010/06/05/11366_9PrATeiy.>
DEBUG: Property: <Name: details,
STRING: 1004/2010/06/05/11366_9PrATeiy>
DEBUG: Property: <Name: clientid, STRING: SKW4olUV>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Reset
DEBUG: RTMP_ClientPacket, received: invoke 196 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
1004/2010/06/05/11366_9PrATeiy.>
DEBUG: Property: <Name: details,
STRING: 1004/2010/06/05/11366_9PrATeiy>
DEBUG: Property: <Name: clientid, STRING: SKW4olUV>
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 722 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: duration, NUMBER: 599.37>
DEBUG: Property: <Name: moovPosition, NUMBER: 36.00>
DEBUG: Property: <Name: width, NUMBER: 480.00>
DEBUG: Property: <Name: height, NUMBER: 360.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: 22.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: 26431488.00>
DEBUG: Property: <Name: timescale, NUMBER: 44100.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 53945946.00>
DEBUG: Property: <Name: timescale, NUMBER: 90000.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 1796400.00>
DEBUG: Property: <Name: timescale, NUMBER: 2997.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: 26431604.00>
DEBUG: Property: <Name: timescale, NUMBER: 44100.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 begin)
DEBUG: Property: <Name: length, NUMBER: 600.00>
DEBUG: Property: <Name: timescale, NUMBER: 600.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: length, NUMBER: 600.00>
DEBUG: Property: <Name: timescale, NUMBER: 600.00>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
INFO: Metadata:
INFO: duration 599.37
INFO: moovPosition 36.00
INFO: width 480.00
INFO: height 360.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 77.00
INFO: avclevel 22.00
INFO: aacaot 2.00
INFO: videoframerate 29.97
INFO: audiosamplerate 44100.00
INFO: audiochannels 2.00
INFO: trackinfo:
INFO: length 26431488.00
INFO: timescale 44100.00
INFO: sampledescription:
INFO: length 53945946.00
INFO: timescale 90000.00
INFO: sampledescription:
INFO: length 1796400.00
INFO: timescale 2997.00
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 26431604.00
INFO: timescale 44100.00
INFO: sampledescription:
INFO: sampletype mp4a
INFO: length 600.00
INFO: timescale 600.00
INFO: sampledescription:
INFO: length 600.00
INFO: timescale 600.00
INFO: sampledescription:
35585.472 kB / 599.27 sec (99.9%)
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: 132.00>
DEBUG: Property: <Name: bytes, NUMBER: 36455151.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 206 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
1004/2010/06/05/11366_9PrATeiy.>
DEBUG: Property: <Name: details,
STRING: 1004/2010/06/05/11366_9PrATeiy>
DEBUG: Property: <Name: clientid, STRING: SKW4olUV>
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
35601.463 kB / 599.36 sec (99.9%)
DEBUG: RTMP_Read returned: 0
Download complete
DEBUG: Closing connection.
More information about the rtmpdump
mailing list