ATEM Mini pro direct RTMP streaming

Questions about ATEM Switchers, Camera Converter and everything live!
  • Author
  • Message
Offline

Dave Del Vecchio

  • Posts: 981
  • Joined: Mon Nov 25, 2013 10:25 am

Re: ATEM Mini pro direct RTMP streaming

PostWed May 06, 2020 1:27 am

There are actually a few different authentication mechanisms for RTMP that have been used over the years.

1) Adobe authentication: This is probably the most common form of RTMP authentication which was originally added to Adobe's Flash Media Live Encoder (FMLE) as well as their Flash Media Server (FMS). This authentication mechanism is similar to HTTP Digest authentication and involves using a server-generated nonce string and password hash that are exchanged between the client and server during the initial RTMP connection.

ffmpeg uses the following URL format when supplying a username and password for Adobe-style RTMP authentication
Code: Select all
rtmp://[username:password@]server[:port][/app][/instance][/playpath]
It sounds like the ATEM Mini XML configuration file may be compatible with this URL format as well, but many other software and hardware encoders include username and password fields that are separate from the URL. This is because these pieces of authentication information are not actually sent to the server in the URL, but instead use the digest approach mentioned above. The URL format used by ffmpeg is just for convenience (and earlier versions of ffmpeg used separate pubUser and pubPasswd arguments.

Akamai, Wowza, and many of the other popular streaming servers and CDNs use Adobe-style authentication by default, but it is not the only option for RTMP authentication.

2) URL query parameters: The second RTMP authentication mechanism in widespread use involves sending the username, password, or other authentication information as parameters in the query portion of the URL. These are similar in format to HTTP URL query parameters, but applied to RTMP URLs.

The names of the authentication parameters may vary depending on the streaming server used. The rtmpauth=username:password format seems to be used by Nimble Streamer, while some other streaming servers use different URL query parameter formats. When using URL parameter authentication In Wowza, for example, it is common to use unnamed parameters in the query string (rather than the more traditional key=value pair):
Code: Select all
rtmp://[wowza-ip-address]:1935/live/?username&password
Since there is no fixed format for this style of authentication, the streaming server or CDN should specify the query parameter URL format that is expected.

Some form of encryption (such as RTMPS or RTMPE) is typically used in combination with URL query parameter authentication, because otherwise the username and password information would be sent in plaintext. This differs from Adobe authentication which uses a digest to avoid sending the password directly.
Offline

ABHA79

  • Posts: 14
  • Joined: Tue Apr 28, 2020 9:09 pm
  • Real Name: Jamie Hobert

Re: ATEM Mini pro direct RTMP streaming

PostThu May 07, 2020 11:43 pm

Dave Del Vecchio wrote:There are actually a few different authentication mechanisms for RTMP that have been used over the years.

1) Adobe authentication: This is probably the most common form of RTMP authentication which was originally added to Adobe's Flash Media Live Encoder (FMLE) as well as their Flash Media Server (FMS). This authentication mechanism is similar to HTTP Digest authentication and involves using a server-generated nonce string and password hash that are exchanged between the client and server during the initial RTMP connection.

ffmpeg uses the following URL format when supplying a username and password for Adobe-style RTMP authentication
Code: Select all
rtmp://[username:password@]server[:port][/app][/instance][/playpath]
It sounds like the ATEM Mini XML configuration file may be compatible with this URL format as well, but many other software and hardware encoders include username and password fields that are separate from the URL. This is because these pieces of authentication information are not actually sent to the server in the URL, but instead use the digest approach mentioned above. The URL format used by ffmpeg is just for convenience (and earlier versions of ffmpeg used separate pubUser and pubPasswd arguments.

Akamai, Wowza, and many of the other popular streaming servers and CDNs use Adobe-style authentication by default, but it is not the only option for RTMP authentication.

2) URL query parameters: The second RTMP authentication mechanism in widespread use involves sending the username, password, or other authentication information as parameters in the query portion of the URL. These are similar in format to HTTP URL query parameters, but applied to RTMP URLs.

The names of the authentication parameters may vary depending on the streaming server used. The rtmpauth=username:password format seems to be used by Nimble Streamer, while some other streaming servers use different URL query parameter formats. When using URL parameter authentication In Wowza, for example, it is common to use unnamed parameters in the query string (rather than the more traditional key=value pair):
Code: Select all
rtmp://[wowza-ip-address]:1935/live/?username&password
Since there is no fixed format for this style of authentication, the streaming server or CDN should specify the query parameter URL format that is expected.

Some form of encryption (such as RTMPS or RTMPE) is typically used in combination with URL query parameter authentication, because otherwise the username and password information would be sent in plaintext. This differs from Adobe authentication which uses a digest to avoid sending the password directly.



Wow, Dave, thank you. That's great info. I understood about 1/2 of it. I'm open to try anything at this point which is why I provided all the URL and Stream Key info a few posts back (taking out the numbers for security reasons of course). My hope is that there will be someone who takes that info and then says: "Here, try typing ______ into the URL part of the XML." The info you provided gives me hope but I'm a bit lost as to what to try writing next.

I will take the previous post's advice and try streaming to YT first just to make sure this thing is working correctly. Assuming it is, hopefully I can find a way to get it to work with DaCast.

NOTE: I'm looking for alternative CDNs that won't be strict with streaming events with music without flagging or cutting the stream. Just was hoping it would work with DaCast since their pricing fits our live stream load perfectly.

Either way, THANK YOU for your help.
Offline

ProdCrew

  • Posts: 1
  • Joined: Sat May 09, 2020 6:32 am
  • Real Name: Nicole Elsner

Re: ATEM Mini pro direct RTMP streaming

PostSat May 09, 2020 6:43 am

Hi all...
Hi Blackmagic...

Is there a list of all parameters and values that can be changed/fixed by the .xml file to see/download anywhere?
Or other documentation?

For example: The original Streaming.xml contains delarations for the keyframe-interval. I think the values is in seconds.

Would be nice to have something like a white paper/manual/example codes (with all useable parameters) before asking a lot of not necesarry questions :D

Thanks and stay healthy
Offline

Andrew J

  • Posts: 6
  • Joined: Fri May 15, 2020 7:59 pm
  • Real Name: Andrew Johnson

Re: ATEM Mini pro direct RTMP streaming

PostFri May 15, 2020 9:47 pm

Has anyone made an progress getting streaming to work with the ATEM mini Pro to a RTMP destination that needs a username and password? I have tried every combination I can think of in the XML file and I can't get it to work.

Specifically, in the case where OBS studio will stream with
server: AAAAAA (rtmp://......)
Stream key: BBBBBBB
authentication checked
username:XXXXXX
password:YYYYY

Or ffmpeg with "AAAAAAA/BBBBBBB pubUser=XXXXXX pubPasswd=YYYYYYY"

I haven't found a way to enter that in streaming.xml to let it connect through the ATEM Mini
Offline

KJzinUK

  • Posts: 5
  • Joined: Tue May 26, 2020 11:19 pm
  • Real Name: Kurt Oluwatobi

Re: ATEM Mini pro direct RTMP streaming

PostTue May 26, 2020 11:29 pm

Gary Adams wrote:Apologize for the wrong slashes. I work with too many operating systems and command lines. The method your provider shows should be the right one for the URL. It's up to them to set how the login should be passed in a single line. I like to use OBS as a test setup because it will prove it the URL is good without involving the Mni at all. Worth looking into. Just to start at the beginning. Are you able to stream to You tube directly with the Mini using the default setup and your stream key? If that works, at least we know streaming is working. If you cannot stream to Youtube as a test, then your custom setup will not work because there is something else wrong getting in the way.

Regards, Gary



Hi Everyone,

I am extremely new to this (my ATEM arrived a few hours ago) so I do apologise if this has already been answered..

From the Mini Pro:
I can stream to Twitch fine using the default settings in the Mini and my stream key.
I can NOT stream to DaCast using the Stream URL, Stream Name(Key), username and password.

When I tried to use both versions on the code you sent earlier, I could not connect... are there any other solutions available to try?

Thank you for your help!
Offline

KJzinUK

  • Posts: 5
  • Joined: Tue May 26, 2020 11:19 pm
  • Real Name: Kurt Oluwatobi

Re: ATEM Mini pro direct RTMP streaming

PostWed May 27, 2020 9:31 am

ABHA79 wrote:
Gary Adams wrote:Hello Jamie. There are two possible methods to do this. You would put this in the URL field. It is up to the service to allow one or both of these methods. Some do not. I would test this on OBS first to see if it works in the same way. I hope this helps. Stay safe.

rtmp:\\user_name:password@service_or_IP_address:port/publish_point

or

rtmp:\\service_or_IP_address:port/publish_point?rtmpauth=user_name:password

Regards, Gary



Thank you Gary for responding. I sincerely appreciate it. I feel like I'm close but nothing has worked yet as if I'm missing just one bit of information, or I've written the URL wrong somehow. Is there someone there at BMD that specializes in this sort of thing, using the encoder with a service that requires authentication?

Also, in your response did you mean to make it "rtmp:\\user_name...." or should it be "rtmp://user_name...."?

Here's some additional info that might help. DaCast gives me the following info (I've taken out the numbers and replaced it with # just to be safe in this post)...

Stream URL: rtmp://p.ep######.i.akamaientrypoint.net/EntryPoint

Stream Name: dclive_1_150@######

Backup URL: rtmp://b.ep######.i.akamaientrypoint.net/EntryPoint

Login Details (I've replaced the numbers in this post with XXXXXX for the login and YYYYYY for the password to be safe):

Login: XXXXXX
Password: YYYYYY

So with that information, I feel like I've tried numerous combinations within the Streaming.XML file but it's still not letting the stream go through. Maybe I've entered it wrong. But does this info help YOU in helping me figure out how exactly to enter this into the XML? When I used a Teradek encoder before with DaCast, there was a box in their software for the Stream URL, Stream Key, and then an Authentication Login box and a Password Box. BMD doesn't have the authentication login box and password box.

Hopefully this info helps you in helping me find the correct way to do this. As for OBS, I've never used it before. Again, DaCast says their service works with all RTMP encoders, but they just require authentication. I'm hoping we can find a resolution with the info above.



I don't know how helpful this would be, but this part of a page from a link that one of the agents from DaCast(requires username and password to stream) sent to me. I tried to paste the URL but that was blocked so I had to copy and paste a section I think is relevant.
****
Setting Up the Video Encoder Application
Following is some setup guidelines shared by Akamai in order to help you if you are still encountering issues while streaming after following to the word our encoder setup walkthrough or need to have more informations on the setup you desire.

In This Chapter:
A) Prerequisites
B) Supported Codecs
C) Stream Redundancy
D) Encoding Guidelines

After you complete your live stream setup, you will have the information to configure your video encoder to capture and push your stream to the entry points. Several third-party live video encoders are qualified for Media Services Live: Stream Packaging.

A) Prerequisites
Streaming technology allows ingest of the RTMP protocol while outputting Apple Live Streaming segments (full compatibility with RTMP in/HLS out) requires support of video in H.264 format and audio in AAC-LE format.

If you use an encoder other than those listed in the Dacast platform you must ensure that it issues the onMetaData packet as part of its broadcast, and that the packet includes the following information, or you will experience errors:

• description
• keywords
• rating
• title
• presetname
• creationdate
• videodevice
• framerate
• width
• height
• videocodecid
• videodatarate
• videokeyframe_frequency
• audiodevice
• audiosamplerate
• audiochannels
• audioinputvolume
• audiocodecid
• audiodatarate -->If your stream is audio-only, the encoder should remove the video-related entries:
• description
• keywords
• rating
• title
• presetname
• creationdate
• audiodevice
• audiosamplerate
• audiochannels
• audioinputvolume
• audiocodecid
• audiodatarate -->Similarly, if the stream is video-only, the encoder should remove the audio-related properties:
• description
• keywords
• rating
• title
• presetname
• creationdate
• videodevice
• framerate
• width
• height
• videocodecid
• videodatarate
• videokeyframe_frequency
****
Maybe this can help with identifying the requirements/sequence of the code etc to enable streaming?
Offline

Andrew J

  • Posts: 6
  • Joined: Fri May 15, 2020 7:59 pm
  • Real Name: Andrew Johnson

Re: ATEM Mini pro direct RTMP streaming

PostThu May 28, 2020 4:36 am

I have this working for dacast using another computer as an intermediary. I am using a "raspberry pi 3" computer, and it is able to pass on a stream to YouTube and to dacast at the same time. It has been stable for me, but it does take some work to get set up.

Ideally we would find someone who can give a way to set this up without another computer in between.
Offline

Dave Del Vecchio

  • Posts: 981
  • Joined: Mon Nov 25, 2013 10:25 am

Re: ATEM Mini pro direct RTMP streaming

PostFri May 29, 2020 1:02 am

Andrew J wrote:I have this working for dacast using another computer as an intermediary. I am using a "raspberry pi 3" computer, and it is able to pass on a stream to YouTube and to dacast at the same time. It has been stable for me, but it does take some work to get set up.
It is still a little unclear as to whether the ATEM Mini Pro actually supports Adobe-style RTMP authentication at the moment. It is entirely possible that this is not implemented in the current firmware, since the manual only describes streaming configuration settings for YouTube, Facebook, and Twitch, none of which require authentication.

And there isn't any complete documentation of the streaming options of the XML configuration file to know how the RTMP authentication parameters should be specified (if supported).

This certainly wouldn't be the first streaming encoder that I have come across not to support RTMP authentication in its initial firmware.

For the time being, the best option as suggested may be to run an intermediary RTMP relay server (using ffmpeg, Nginx, or similar) that does support RTMP authentication.
Offline

EvanAnthony

  • Posts: 171
  • Joined: Sat Apr 11, 2015 6:19 pm

Re: ATEM Mini pro direct RTMP streaming

PostFri May 29, 2020 2:36 pm

Anyone getting this working with DaCast ? If so please share details.
Offline

KJzinUK

  • Posts: 5
  • Joined: Tue May 26, 2020 11:19 pm
  • Real Name: Kurt Oluwatobi

Re: ATEM Mini pro direct RTMP streaming

PostFri May 29, 2020 9:31 pm

EvanAnthony wrote:Anyone getting this working with DaCast ? If so please share details.


This is what a customer service rep as said:

"Greetings! There is no way to dismiss the encoder login and password on live streams. In terms of the HTML5, All Device live channels there is no way to disable the requirement of having to put in a login and password for your broadcast. They require RTMP authentication.

This added level of security is a mandatory on all of these channels. Thank you!

To add Our Full URL is only like this: rtmp://p.ep396756.i.akamaientrypoint.ne ... 150@396756.

I suggest check with their customer service (Blackmagic Atem mini PRO ) on how to connect with Akamai. Then keep me posted. Thank you!"

Hopefully this will be helpful to someone.
Offline

lundinstudio

  • Posts: 2
  • Joined: Wed Jun 03, 2020 4:40 am
  • Real Name: Dennis Lundin

Re: ATEM Mini pro direct RTMP streaming

PostWed Jun 03, 2020 4:45 am

Gary Adams wrote:Hello Fredrick. The fps is determined by the ATEM Mini Pro Frame rate in the Setup Icon on the software. Set that to the frame rate you want. The encoder doesn't change the frame rate. Setting a lower quality still will use the incoming frame rate to chose the bit rate. I hope that helps.

Regards, Gary


Hey Gary,

It does not seem to work to change the fps. Please can you add some screenshots how to change to 25fps.

Cheers, Dennis
Offline

Gary Adams

Blackmagic Design

  • Posts: 1064
  • Joined: Sat Aug 25, 2012 6:14 am

Re: ATEM Mini pro direct RTMP streaming

PostWed Jun 03, 2020 3:32 pm

Hello Dennis. In the ATEM Software Control, Settings (Gear icon) General Tab. Set the video standard to 1080p25.

Regards, Gary
Gary Adams
Blackmagic Design
Offline

lundinstudio

  • Posts: 2
  • Joined: Wed Jun 03, 2020 4:40 am
  • Real Name: Dennis Lundin

Re: ATEM Mini pro direct RTMP streaming

PostWed Jun 03, 2020 6:52 pm

Many thanks Gary,

I see now the "super tiny small Gear Icon!", in the bottom left corner.

Cheers, Dennis
Offline

neilpercy

  • Posts: 3
  • Joined: Thu Jun 11, 2020 11:24 am
  • Real Name: Neil Purcell

Re: ATEM Mini pro direct RTMP streaming

PostThu Jun 11, 2020 11:39 am

Roman Pytkin Pekarek wrote:
davidjoshua wrote:
With a firmware update, would the ATEM Mini Pro have the capacity to send the Multiview out via the USB or Ethernet instead?

YEs .. It would be great to have chance select , what is going on USB out .. I really need to select Preview BUS into USB and HDMI out use as a PGM out on ATEM MINI ..

Gary : Do U think , that is doable in future updates ? Or USB out is directly connected to PGM ?


I hope you don't mind me jumping in too. First time poster here.

Yes! Please! This is the main feature I'm hoping for. I haven't bought one *yet*, but to be able to preview everything on the laptop, and have a clean HDMI output feed for local 'broadcast/program feed' and stream, and record the full output to USB would be the dream. I've even been on the phone talking to a local rep and doing my research prior to purchasing about this exact functionality.


+1 For Mutliview over USB-C, would be so useful!!

Also, if there were an option for "Quad Split" view (all 4 inputs) over USB-C that would be the icing on the cake! (useful to pass on the 4 inputs to OBS which could select a region to use the 4 inputs independently, albeit with resolution loss).

Please pass on the comments/feature requests.

Many Thanks ,

neil
Offline

samhoro

  • Posts: 3
  • Joined: Fri Jul 10, 2020 6:02 pm
  • Real Name: Sam Horowitz

Re: ATEM Mini pro direct RTMP streaming

PostFri Jul 10, 2020 6:06 pm

Is there a way to save a streaming key in the XML file? Trying to set up for a church that needs to stream to different services for different events. Steps:

1. Select Service A from dropdown.
2. Enter streaming key.
3. Go live. Everything is great. End broadcast. If I exit and come back in, by default, the key is still present for Service A.
4. Select Service B from dropdown.
5. Enter streaming key.
6. Go live. Everything is still great.
7. Select Service A from dropdown.
8. Streaming key is missing.
Offline

visutech

  • Posts: 4
  • Joined: Fri Apr 17, 2020 9:52 pm
  • Real Name: Clay Brinkman

Re: ATEM Mini pro direct RTMP streaming

PostFri Jul 10, 2020 7:32 pm

I include the stream keys in the names of the server destinations. This way it's right in front of you to be able to type into the Key field.

Capture710.JPG
Capture710.JPG (12.29 KiB) Viewed 722 times
Clay Brinkman
VisuTech
Offline

samhoro

  • Posts: 3
  • Joined: Fri Jul 10, 2020 6:02 pm
  • Real Name: Sam Horowitz

Re: ATEM Mini pro direct RTMP streaming

PostFri Jul 10, 2020 8:10 pm

Some of these keys are quite long unfortunately, but that's a pretty good idea.
Offline

Ian Morrish

  • Posts: 488
  • Joined: Sun Jan 18, 2015 9:24 pm
  • Location: New Zealand

Re: ATEM Mini pro direct RTMP streaming

PostSat Jul 11, 2020 8:53 am

If you have a Windows pc I can give you an exe that would let you have a shortcut for each service that would set the key.

Sent from my SM-G960F using Tapatalk
Regards,
Ian Morrish
Video Integrated Scripting Environment
(Windows PowerShell with ATEM driver + more)
https://ianmorrish.wordpress.com
Offline

samhoro

  • Posts: 3
  • Joined: Fri Jul 10, 2020 6:02 pm
  • Real Name: Sam Horowitz

Re: ATEM Mini pro direct RTMP streaming

PostSat Jul 11, 2020 11:47 am

I am in fact on Windows for this setup, although I have a thing about running EXEs I find on Internet forums. But if you Are kind enough to provide it I will take a look.
Offline

Dave Del Vecchio

  • Posts: 981
  • Joined: Mon Nov 25, 2013 10:25 am

Re: ATEM Mini pro direct RTMP streaming

PostFri Jul 31, 2020 10:54 pm

Roman Pytkin Pekarek wrote:Denny : but in XML is missing bitrate for audio..
It's apparently now possible to change the audio encoding bitrate on the ATEM Mini Pro through the XML file as of ATEM firmware update 8.4:
https://www.blackmagicdesign.com/suppor ... 155e60556e
Previous

Return to Live Production

Who is online

Users browsing this forum: Michael_Andreas and 14 guests