Question / Help Using OBS with Azure Live Streaming

streamB

New Member
Microsoft Azure recently added support for live streams via RTMP. Have not been able to be successfully make this work with OBS. Microsoft's ingress parameters appear to be most completely defined for 3rd party encoders here (http://azure.microsoft.com/blog/2014/09/18/azure-media-services-rtmp-support-and-live-encoders/). Basically it requires:

  • RTMP output
  • H.264 video and AAC audio codec output
  • Key frame or GOP (Group of pictures) alignment across video qualities
  • 2 second key frame interval
  • Unique stream names for each quality
  • Strict CBR encoding recommended for optimum Adaptive bitrate performance.
OBS Settings I've tried...
Encoding: x264 or Quick Sync, Use CBR, Enable CBR Padding, 1200 bitrate. AAC @ 48kHz 128kb stereo
Broadcast: custom rtmp. URL is the ingress url provided by the azure live channel. play path is not blank.
Advanced: keyframe interval=2, use CFR.

Everything else is set at default values.

When I start stream, I receive one of two messages:

1. Could not access the specified channel or stream key. This could be because the key/channel is invalid, or because the server still thinks you are logged in. RFMP SockBuf_Fill, remote host closed connection.

2. Disconnected by Server

I've tried resetting the channel on azure, and can make things like wirecast and vMix work correctly, but I'm not finding the secret sauce with OBS. Any suggestions about making this work?

Log file form one of my many attempts attached.
 

Attachments

  • 2014-10-01-1223-53.log
    58.6 KB · Views: 191
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
Are you sure you entered the URL correctly? Just so you know, OBS does not append the stream key to the URL -- you have to enter in the URL separately from the stream key. Appending the stream key to the end of the URL will not work.
 

streamB

New Member
Azure doesn't provide me with a stream key, but I think that becomes the program name. In other RTMP streaming programs, any text will work for the key and azure just accepts it.

I copied the ingest URL from the azure management portal, and have entered it into OBS as follows:
rtmp://myname.channel.mediaservices.windows.net:1935/live/4724e22caec242220171946f7b52b57

(note that this isn't the actual URL, I modified it slightly to avoid posting a URL others could stream to).

Stream Key has been "test" or similar, which again has worked in other broadcasting packages. Also tried blank key without success.
I've also tried appending a key onto the end of the URL, like:
rtmp://myname.channel.mediaservices.windows.net:1935/live/4724e22caec242220171946f7b52b57/test

That didn't work either.

Thanks for your help!
 

PielG

New Member
I followed @streamB's steps above and had the same failure to broadcast until I realized the Channel name (case insensitive) as shown in the Azure media services Channels list under "Name" must be added to the Play Path/Stream Key text box below the URL in OBS. Once I did that, streaming worked like a champ, though CPU utilization at higher bitrates (2Mbit & above) are quite high on my i7 notebook. I added desktop capture as a source and experienced one total hang of the application during streaming with both webcam and desktop sources requiring a reboot, and once more during streaming I had a total lockup of Win10 - never had that before - requiring a hard power button shutdown.

I am not using OBS Multiplatform as I haven't been able to find the 2sec keyframe setting and streaming bombs within the first couple of seconds - presumably due to the missing keyframe setting required by AMS.

Kudos to the devs for working on this project, it's pretty cool and it does work with Azure Media Services!
 

leandromoreira

New Member
I think you can try to use:

level=3.1 keyint=30 min-keyint=30 scenecut=-1

Where 30 should be FPS * 2 (i.e: GOP of 2s where fps is 24, 24 * 2 = 48), this should make it work.
 
Top