[rtmpdump] r405 - in trunk: librtmp/Makefile librtmp/handshake.h librtmp/rtmp.c librtmp/rtmp.h rtmpdump.c rtmpgw.c rtmpsuck.c

Howard Chu hyc at highlandsun.com
Sun Mar 28 07:54:21 CEST 2010

NhJm wrote:
> How exactly would one quote a value? What if a value contains spaces?
> ie. flashVer, a connect string, or an output filename? (Not counting
> URLs which can be encoded, although URLs with unencoded spaces may
> theorhetically be required by a server.)

The output filename is not handled by these changes. I'm only talking about 
options that directly affect the RTMP negotiation, since they will be needed 
universally. (E.g., in XBMC, mplayer, or any other app that wants to access an 
RTMP stream, independent of what they do with the stream once they connect to it.)

Servers cannot require unencoded spaces. Unencoded spaces are illegal in URLs. 
So, for spaces in values, just URLencode them, e.g. flashVer=LNX%2010.0.3.22

> Also, why not just drop the
> -r and have all non-switch arguments be treated as -r values?

Because there are options that are only relevant to a specific application 
(e.g. rtmpdump) and those are separate from options that are relevant to the 
RTMP session.

> Shifting rtmpdump to this sounds fine, but please don't eliminate
> support for the old-style switches. :-)

Right. At least, not yet. Down the road there should be no need to maintain 
both styles.

> On Sat, Mar 27, 2010 at 3:39 PM, Howard Chu<hyc at highlandsun.com>  wrote:
>> hyc wrote:
>>> Author: hyc
>>> Date: Sat Mar 27 06:35:04 2010
>>> New Revision: 405
>>> Log:
>>> Option restructuring, allow most options to be passed along
>>> with the RTMP URL, clean up
>> This moves the option parsing I wrote for ffmpeg / mplayer into librtmp.
>> This will make it easier to support option parsing in 3rd party code, they
>> will just need to link against a current librtmp to automatically get
>> support for whatever new options come along.
>> The approach is pretty simple - the options are appended to the main URL,
>> separated by spaces. I'll probably shift rtmpdump and rtmpgw over to this
>> new approach too.
>> So instead of
>>   rtmpdump --rtmp rtmp://server/app/path --swfurl http://server/path
>> --pageurl http://server/path
>> You could use
>>   rtmpdump -r "rtmp://server/app/path swfurl=http://server/path
>> pageurl=http://server/path"
>> Ideally we can unify all of this so that a single syntax works identically
>> for rtmpdump, rtmpgw, and all the other apps.
>> _______________________________________________
>> rtmpdump mailing list
>> rtmpdump at mplayerhq.hu
>> https://lists.mplayerhq.hu/mailman/listinfo/rtmpdump
> _______________________________________________
> rtmpdump mailing list
> rtmpdump at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/rtmpdump

   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

More information about the rtmpdump mailing list