RTMP Digest Authentication....

cwbshaw . cwbshaw at gmail.com
Sat Mar 1 06:04:01 PST 2014


Hi....

I have been using gstreamer (in conjunction with SnowMix) to stream live to
YouTube. I work for a college, and our ISP offers a live streaming service
for connected colleges.

The problem is that their system requires the use of a name and password
which you normally enter by setting up Adobe Flash Live Media Encoder and
clicking 'Connect', at which point you're prompted for the name and
password.

I would like to get this working with gstreamer, but I can't easily get it
working. It turns out that they are using some kind of digest
authentication which involves challenges and responses, and I can't find a
way of constructing a gst-launch command that works with user and password
as part of the RTMP URL.

As I mention above, I CAN get it working, but it just isn't easy. When you
create the live stream on the ISP portal, you get a base RTMP URL, and a
Stream name. You also get a download link to download an AFMLE XML profile.
To get it working with gstreamer, here is what I have to do then:

* Downloaded the XML profile into Adobe Flash Live Media Encoder (I'm using
v3.2).

* Run wireshark and set it to filter for traffic to/from the ISP live
stream server.

* While wireshark is running, click 'Connect' in AFLME and enter the name
and password when prompted.....

* Once connected, use wireshark to expand the handshake packet which
precedes the RTMP Netconnection.Connect.Success and extract the RTMP
property values for app, tcUrl and swfUrl.

* Use these parameters and those from their portal to construct a
gst-launch rtmpsink string.....an example is below:

gst-launch-0.10 -v ................! rtmpsink "location=rtmp://
live.media.heanet.ie/d3c18cdc971746deaf48d7b29e8b16b6app=d3c18cdc971746deaf48d7b29e8b16b6?authmod=adobe&user=ByxqNA5aTfNYkDut&challenge=204AAA==&response=8ip5dhcRzZ3zKOD58Ho4pg==&opaque=4Mi8cA==
tcUrl=rtmp://
live.media.heanet.ie/d3c18cdc971746deaf48d7b29e8b16b6?authmod=adobe&user=ByxqNA5aTfNYkDut&challenge=204AAA==&response=8ip5dhcRzZ3zKOD58Ho4pg==&opaque=4Mi8cA==flashver=FMLE/3.0%20(compatible;%20FMSc/1.0)
swfUrl=rtmp://
live.media.heanet.ie/d3c18cdc971746deaf48d7b29e8b16b6?authmod=adobe&user=ByxqNA5aTfNYkDut&challenge=204AAA==&response=8ip5dhcRzZ3zKOD58Ho4pg==&opaque=4Mi8cA==playpath=d3c18cdc971746deaf48d7b29e8b16b6?adbe-live-event=d3c18cdc971746deaf48d7b29e8b16b6&adbe-record-mode=record".................


Obviously, this is a very convoluted way of doing this, and not really a
viable option unless you are quite technically proficient.

I was wondering if anyone reading this could tell me if there is any way I
can do all of this natively with gst-launch without going thru AFLME +
Wireshark?

Might there be a way to supply name+password in the RTMP URL? Or even have
gst-launch prompt for name and password?

I have done a lot of googling but can't seem to find any examples of this
kind of problem....so I just thought I'd ask here in case I missed
something.

Thanx in advance for any help.

Chris.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140301/79bd96eb/attachment.html>


More information about the gstreamer-devel mailing list