[rtmpdump] Discrepancies Between Dumped Video And Source Video

Howard Chu hyc at highlandsun.com
Wed Jul 21 21:00:49 CEST 2010


Nickolaus Padgett wrote:
> 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.

The RTMP protocol only transports FLV format. FMS always rewraps whatever your 
source into an FLV container.

> 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?

The metadata in your log certainly implies that there are two video and two 
audio streams.

> 3) The RTMPdump video is not seekable, however, the source video is seekable.

Sounds like your player is broken. FLVs should always be 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.
> _______________________________________________
> rtmpdump mailing list
> rtmpdump at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/rtmpdump
>


More information about the rtmpdump mailing list