MyCujoo LiveServices logo
HomeProductsPricingHelp Center
Create your accountSign in
Sign In
Help centerProduct & FeaturesStream Configuration

Home

Products

Pricing

Help Center

Welcome

Product & Features

Getting started

Glossary

API Documentation

Stream Configuration

"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.


How to use it

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)


HLS / Player Transcoding

The transcoding section contains a number of options. For further explanation of what transcoding is please read the glossary article "Transcoding".

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.

Note: When you have autostart transcoding enabled and you manually stop transcoding, transcoding will be restarted when the incoming stream reconnects. If this is not desired then we recommending turning this setting off and rely on manually controlling the transcoding.

Low latency

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

Follow source FPS

When enabled, the output framerate of the transcoded feed will be determined by the framerate of the incoming feed.

Note: Enabling follow source FPS will disable all other framerates defined in the selected video representations. All video representations will run at the same (Source) framerate. See the Video representations section for more details.

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 6 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.

The principle behind this is that every segment has to be downloaded by a video player. This carries the overhead of downloading the segment. If a connection is not fast enough to fill a buffer with segments because it takes a few seconds to load a segment then the playlist can stall while it downloads more segments. We generally advice a segment size of 6 seconds for a good compromise between latency and reliability but 4 second segment segments should also be fine. When a lower latency stream is required, be sure to select the "Low latency" option and use segments of 2 seconds. Customers watching this stream might have playback issues when bandwidth is limited such as on mobile internet connections.

What is an option however is to create two streams, one with a longer segment size and one with a shorter segment size and let the user switch between these two streams by using two embeds or using a custom video player.

Keyframe interval

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. Keyframe Interval determines how frequently keyframes will be added. For example, a value of 2 will insert one keyframe every 2 seconds.

Video representations

Select the video representations you want to be available in your video player when using our HLS playlists. By default, our video player will display the user's optimal quality based on their connection and screen size; The user can override the default with the options selected below. The quality selector options in video players that use the transcoded playlists will be determined by two things:

  • Resolution

  • Bitrate

The resolution is not used when making the decision to switch qualities, only the bitrate. It determines this by checking the throughput of the client and if your connection can handle a higher bitrate, it will switch to that Video Representation regardless of the resolution it has.

Click on "Manage video representations" to select the options provided by MCLS as a default, in addition to creating your own representations based on your requirements. Each video representation contains a name, width and height in pixels, an aspect ratio, framerate and bitrate.

Note: if you enabled "Follow source FPS" in the HLS / Player Transcoding section, the framerate specified in the representation will be ignored, and instead, the framerate of the incoming feed will be used for your transcoded feed.

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 PNG and GIF files is supported.


DVR

These settings determine how your video recordings are made available.

Note: DVR settings have no effect on uploaded videos.

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.

Transition to VOD after the termination of incoming RTMP signal

This setting controls whether we should automatically regard all streams whose 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).