Broadcasting using RTMP

The benefits of RTMP are streaming with a higher bitrate than the browser usually permits and more control over what’s part of the stream.

Remy avatar
Written by Remy
Updated over a week ago

Streaming using RTMP is an advanced feature and available in the Enterprise subscription and as an add-on with the Premium plan. Interested in the possibilities? Contact us for more info.

The standard way to stream with WebinarGeek is using your browser, which has the benefit of streaming in real-time and requires no additional hardware or software.

In some cases, it can help to directly stream using RTMP, and this is possible. The benefits are streaming with a higher bitrate than the browser usually permits, and more control over what’s part of the stream. It usually also cooperates well with certain hard- and software by default. Take a look at our video on hosting high-quality webinars with RTMP below.

Looking for an alternative method to get more control over your stream? Try using OBS, which is software that easily lets you set up your stream for e.g. multi-camera webinars or picture in picture streaming. Looking for a solution that makes connecting external equipment easier? Check out our article about using a professional camera as a webcam here.

Need some more advice about the optimal solution? Feel free to contact us anytime.

Setting up webinars on your own encoder

When editing or creating a webinar, you can set the source of the live stream under the heading that says 'Webinar'. Here, you should choose 'Use external encoder'.

Use external encode setting in Webinar settings

When this is enabled, it’s only possible to use an external encoder to go live with your webinar. It’s no problem to switch encoders in between broadcasts.

Broadcast process test and live webinars

When opening a test or live webinar, the system will show the settings that you need to use for your own encoder. The only difference between the test and live webinars is the fact that test webinars won’t be recorded. The rest of the process is the same, and will look like this:

  1. Open the webinar using 'Dry run' or 'Open live webinar' (the latter is available starting at 3 hours before the webinar is scheduled to start).

  2. A window will appear labeled ‘RTMP settings’. These settings should be configured in your encoder. Publishing the stream happens using RTMP. The hostname and stream name will be different each time for test and live webinars. The username and password (RTMP authentication) are the same for each individual WebinarGeek account. Keep in mind that all four of these need to be entered into the encoder.

  3. Configure the encoder and go live with your stream. The ‘RTMP settings’ window will disappear and WebinarGeek will configure the webinar.

  4. When the stream is online, the ‘Start (test/live) webinar’ button will appear on the streaming page. Click this button to start the webinar. Viewers will be able to join the webinar starting from the moment you do so (unless they’re already on the viewing page).

  5. When you’d like to end the webinar, choose ‘Stop webinar’ in WebinarGeek. Stop the stream in your encoder afterwards.

  6. For live webinars the recording will be available about 15 minutes after ending the stream.

Recording

When broadcasting a live webinar, the recording will start the moment you click on 'Start (test/live) webinar', so feel free to start your stream beforehand. So long as you have not pressed 'Start (test/live) webinar', the stream cannot be seen by viewers. The recording will only start after clicking on 'Start (test/live) webinar' and will be available about 15 minutes after choosing 'Stop webinar' and stopping the stream in your encoder.

We also recommend recording the webinar locally just in case, for instance, your internet disconnects. In OBS you can do this with a single click. This way you will always have a back-up recording.

Using slides and interactions

You can view the webinar as a presenter with the player you see. Viewers will watch your stream with about 15 seconds of delay. Everything that is connected to your stream such as slides, interactions and polls will be broadcasted with the same exact delay. As such, everything will be in sync for your viewers.

Please note! When starting a poll, slide or interaction, these will appear around 15 seconds later (depending on a viewer's delay). Make sure to start your interactions and slides in sync with the 'live' screen from your encoder, and not in sync with the player in WebinarGeek.

Tip! While broadcasting the slides in WebinarGeek without video, make sure to disable/blackout the video in your encoder. Alternatively, broadcast slides through the encoder.

Settings stream and encoder

The stream is configured for the following resolutions and bitrates for adaptive streaming in multiple quality formats:

  • High - 1080p, 4000kbps

  • Medium - 720p, 2000kbps

  • Low - 480p, 720kbps

The player will choose the automatic selection by default and pick the most optimal quality setting ('Auto'), usually a Medium quality is chosen, after which it will take about 10 seconds to switch to the highest quality (if possible). Viewers have the option to pick their preferred video quality setting (High, Medium, Low or Auto).

Make sure you go live in the encoder with a bitrate of 4000kbps or lower, and using a resolution of 1920x1080 px.

If the keyframe interval can be configured, set this to 2 seconds.

The best setting for frame rate is 30.

Co-presenting with RTMP

It's possible to host multiple remote presenters in an RTMP webinar. You can do this through setting up a Skype, Meet, Zoom or other similar session on the computer you are broadcasting from. Afterwards, broadcast the output/screen/sound of that computer through the RTMP stream. This offers a lot of flexibility and allows you to combine the powerful features of meeting/conference tools with the added value of webinars. OBS is an example of software you can use to make this happen.

Limitations RTMP streaming

When you’re using RTMP streaming, some functionalities won’t be available, such as:

  • Using co-presenters (a workaround is listed above)

  • Real-time streaming. There will be a delay of around 15 seconds

  • Selecting camera and microphone settings (such as muting)

Example: streaming with OBS

You can stream via RTMP with a lot of different software and hardware. A lot of streaming equipment has the ability to stream directly to RTMP so that you can stream directly from your video input to the streaming server. But it's also quite easy to do this with software alone. The most commonly used software for this purpose is OBS.

OBS is open-source software with which you can stream video and audio via the RTMP protocol to a server such as WebinarGeek. The great thing about OBS is that you actually get an empty canvas on which you can place anything you like, such as a camera, but also multiple cameras side by side, a screen or an image and an image or logo on top of your video. You can read more about OBS in our article on OBS. You can even use OBS for streaming via your browser as a virtual webcam, but do note this only works on Windows (see the article for more info).

Once you open OBS you can add (multiple) sources. The most commonly used source is 'video capture device', which can, for example, be your webcam. But you can also attach a screen, external cameras or images.

Screenshot of OBS interface

In 'Settings' you can configure OBS for use with WebinarGeek. Go to 'Stream', choose 'Custom...' and fill in all the details that are visible on your screen if you open the broadcasting page for a webinar that has the external encoder enabled.

Please note! These details differ per webinar, even in between test and live webinars.

OBS settings to connect to WebinarGeek RTMP server

You can configure the bitrates via 'Output'. You set these at 4000 Kbps for the video and leave the audio at 160.

Please note! This means that we require you to have a constant upload speed of at least 4000 Kbps. Make sure you are connected through an ethernet cable to consistently be able to send this bitrate. If you are not able to, you should decrease the bitrate. If you need to set it lower than 3000 we advise you not to use RTMP and instead stream through the browser, as that will work better with lower bitrates.

Bitrate settings in OBS

Under 'Video' you can configure the right resolution (1920x1080). Leave the framerate at 30 FPS.

Resolution settings in WebinarGeek

If you are done you can close the settings and start the stream (and the local recording). The broadcast page will let you know once the stream is ready for your playback. If it looks and sounds good you are ready to start the webinar. Click on 'Start (test/live) webinar' to start the webinar (and with a live webinar, the recording). Streaming in this quality demands a lot from your computer and connection so keep an eye on the OBS status, in order to ensure that both of those are green.

Troubleshooting

If you have problems using RTMP you can use this list to help you solve your problems fast.

Cannot connect to RTMP server

First double check your credentials and stream key. Sometimes you might have copied an extra character (or space) in the credentials or key. Please note that the key and credentials of the live webinar are different from the dry run.

Connections go over RTMPS and port 443. It may help to append :443 to the hostname. Check with your network provider to see if RTMP publishing is allowed. You can also connect over general RTMP, change the protocol from rtmps:// to rtmp:// and append port 1935 in the hostname, like: rtmp://hostname.webinargeek.com:1935/wg_test.

Stream is being interrupted

Check if you have set the correct bitrate in your encoder. If you exceed the maximum bitrate the server will close down the stream. Your video bitrate cannot exceed 4000 Kbps, our hard limit is 5000 Kbps.

Quality is not good enough

Check if the resolution you sent is proper 1080p (1920x1080), the frame rate is set properly and the bitrate is around 4000 Kbps.

Analyzing encoder logs

If you encounter difficulties while streaming your RTMP webinar, you can take a look at the log files created by the encoder to try and identify the problem. In the case of OBS, you can use their Log Analyzer to identify common issues.

References for other encoders

Some references for other encoders. If you use an encoder with WebinarGeek that is not listed, let us know so we can add the right information to it.

Atem

When using ATEM with an XML file you will need to add the username and password to the XML file as shown in the example below. You can also generate this XML using this tool: https://heretorecord.com/xml/

<service>
<name>WebinarGeek</name>
<servers>
<server>
<name>Default</name>
<url>rtmps://example.com/rtmp</url>
</server>
</servers>
<profiles>
<profile>
<name>Streaming High</name>
<config resolution="1080p" fps="30">
<bitrate>4000000</bitrate>
<audio-bitrate>128000</audio-bitrate>
</config>
</profile>
</profiles>
<credentials>
<username>test</username>
<password>abc123xyz</password>
</credentials>
</service>

LiveU

We use Wowza software. For LiveU, select the 'Wowza' profile and fill out all RTMP settings as listed in your webinar in the Wowza fields.

Teradek

We use Wowza software. For Teradek, select the 'Wowza' profile at 'provider' as shown in the image below. Fill out all RTMP settings as listed in your webinar.

Teradek settings

Keywords: Real-Time Messaging Protocol, external, livestream

Did this answer your question?