Setup of broadcasting from UDP multicast to RTMP


You need RTMP server to publish via RTMP protocol. We have successfully tested Noisypeak encoders with Wowza® RTMP server, Adobe® Media Server™, Akamai® RTMP publishing, YouTube® RTMP publishing and Nginx® server with RTMP module. How to setup simple RTMP server on Nginx®

1. Setup a video template for RTMP output

Open WEB UI of the transcoder http://IP_address and login (the defaults login/pass are admin/2bechanged). Then go to the “Templates”. If you don’t have any suitable template for your stream you can download the reference cloud templates by pressing “Get Reference Cloud Templates” and select any templates you need. You can create your own template as well.

Here is an example how to create a template. Click “Add New Template”

You will see “Add template” page (Pic.1)

Pic. 1

Enter the template name you want and select the “Codec” for output stream (H264 is recommended). You may write some text in the “Description” field as well. Then you need to setup “Resolution” and “Bitrate” for your first stream. It is recommended set in the “Stream 1” smallest “Resolution” and “Bitrate”. In “FPS” field in most cases you should set the same FPS value as in the input source stream.

Optimization can take one of three values:  best speed, balanced, best quality. For most cases it is enough to set “best speed”. If you set “best quality”, then the performance decreases and you will be able to setup smaller number of input channels.

For other parameters if you don’t understand them well you can leave the default values:

Codec profile – base
Codec level – 3
Rate control – CBR
Slice count – 0
GOP length – 100
B-frames count – 0
IDR interval – 0
Reference frames number – 1
NAL HRD Conformance – Enabled
HRD Buffer Length – 0
HRD Initial Delay – 0
Look Ahead – Disabled
Look Ahead Depth – 0
Aspect Ratio – static pixel aspect ratio from first source IDR
Deinterlace Algorithm - BOB
Deinterlace – Enabled
Hardware acceleration – Enabled

If you want to get several RTMP output streams with different bitrates from one input stream you may create additional streams in the template. To create an additional stream click “Add new stream” in the bottom of the page. You will see the same input fields as for the Stream 1.

You should create so many streams in the template, how many bitrates at the RTMP output for one input channel you want to have. Every next stream we recommend create with more big numbers of “Resolution” and “Bitrate”, other values can be the same.

Use of wrong settings in a video template can lead to the fact that the channel won't be able to start.

 

2. Setup an audio template

Go to the “Audio templates” menu item on a WEB UI. If you don’t have any suitable template for your stream you can create it here.  We recommend the following parameters for most cases (Pic.2):

Codec – AAC
SampleRate –  44100
Bitrate – 64/128

Pic. 2

Use of other settings in audio template can lead to the fact that the channel won't be able to start.

3. Set the default input multicast interface

Go to the “Setting” menu item on the WEB UI. You will see the table with all network interfaces which are have connected status (Pic.3)

Pic. 3

Input multicast interface – it is interface where you receive your input source stream.

To change an interface settings click “edit (pencil icon)” in front of the interface you want to edit.

Set the checkbox “Default multicast input interface” if you will going to receive input stream on the interface (Pic.3)

Pic. 4

4. Setup a channel (input)

Go to the “Channels” menu item and click “Add New Channel”.

Enter the channel name. For UDP multicast input you should select from “Source protocol” drop down list “udp TS stream”.  Enter “Source address” and “Source port” for the input multicast group. If you are receiving the multicast group not at the interface which is “default multicast interface” you should set the IP address of ingress interface of the encoder before the address of the multicast group via colon (for example 172.20.10.144:239.255.3.42).

When you have set the source address and port you should click here to get all services and tracks. Wait for a few seconds and if there are no any error messages you will see the message “Analyze Completed”. Now you can click “Service ID (SID)” drop down list to see all services which transcoder found in the input stream (Pic.5).

Pic. 5

Active services should have the status “on the air”. In case of MPTS you will see several services and you should choose one of them. If your source is SPTS you can choose the SID of the service or leave “auto”.

If you have selected some Service ID you will be able to choose the PIDs in the Video PID and Audio PID fields. You can leave everywhere “auto” if your source is SPTS and has one Video and Audio tracks.

Data track allows you to forward subtitles and teletext to your output. If you want to do that, you should choose subtitles and/or teletext PIDs from the dropdown list. To be able to do that, exact value of Service ID should be selected earlier.

If you don’t have any Data tracks in your input stream you should set “Data track” field to “Disabled”.

You don’t need to setup “SDI mode” filed in case of UDP input.

Set“Interlace mode” value to “auto”.

You have an option to setup a backup source for the channel if you have any backup sources for the channel.

When you click “Backup” checkbox you will see additional input fields for the backup source. You should fill all the fields by the same way as for the main source. Encoder will migrate to backup source if main one will not be available during 10 seconds and will stay on backup while it is working. To migrate back to the main you should stop the backup source or restart the channel.

“Audio Gain” value allows you to increase or decrease the gain level if you want.

“Video Cropping” allows you to crop the picture for several pixels from all the sides. To setup cropping you should write 4 numbers in the field via space left right top bottom. The values set number of pixels to crop from the corresponding side. First value (left) cannot be zero. You can setup crop by one number as well, then that number of pixels will crop from all the sides.

Click “Add”. Your channel setup is completed.

 

5. Setup an RTMP Output stream

Go to the “Output streams” menu item and then click “Add New Output Stream”. 

Start mode – set auto if you want to start output automatically when the corresponding channel (on the “Channels” page) starts

Channel – select your channel from the drop down list

Template – choose a template you have created for RTMP output

Audio template – select an audio template

Format- Akamai RTMP for the publishing to Akamai, for all other cases use RTMP

Encryption key provider, Key providerURL, Key request interval (minutes), DRM content ID – these parameters are used for HLS output only, for encryption

Segment length – 4 (recommended value for RTMP output)

Output URL – You should write here RTMP publishing point URL rtmp://someserver/somepath or several URLs via space if you use a multibitrate template. For example, for a template with 3 bitrates, the Output URL string will be:

rtmp://192.168.1.10/myapp/stream1rtmp://192.168.1.10/myapp/stream2rtmp://192.168.1.10/myapp/stream3 (pic. 6)

If you use the default port (1935) on your RTMP server you may don’t specify the port, if the port is different you should specify it in the URLs after the IP address of the RTMP server (rtmp://192.168.1.10:port#/myapp/stream1…).

Pic. 6

If you choose Akamai RTMP output format, some additional input fields will appears. You don’t need to write anything to the Output URL field in that case. You should fill the fields with parameters you got from Akamai and the Output URL field be filled automatically. To be able to publish to Akamai you should set the following parameters (pic. 7):

Primary Ingest URL
Backup Ingest URL
Streams
Username
Password

Pic. 7

Pic. 7

6. Starting the channel and checking the output

On the “Channels” page click the start icon. After a few seconds if all is correct the state of channel should be “started” Pic.8. 

Pic. 8

Now you can check the output with any player supported RTMP, for example “ffplay.exe”. The URLs for playback will be the same as “OuputURL” in the output stream setup. For example:

“ffplay.exertmp://192.168.1.10/myapp/stream1”