MyCujoo LiveServices logo

Home

Product & Features

Getting started

Glossary

API Documentation

Stream Configurations

"Stream configurations" are how you control the properties and characteristics of your streams. This article explains the options that are available, and some use-cases for them

When creating a stream you need to specify which of your stream configurations to use, or you can use the system level configuration which has the most common features enabled. Options such as defining transcoding settings, including which video representations to transcode, enabling RTMP push or pull and including a watermark are some of the common stream features.

You can create multiple different configurations for different purposes.


General

Secure links (Hotlink protection)

Secure links make sure that your playlists are not easily sharable on 3rd party websites. It accomplishes this by generating a unique signature for everyone watching the stream. When someone tries to copy the playlist and load it on another computer the system blocks that call rendering the playlists useless. Please note that this does not encrypt the video, nor is it tamper-proof. It's not a replacement for Digital Rights Management (DRM), but it's a good way to add another layer of security to your streams.

RTMP pull endpoints

This option will generate an RTMP endpoint for your raw stream in order to access the raw stream independently of the MCLS video player. (For your information, additionally you can define RTMP push endpoints to push your raw streams to other 3rd party services or platforms. This is defined during stream creation)


Transcoding

The transcoding section contains a number of options. For further explanation of what transcoding is please read the glossary article "type: entry-hyperlink id: c2TVdaVAjVWEkUM27QOmyQN".

Transcoding needs to be enabled before publishing in the video player. For some use cases transcoding is not required and can be disabled completely.

Autostart transcoding

Instructs the transcoding process to start automatically when an incoming signal is detected. It can be convenient if you plan to go live shortly after sending signal. If not then you may want to start transcoding manually on the stream when its required through the stream manager. This is especially useful if you send signal significantly earlier than the publishing time in which case you can save the costs of transcoding when its not needed.

Low latency

When transcoding a stream to be pushed via RTMP to an external endpoint, this option optimizes the transcoding for low latency.

Audio bitrate

Set here your outgoing audio bitrate to determine the quality of audio your users will hear. 128 kbps is recommended for most use cases.

Segment size

Defined in seconds this is the size of the transcoded video segments that the video player uses to display the video to users. A recommended segment size of 8 seconds provides a good balance of latency vs video stability, as players usually buffer a few segments before starting the video. You can specify lower values to decrease the latency or increase it to improve stability. Bear in mind that the length of highlight clips when available are a multiple of the segment size. Shorter segments can also lead to more buffering on the client side since there will be less video buffered by the video player.

GOP (Group of pictures)

A keyframe is a special frame that requires more data to store. You can view it as a "whole picture" and the other frames being partial pictures. Because they need more data to store not every frame can be a keyframe. This setting controls how often keyframes are created. Setting this value higher can result in a smoother and better quality viewing experience but also requires more bandwidth. We recommend this setting to be twice your frame rate. The GOP relates to the key frame interval and is the number of frames between key frames. For example, a video with 30 fps and a GOP of 60 will produce a keyframe every 2 seconds. HLS segments can only start on a keyframe so this setting will directly affect the end-to-end latency that someone watching the stream experiences because it controls how long the segments can be. Let's say you have a feed of 30 frames per second and you want to have two second seconds. This means that we would set the GOP to 60 (every 60 frames) to make sure that every 2 seconds we are able to "Cut" the video. If you would set this video to 30 (every 30 frames) then we would be able to cut the video every 1 second. So this value directly influences the "Segment size" value. If you set the segment size to 1 second but you set this value to 60 or higher we cannot actually create 1 second segments because they would not actually start with a key frame.

Video representations

Select here the video qualities that you would like the transcoding process to generate. The video player auto-selects the best available quality for the user based on their connection and screen size, and the user can override that by choosing a specific quality from those available through the player if they prefer.

Watermark

Use this feature to encode a logo or other graphic into the transcoded video streams. You will need to provide the URL to a png, jpg or gif file, specify the dimensions you need and select the position on the video you would like it to appear. Transparency in pngs and gifs is supported.


DVR

These settings determine how your video recordings are made available.

Window size

The amount of time in seconds you would like users to be able to scroll back in the video. The longer this value the longer your playlists will be so we recommend a DVR window up to 8 hours, longer might cause issues with loading the stream.

Automatic VOD

This settings controls if we should automatically regard all streams who's signal terminates as Video-on-demand (VOD) resources. If you use events to stream your content this process will be controlled by Publish and un-publish.

Recording

Our system allows you to record the incoming feed and save it into downloadable video files. There are two main options for enabling recording:

Autostart recording

This option will make sure that recording is automatically started when you send signal to our RTMP ingest endpoints. This will happen regardless of transcoding except when the second option is enabled.

Record during transcoding

This option only records the incoming feed if there is transcoding active. Even if the first option is selected, this option takes precedence. This means that if this option is enabled in your configuration no recordings will be made unless transcoding is started (manually or automatically).