host50 $ ./rtmpdump -V -r rtmp://[cloudfront_streaming_distribution_host].cloudfront.net:1935/cfx/st --app "cfx/st" --playpath "mp4:myvideofile.f4v"
RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Parsing...
DEBUG: Parsed protocol: 0
DEBUG: Parsed host : [cloudfront_streaming_distribution_host].cloudfront.net
DEBUG: Parsed app : cfx
WARNING: You haven't specified an output file (-o filename), using stdout
DEBUG: Protocol : RTMP
DEBUG: Hostname : [cloudfront_streaming_distribution_host].cloudfront.net
DEBUG: Port : 1935
DEBUG: Playpath : mp4:myvideofile.f4v
DEBUG: tcUrl : rtmp://[cloudfront_streaming_distribution_host].cloudfront.net:1935/cfx/st
DEBUG: app : cfx/st
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 : 1249013055
DEBUG: HandShake: FMS Version : 3.5.7.1
WARNING: HandShake: client signature does not match!
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1310720
DEBUG: HandleClientBW: client BW = 2500000 2
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/3,5,7,7009>
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,7,7009>
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:myvideofile.f4v
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: 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 164 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 myvideofile.f4v.>
DEBUG: Property: <Name: details, STRING: myvideofile.f4v>
DEBUG: Property: <Name: clientid, STRING: 0BiIux^w>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Reset
DEBUG: RTMP_ClientPacket, received: invoke 158 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 myvideofile.f4v.>
DEBUG: Property: <Name: details, STRING: myvideofile.f4v>
DEBUG: Property: <Name: clientid, STRING: 0BiIux^w>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.Start
Starting download at: 5137.107 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 598 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: duration, NUMBER: 89.67>
DEBUG: Property: <Name: moovPosition, NUMBER: 36.00>
DEBUG: Property: <Name: width, NUMBER: 960.00>
DEBUG: Property: <Name: height, NUMBER: 540.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: 40.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: 8066058.00>
DEBUG: Property: <Name: timescale, NUMBER: 90000.00>
DEBUG: Property: <Name: language, STRING: eng>
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: 3954688.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 begin)
DEBUG: Property: <Name: length, NUMBER: 8066058.00>
DEBUG: Property: <Name: timescale, NUMBER: 90000.00>
DEBUG: Property: <Name: language, STRING: eng>
DEBUG: Property: <Name: sampledescription, OBJECT>
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: sampletype, STRING: amf0>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
INFO: Metadata:
INFO: duration 89.67
INFO: moovPosition 36.00
INFO: width 960.00
INFO: height 540.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 77.00
INFO: avclevel 40.00
INFO: aacaot 2.00
INFO: videoframerate 29.97
INFO: audiosamplerate 44100.00
INFO: audiochannels 2.00
INFO: trackinfo:
INFO: length 8066058.00
INFO: timescale 90000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 3954688.00
INFO: timescale 44100.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype mp4a
INFO: length 8066058.00
INFO: timescale 90000.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype amf0
DEBUG: RTMP_ClientPacket, received: notify 4862 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: data, STRING: <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Descript>
DEBUG: (object end)
DEBUG: (object end)
FLV V
onMetaDaduration@Vk33333
moovPosition@Bwidth@?height@??
videocodecidavc1
audiocodecidmp4a
audiochannels@cltrackinfoaot@videoframerate@=?S?Uk(audiosamplerate@刀
lengthA^?? timescale@?languageengsampledescription
sampletypeavc1 lengthAN, timescale@ languageengsampledescription
sampletypemp4a lengthA^?? timescale@?languageengsampledescription
5137.777 kB / 0.00 sec (0.0%)sampletypeamf0 a -M@(gM@(?R?"??*>?? ?-h?sR8 K!Be??@v???E?Yh ?Df?>?j??u`|Qa?? (?) ???2|p
DEBUG: RTMP_ClientPacket, received: notify 224 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: duration, NUMBER: 89.62>
DEBUG: Property: <Name: width, NUMBER: 960.00>
DEBUG: Property: <Name: height, NUMBER: 540.00>
DEBUG: Property: <Name: videodatarate, NUMBER: 5120.00>
DEBUG: Property: <Name: framerate, NUMBER: 29.97>
DEBUG: Property: <Name: videocodecid, NUMBER: 7.00>
DEBUG: Property: <Name: audiodatarate, NUMBER: 128.00>
DEBUG: Property: <Name: audiodelay, NUMBER: 0.04>
DEBUG: Property: <Name: audiocodecid, NUMBER: 10.00>
DEBUG: Property: <Name: canSeekToEnd, BOOLEAN: TRUE>
DEBUG: (object end)
DEBUG: (object end)
INFO: Metadata:
INFO: duration 89.62
INFO: width 960.00
INFO: height 540.00
INFO: videodatarate 5120.00
INFO: framerate 29.97
INFO: videocodecid 7.00
INFO: audiodatarate 128.00
INFO: audiodelay 0.04
INFO: audiocodecid 10.00
INFO: canSeekToEnd TRUE
v?!??7????
onMetaData
videodatarate@???;dZ@?heframerate@=?S
audiodatarate@` videocodecid@
audiodelay??n??O?;
audiocodecid@$
canSeekToEnd
[lots of binary data here]
Reference:
https://forums.aws.amazon.com/thread.jspa?threadID=41165
http://aws.amazon.com/articles/4112
http://www.bucketexplorer.com/documentation/amazon-s3--how-to-stream-flv-video-from-amazons3.html
https://forums.aws.amazon.com/thread.jspa?threadID=40374
Download rtmpdump for Mac/Snow Leopard:
http://trick77.com/downloads/
Source:
http://trick77.com/2010/07/31/capture-flash-flv-streams-rtmpdump-mac-os-x/
http://www.videohelp.com/tools/RTMPDump