[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