Difficulty saving a video

Nigel Taylor njtaylor at asterisk.demon.co.uk
Mon Jul 18 06:14:33 EDT 2011


Hi,

The auth part depends on the IP address, so you can't cut and paste.

rtmpsvr requires you to directs the traffic to it.

On Debian (Linux)
I have a user rtmp, under which I run rtmpsrv. The traffic to port 1935 
is redirected using iptables -

iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner rtmp \
  -j REDIRECT



For mac don't have one to try this on..

sudo ipfw add 40 fwd 127.0.0.1,1935 tcp from any to any 1935
sudo ipfw add 40 fwd 127.0.0.1,1935 tcp from any to any 1935 not uid RTMP

See 
http://stream-recorder.com/forum/use-rtmpdump-rtmpsrv-mac-os-x-t7662.html

Regards

Nigel Taylor

On 07/18/11 05:36, Sam Kuper wrote:
> On 18 July 2011 02:33, Nigel Taylor<njtaylor at asterisk.demon.co.uk>  wrote:
>> You can also use rtmpsrv (supplied with rtmpdump), this then captures
>> browser requests and uses them as parameters for rtmpdump.
>
> Nifty! Or at least, it would be if rtmpsrv worked on my Mac. As it is,
> it just outputs:
>
> RTMP Server 2.3
> (c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL
>
> Streaming on rtmp://0.0.0.0:1935
>
> And that's all, even when the video is streaming in Firefox. Not sure
> why it's not working, though. Changing the Apple Firewall settings to
> "Allow incoming connections" didn't seem to make a difference.
>
> (Anyone know, incidentally, whether it's necessary to set the firewall
> that way for rtmpsrv to work? I normally don't allow incoming
> connections but edited the rule in this case to see if it helped.)
>
>> If you compare,
>> get_iplayer is not passing the correct parameters to rtmpdump, which why you
>> get the access error.
>
> Aha! Thank you for pointing this out. Is this a bug in get_iplayer? If
> so, ought it to be reported somewhere, or is this mailing list thread
> sufficient?
>
>> $ rtmpsrv
>> RTMP Server v2.4
>> (c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL
>>
>> Streaming on rtmp://0.0.0.0:1935
>> WARNING: Trying different position for client digest!
>>
>> rtmpdump -r "rtmp://195.59.58.142:1935/ondemand?_fcs_vhost=cp54782.edgefcs.net&auth=daEbYaWcWd5aQcXd7aUd1cWdid1cpcJdzaJ-boi4kz-bWG-BntFIqDnHDwHwwI&aifp=v001&slist=secure/s_geog/s_geog_ec_03049_16x9_bb" -a "ondemand?_fcs_vhost=cp54782.edgefcs.net&auth=daEbYaWcWd5aQcXd7aUd1cWdid1cpcJdzaJ-boi4kz-bWG-BntFIqDnHDwHwwI&aifp=v001&slist=secure/s_geog/s_geog_ec_03049_16x9_bb" -f "LNX 10,2,152,27" -W "http://www.bbc.co.uk/emp/revisions/18269_21576_10player.swf?revision=18269_21576" -p "http://www.bbc.co.uk/learningzone/clips/thermal-imagery-in-the-desert/3204.html" -C B:0 -y "secure/s_geog/s_geog_ec_03049_16x9_bb" -o s_geog_ec_03049_16x9_bb.flv
>
> I hoped that copying that line and pasting it into Terminal would
> work, but it just yielded:
>
> RTMPDump 2.3
> (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
> Connecting ...
> INFO: Connected...
> ERROR: rtmp server sent error
> ERROR: rtmp server requested close
>
>
> So I tried it with --verbose, which gave:
>
>
> RTMPDump 2.3
> (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
> DEBUG: Protocol : RTMP
> DEBUG: Hostname : 195.59.58.142
> DEBUG: Port     : 1935
> DEBUG: Playpath : secure/s_geog/s_geog_ec_03049_16x9_bb
> DEBUG: tcUrl    :
> rtmp://195.59.58.142:1935/ondemand?_fcs_vhost=cp54782.edgefcs.net&auth=daEbYaWcWd5aQcXd7aUd1cWdid1cpcJdzaJ-boi4kz-bWG-BntFIqDnHDwHwwI&aifp=v001&slist=secure/s_geog/s_geog_ec_03049_16x9_bb
> DEBUG: swfUrl   :
> http://www.bbc.co.uk/emp/revisions/18269_21576_10player.swf?revision=18269_21576
> DEBUG: pageUrl  :
> http://www.bbc.co.uk/learningzone/clips/thermal-imagery-in-the-desert/3204.html
> DEBUG: app      :
> ondemand?_fcs_vhost=cp54782.edgefcs.net&auth=daEbYaWcWd5aQcXd7aUd1cWdid1cpcJdzaJ-boi4kz-bWG-BntFIqDnHDwHwwI&aifp=v001&slist=secure/s_geog/s_geog_ec_03049_16x9_bb
> DEBUG: flashVer : LNX 10,2,152,27
> DEBUG: live     : no
> DEBUG: timeout  : 30 sec
> DEBUG: SWFSHA256:
> DEBUG: 75 6e f5 b1 b3 3f 59 e8 86 80 ba 06 bc bc 96 7e
> DEBUG: 34 46 8c 82 11 9d f9 e3 78 99 65 51 3e 7e 57 f5
> DEBUG: SWFSize  : 1023131
> DEBUG: Setting buffer time to: 36000000ms
> Connecting ...
> DEBUG: RTMP_Connect1, ... connected, handshaking
> DEBUG: HandShake: Client type: 03
> DEBUG: HandShake: Client digest offset: 244
> DEBUG: HandShake: Initial client digest:
> DEBUG: 47 9a 4f a6 2c 78 dd 64 93 22 75 e3 9d fe b5 73
> DEBUG: 48 21 1d 7d 58 cc 75 c7 87 59 9a ad e5 fc 6a 6b
> DEBUG: HandShake: Type Answer   : 03
> DEBUG: HandShake: Server Uptime : 16475685
> DEBUG: HandShake: FMS Version   : 3.5.6.1
> DEBUG: HandShake: Calculated digest key from secure key and server digest:
> DEBUG: f7 2c 61 64 4d e1 e7 e9 22 78 2d c9 e3 d7 88 01
> DEBUG: 1f 06 14 37 80 26 da 0e 3a d9 f5 aa 5c 2e 35 d2
> DEBUG: HandShake: Client signature calculated:
> DEBUG: df 5b dc 03 16 f0 1f 55 e2 27 26 32 1c 49 89 fe
> DEBUG: b7 75 29 31 ad 19 93 f7 98 1f 73 04 b9 f2 37 15
> DEBUG: HandShake: Server sent signature:
> DEBUG: d2 d7 25 d9 23 5c ed 30 ca c1 a3 25 01 78 a8 28
> DEBUG: 75 97 ec 6b d3 0a 57 89 2e cb 98 bd 7a b7 bf de
> DEBUG: HandShake: Digest key:
> DEBUG: b5 8a eb eb 26 7d 8e fa 58 9b 11 56 f2 ea b3 9d
> DEBUG: ed cd a8 c3 71 50 f9 c3 d1 ca f0 51 39 f8 11 33
> DEBUG: HandShake: Signature calculated:
> DEBUG: d2 d7 25 d9 23 5c ed 30 ca c1 a3 25 01 78 a8 28
> DEBUG: 75 97 ec 6b d3 0a 57 89 2e cb 98 bd 7a b7 bf de
> DEBUG: HandShake: Genuine Adobe Flash Media Server
> DEBUG: HandShake: Handshaking finished....
> DEBUG: RTMP_Connect1, handshaked
> DEBUG: Invoking connect
> INFO: Connected...
> DEBUG: RTMP_ClientPacket, received: invoke 134 bytes
> DEBUG: (object begin)
> DEBUG: Property: NULL
> DEBUG: (object begin)
> DEBUG: Property:<Name:              level, STRING:	error>
> DEBUG: Property:<Name:               code,
> STRING:	NetConnection.Connect.Rejected>
> DEBUG: Property:<Name:        description, STRING:	[
> AccessManager.Reject ] : Access denied!>
> DEBUG: (object end)
> DEBUG: (object end)
> DEBUG: HandleInvoke, server invoking<_error>
> ERROR: rtmp server sent error
> DEBUG: RTMP_ClientPacket, received: invoke 18 bytes
> DEBUG: (object begin)
> DEBUG: Property: NULL
> DEBUG: (object end)
> DEBUG: HandleInvoke, server invoking<close>
> ERROR: rtmp server requested close
> DEBUG: Closing connection.
>
>
> I wonder if the auth strings have to somehow match the requesting
> machine? I.e. if they're hashes of some property of the client, like
> IP address and maybe other stuff too? If so, that could explain why
> the command rtmpsrv generated for you didn't work for me. If so, then
> I guess either I need to somehow get rtmpsrv working (any
> suggestions?) or maybe resort to WireShark or something, in order to
> discover which variables are being passed to the server when my
> browser views the video.
>
> Am I on the right track, or barking up the wrong tree?
>
> Thanks again for the help so far. We must be nearly there!
>
> Sam
>
> _______________________________________________
> get_iplayer mailing list
> get_iplayer at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/get_iplayer
>




More information about the get_iplayer mailing list