Showing posts with label forward. Show all posts
Showing posts with label forward. Show all posts

September 4, 2019

Forwarding RTMP Icecast metadata through Live Transcoder

RTMP protocol has the ability to carry Icecast metadata. Nimble Streamer can forward that metadata into output stream when transmuxing from RTMP to Icecast. However some scenarios may require Live Transcoder to be involved in order to transform audio. In this case the metadata from RTMP stream need to be carried through the transcoder pipeline by setting parameters in a transcoding scenario. Let's see how this can be done.

Notice that Nimble Live Transcoder is able to passthrough the Icecast metadata. Please make appropriate setup for respective protocol use case. 
If you have incoming Icecast with Icecast metadata, please follow this instruction and skip this article.
If you have incoming RTMP with Icecast metadata, you need to follow the instruction below.

Enable RTMP Icecast metadata


First, the incoming stream must have the RTMP Icecast metadata delivered. So you need to enable RTMP Icecast metadata processing as described in this article. If you don't set up the designated application or entire server processing the RTMP Icecast metadata, it will not be available for transcoder scenarios.

Set up Transcoder


In this sample scenario we use transcoder for re-sampling audio from the existing RTMP stream. You may see a decoder, then a filter to perform sampling and then an encoder.



The forwarding needs to be specified on both decoder and encoder sides. In the audio decoder element you need to check the Forward RTMP metadata checkbox to set the transcoder to take metadata into the pipeline.



Now go to video encoder element and click on Expert setup.



Here you need to check the Forward RTMP metadata checkbox to make the transcoder grab the metadata from the pipeline and make it part of output stream.

Once you save the scenario and re-start the input stream, the output stream will have the metadata which then can be used for transmuxing into Icecast or re-publishing.


Contact us if you have any questions regarding any of our features.


Related documentation


Live Transcoder for Nimble StreamerAudio streaming feature setRTMP support

September 3, 2019

Processing DVB and WebVTT subtitles in live streams with Nimble Streamer

Subtitles typically include text information for dialogue, captions, or descriptions, synchronized with the video content. In this article we are talking about DVB (Digital Video Broadcasting) subtitles which are embedded within a MPEG-2 TS or HLS stream, and also WebVTT subtitles which are delivered within HLS. Nimble Streamer allows transferring them from incoming streams into its output.

Enable the DVB subtitles processing for MPEG2TS and HLS streams


If your incoming MPEG2TS or HLS stream has DVB subtitles and you need to have those subtitles to be passed through to output MPEG-TS and HLS, you need to add the following parameter into your Nimble config:
dvb_subtitles_processing_enabled = true
Once you add it and re-start Nimble Streamer, your output HLS and MPEG-TS will have DVB subtitles if your source streams have them.

Notice that Nimble Streamer can process only one subtitle track from your source stream.

Converting DVB subtitles into WebVTT


Nimble Streamer Transcoder can convert DVB subtitles into WebVTT for HLS live streams using image recognition AI.

DVB teletext can also be converted into WebVTT.

Read this article for more details.

Passing DVB subtitles through Live Transcoder


If you need to transcode your streams (e.g. make multiple resolutions or put graphics on top) and keep DVB subtitles from the source stream, you'll need to make some additional changes to your transcoding scenarios. Also notice that you must have dvb_subtitles_processing_enabled parameter enabled as described above.

Let's take a look at a simple scenario which allows keeping original stream as well as make lower resolutions.


Here you see /live/source stream being processed to get /live/output_480p output stream down-scaled to 480p (via Scale filter box) and keep the original rendition as /live/output_original stream.

There are 2 ways of passing the DVB - via video and via audio pipeline. We'll demonstrate both ways.

The /live/output_original stream has video being passed through - you can see long line with blue-to-orange gradient. This way, if you have full HD stream as input, you won't waste resources decoding and encoding the content to the same rendition. But the audio is split to decoder and encoder. Let's see their settings.

Decoder settings for DVB forwarding


Encoder settings for DVB forwarding

In the source stream decoder you see the enabled Forward DVB subtitles checkbox. It enables the transcoder to grab the subtitles for processing. In audio encoder setting, you click on Expert setup section to see the Forward DVB subtitles checkbox again. Check it to make the encoder take the subtitles which were previously grabbed into the pipeline by the decoder. After saving the transcoder scenario and re-starting the incoming stream, the output will have the DVB subtitles in the result stream.

The /live/output_480p stream has audio being passed through while video is transformed to lower rendition. So here we use video pipeline to pass DVB subtitles. It's set up the same way - both in decoder and encoder elements. You need to check Forward DVB subtitles checkbox in video decoder and in video encoder settings under Expert setup section. As in case of audio, once you save the scenario and re-start input stream, the output will have the initial DVB subtitles.


Enable the WebVTT subtitles processing for Playout generated streams


Following our customers’ feedback, we continue our work on adding WebVTT support for Live Streams. Currently, you can produce a live stream with WebVTT subtitles from VOD files via Playout. To preserve these subtitles for Transcoder processed streams, use the “Forward WebVTT subtitles” checkbox in both decoder and encoder settings.

Set forwarding WebVTT subtitles in encoder settings




Please also check Subtitles digest page to see what else Nimble can do for you.


Related documentation


Live TranscoderMPEG2TS streamingHLS streaming









February 14, 2017

Forward CEA-708 subtitles with Nimble Streamer

Providing subtitles as part of live streaming is important and is required by law is some countries. So people ask adding that capability into Nimble Streamer in addition to VOD subtitles support.

There are cases when source stream which comes into Nimble Streamer already contains subtitles metainformation. So now Nimble allows forwarding CEA-708 subtitles. This means that all outgoing streams for all supported protocols will include subtitles.

This works for both transmuxing and transcoding of H.264 (AVC) content.

Transmuxing support this forwarding by default. Whatever metainformation is inserted into the original stream, it is passed through to all other protocols.

To make this work in Live Transcoder scenarios, you need to enable this feature for outgoing streams. It's a premium add-on for this media server and it has easy-to-use web UI to control transcoding behavior. To install and get a license for it, visit this page.
To enable this feature for particular encoded stream, you need to edit an encoder block for the stream which you want subtitles to be forwarded for.

Transcoder scenario

Click on encoder details icon to open encoder details dialog.



Check the Forward CEA-708 subtitles box and save settings to close the dialog. Then click Save on scenario age to apply it on server.

That's it - the forwarding will start working right after a scenario is saved on server.


Also take a look at DVB subtitles processing and SCTE-35 processing which can also be passed through Live Transcoder.

Please also check Subtitles digest page to see what else Nimble can do for you.


Feel free to visit Live Transcoder webpage for other transcoding features description and contact us if you have any question.

Related documentation