[rtmpdump] [PATCH] Better URL decoding support

Steven Penny svnpenn at gmail.com
Thu Oct 25 02:29:33 CEST 2012


On Wed, Oct 24, 2012 at 6:37 PM, NhJm wrote:
> rtmp://cp67126.edgefcs.net/on%64emand/mp4:mediapm/ovp/content/test/video/spacealone%68d_sounas_640_300.mp4
> (random letters in the app and playpath have been urlencoded)

You have a good example. This shows that some (if not most) servers will accept
encoded characters. However I have a counter.

Even if I use your clever "space" trick, the server in question will still
reject other encoded characters. Notice I encoded the final "h" of the playpath,
and that I used "-y" with "official" RtmpDump in order to avoid decoding for the
purpose of this example.

$ rtmpdump -o a.flv -r rtmp://freeview.fms.visionip.tv/live -y "tvnetwork-helle
nictv-sigma-hsslive-25f-4x3-SD%68 " -V
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Protocol : RTMP
DEBUG: Hostname : freeview.fms.visionip.tv
DEBUG: Port     : 1935
DEBUG: Playpath : tvnetwork-hellenictv-sigma-hsslive-25f-4x3-SD%68
DEBUG: tcUrl    : rtmp://freeview.fms.visionip.tv:1935/live
DEBUG: app      : live
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 : 96850052
DEBUG: HandShake: FMS Version   : 3.0.1.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: HandleCtrl, received ctrl. type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 0
DEBUG: HandleChangeChunkSize, received: chunk size change to 4096
DEBUG: RTMP_ClientPacket, received: invoke 261 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:             fmsVer, STRING:     FMS/3,5,7,7009>
DEBUG: Property: <Name:       capabilities, NUMBER:     31.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.Su
ccess>
DEBUG: Property: <Name:        description, STRING:     Connection succeeded.>
DEBUG: Property: <Name:               data, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name:            version, STRING:     3,5,7,7009>
DEBUG: (object end)
DEBUG: Property: <Name:           clientid, NUMBER:     1626554004.00>
DEBUG: Property: <Name:     objectEncoding, NUMBER:     0.00>
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 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: tvnetwork-hellenictv-sigm
a-hsslive-25f-4x3-SD%68
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
DEBUG: HandleCtrl, received ctrl. type: 6, len: 6
DEBUG: HandleCtrl, Ping 8892
DEBUG: sending ctrl. type: 0x0007
DEBUG: HandleCtrl, received ctrl. type: 6, len: 6
DEBUG: HandleCtrl, Ping 17238
DEBUG: sending ctrl. type: 0x0007
DEBUG: HandleCtrl, received ctrl. type: 6, len: 6
DEBUG: HandleCtrl, Ping 25506


More information about the rtmpdump mailing list