NetUP Stream Processor
NetUP Stream Processor
[email protected]
NetUP Stream Processor
Device purpose
Specifications
Quick start
First launch of the web interface
Useful tips
How to receive a stream?
How to change the video-audio codec?
How to broadcast a stream?
LCD panel
Launch
Screens
How to set IP address and subnet mask?
General processing settings
Transcoding
Processing presets
Processing options
Selection of elementary streams
Supported operators
Supported attributes
Expression examples
Subtitle processing
Playlists and streaming from media files
Mosaic creation
Scrolling text overlay
Static image overlay
Animation overlay
Tips for preparing media files
How to overlay animation?
Streams reception configuring
Delay of received streams
URL receiving mode
Demultiplexing MPTS
Streaming configuring
HLS and Dash
Adaptive streams
UDP
HTTP Progressive
Catchup manager
General settings
Language selection
Settings backup
Server settings module
Modules
Firmware
Backup
Licence
Connections
Network
Configure interfaces
Create VLAN, VTUN, BOND
Specify IP address of DNS
NetUP support tunnel
Routing
Users & Roles
Time
FAQ
How to grant access to the server?
How and why to use a debug cable?
API GraphQL
How does Stream Processor work?
How to begin?
Authorization
API: Practical examples
Get a list of nodes
Add incoming stream
Add a Transcoder node
Add Mosaic node
Add Adaptive Stream (HLS)
Device purpose
NetUP Stream Processor is a multifunctional software-hardware complex designed to solve video streaming problems. General
functions can be divided into several parts:
Receiving any IP streams: from third-party providers, cameras, videoconferences, VoD, encoders or other arbitrary streams, as
well as loading media files;
High performance processing of received streams or media files: transcoding, converting formats, animated or static
graphics overlay (logos, timers etc.), recording streams to archive (CacthUP&TimeShift) and protection with tokens and AES-
encryption, mosaic channel creation;
Broadcasting of received and processed streams or media files in the most popular and demanded formats directly to the
user’s or any other devices.
Specifications
Quick start
Before you start the NetUP Stream Processor:
1) Connect the Ethernet cable to the 1st port on the front panel;
After turning on the device, wait a few minutes for it boot up. Now you need to launch the web interface.
1) Have a PC or Smart device with a web browser in the same local network;
3) Make sure that any sources of IP streams are available from this network for interaction.
Launch the web interface and open the Stream Processor module, which is used for receiving, processing and streaming IP
streams. The following articles will be helpful for you in setting up:
As result, the Home page opens. It contains the values of the main server parameters and links to modules included in your license.
It is strongly recommended to change the password immediately after the first log in. To do it, click on the user
name in the upper-right corner of the Home page and select Change password.
The network adapter №1 on the front panel of the NetUP Stream Processor is the eth0 in the web interface, №2
– eth1, №3 – eth2, №4 – eth3.
Useful tips
To create any processing or streaming node, you need to select a source. The source field supports Search by names of
nodes.
To control the processing result, you can create an output stream in the Streaming tab and press Quick Preview icon:
Use Copy button on the created output streams. In addition to the copy function, it shows a list of all links for this stream.
2) Open the Receiving tab, then in the lower-right corner press Start receiving and select the required protocol. In this example, we
use UDP, other protocols are configured similarly.
3) In the opened form you need to fill in (all fields are required):
Alias - name of the source. Not transmitted, valid only within the Stream Processor for quick search when setting up;
Press Create.
A line with the created stream will immediately appear. After a few seconds the bitrate will be determined and will be available a quick
preview. The stream is received and ready for further processing.
Alias - name of the source. Not transmitted, valid only within the Stream Processor for quick search when setting up;
Source - choose the source for processing; These can be input streams or streams from other processing nodes. Field
supports Search.
4) Press Create and the line with specified processing settings will displayed immediately.
Processing has started, now it can be selected when creating other nodes or output streams.
1) Go to the Streaming tab, in the lower-left corner, press Start streaming and select needed format.
2) In the opened form fill in the settings accordance with the selected protocol: As a source you can select both the input stream for
pass-through (streaming as-is, without processing) or any processed stream.
You can copy the IP address of the stream and try to run on any player or device that can play IP streams.
LCD panel
Stream Processor equipped with an LCD panel and control buttons. You can use them for the initial setup of the device, monitoring
load of the LAN-interfaces and CPU and setup IP addresses for network adapters.
Launch
Before you start the NetUP server, plug the network and power cables into the device and then switch power on.
After starting, the LCD screen displays Starting…or Startup…. It depends on a model of your device. Then the screen indicates the
total rate of input and output traffic.
Screens
Use Up and Down buttons to navigate through menu elements:
Generate (Reset) password – generate a new admin password. Press Enter to shut down, reboot server or to generate new
password.
First number is the total CPU load. Three subsequent numbers give, correspondingly, the portions of CPU load related to user
tasks (u-ser), system tasks (s-ystem), and awaiting data from the peripherals (w-ait).
Network setup – set IP address and subnet mask. See the following article for the setup procedure.
If your device does not display the Network setup screen, press Fn button on any statistics screen and then
press Enter. The network configuration screen will appear.
2) Press Up and Down buttons to select the network interface, then press Enter.
Press Enter to select an octet for editing and then press Up or Down to change it. The selected octet will be indicated by a symbol “
>”.
Select the last octet of the IP address and press Enter to go to edit the subnet mask.
Press Up or Down to increase or decrease the number of mask bits and press Enter to go to the save dialog.
Use Up and Down buttons to select one of the following options: Save changes – to save IP address and subnet mask, Discard – to
cancel changes. The selected option is emphasized with brackets. Press Enter to confirm the selection.
General processing settings
Transcoding
The feature is intended to change the video-audio codecs and other settings for any streams connected to the device.
By default it is recommended to use the GPU accelerated processing type as the most performed. This type is based on Intel
Quick Sync Video (QSV) technology. NetUP platforms supplied with Stream Processor software support this technology.
In case of using Stream Processor software based on servers without QSV support, the CPU transcoding option is allowed. The
performance of this method is very low. The CPU is not designed for such operations.
Transcoding methods on CPU and GPU can be used simultaneously within the same server.
The general method for Processing setup is described in the Quick start section.
transcode (GPU accelerated) is the recommended processing mode. The only mode for overlaying text, graphics, changing
codecs, etc.;
transcode (CPU accelerated) - processing type on the CPU. Graphics overlay and text in this mode is not available;
Other settings:
Audio and subtitle settings allow to select elementary streams both visually (by checking the necessary ones) and in advanced
mode.
Processing presets
The following types of presets are possible for transcoding:
General processing preset. Includes settings immediately for video, audio and subtitles;
Local processing preset. Located inside the video or audio tab and includes the settings of only the selected tab.
To create a general processing preset, configure all three tabs of the transcoding, press the save preset button and set a name.
To create a local processing preset, do the same, in one video or audio tab.
All created presets available for use in any processing of the system.
Processing options
You can add different processing variants for a specific stream to create adaptive streams or other purposes.
To add a variant just press Add variant in the settings of transcoder processing. After configuring the settings press Save. The
variant will be available for selection in the output streams.
For this feature, go to the processing settings of the stream and open the audio or subtitles tab.
Supported operators
⇐ - less than or equals to
= - equals
!= - not equals
| - logical OR
For grouping conditions supported the parentheses ( ). Spaces around operators and operands are ignored.
Supported attributes
index - elementary stream index (numbering in order, from 0)
Expression examples
Selection of first audio stream:
index=0
codec=mp2
codec=mp2 | codec=aac
selection of all audio streams with MP2 and AAC codecs and russian language:
Subtitle processing
Stream Processor allows to perform the operation of converting dvb-teletext subtitles to webvtt format.
Setting method:
1) Ensure the reception of the stream in which there are definitely dvb-teletext subtitles.
2) Perform processing, if necessary. When setting up processing on the subtitles tab, you must select the subtitle tracks that will be
forwarded to the resulting stream. At this stage, only the processing of Audio and Video takes place, the subtitles are simply
forwarded through the node in their original form.
4) While configuring the output node, expand the Subtitles menu at the bottom of it:
Click the Add Subtitlesbutton, then set a custom name and specify the teletext subtitle page number. Page 888 is used quite often.
Save these changes.
5) For work, you need to use a link to an adaptive playlist as a playlist, even if there is only one stream.
Playlists and streaming from media files
Stream Processor allows you to download arbitrary video files and collect playlists from them, if you have the required license. Each
playlist broadcasting as a separate stream.
1) Open the Receiving tab, in the lower-right corner press Start receiving.
2) In the opened form choose Source type ⇒ Media file and fill inAlias (arbitrary).
4) Upload the files for streaming one by one. It will be displayed in the Uploaded media files list. To add file to the playlist click on it
and it will move to the Current playlist
5) If there is only one file, then you can press Save If there are several files, then you can sort them using drag and drop or arrows.
You can also activate the option Repeat.
6) After you have formed and saved the playlist, you need to configure its streaming
Mosaic creation
This function allows you to create a mosaic channel from arbitrary input streams:
1) Choose a tab Processing, in the lower-right corner press Start Processing Mosaic.
2) The field Resolution defines this setting to the final output mosaic channel.
3) Choose the optimal grid dimension. The grid is needed only for useful movement of elements with the mouse. The mosaic
elements can be of arbitrary size and position. The exact settings of the size and position of elements can be set when adding them
using the X, Y, width, height fields.
4) Select the required stream and place it on the screen. Add streams until you achieve the desired result.
6) Press Save. The operation is now started and you can create an output stream.
This operation is highly loaded. Load depends on the settings of incoming streams. Basically from the selected
Mosaic resolution and codec.
Scrolling text overlay
To overlay a one-time scrolling text, follow these steps:
1) Open the tab Processing, perform transcoding with the stream on which you want to overlay the scrolling text.
Overlay is possible only if you set the Processing type = transcode (with GPU acceleration).
2) At the top of the transcoding settings window press button Run scrolling text.
3) Fill in the text. The operation will start immediately after press the Run button.
The operation of scrolling text overlay takes about 7 seconds after you press the Run.
Static image overlay
This function allows you to overlay an arbitrary image on any stream. The overlay takes place immediately without disruptions or
artifacts in the stream. Application:
1) Open the tab Processing, perform transcoding with the stream on which you want to overlay the image.
Overlay is possible only if you set the Processing type = transcode (with GPU acceleration).
3) Set the optimal Grid size. The grid is needed only for useful movement of elements with the mouse. More detailed editing of the
image, it size and position is possible using the fields in the right of its preview when loading.
4) Download the needed image. Multiple images can be used.
All the most popular vector and raster image formats are supported. Recommended: PNG, JPEG, SVG
The operation of static graphics overlay takes about 7 seconds after you press the Run. Depends on the amount
of graphics. Optimized graphics are recommended.
5) Place the images, then press the Save button. The overlay takes place immediately.
You can quickly control the result by running the stream from the Streaming tab in any player or by using the preview icon:
Animation overlay
To overlay animation you can use any popular codecs and containers, including with an alpha channel.
2) Try to make the minimum normal resolution for the animation file. The time to prepare the animation overlay directly depends
on this!
With optimal media files, the animation overlay takes approximately 8-10 seconds for HD and SD streams after
you press Start animation overlay.
Overlay is possible only if you set the Processing type = transcode (with GPU acceleration).
5) Upload and select the animation video, then set the size and position.
6) Click the play button on the right side of the screen. from this moment preprocessing of the animation and its launch starts.
Streams reception configuring
For the general method of setting up streams reception, see the section Quick start - How to receive a stream?
To use the function, you need to enter the delay duration in the corresponding field when adding a stream on the receivingtab.
Range of valid values: 0 - 60 seconds.
Demultiplexing MPTS
Stream Processor allows to receive and demultiplex (“parse") the incoming MPTS stream into separate SPTS.
1) Add incoming MPTS stream on the Receiving tab. After adding in its properties, Stream Content menu will be displayed. Inside
will be a list of available channels.
2) Transcoding If the task is to get from MPTS > SPTS - move to step 3!. On the Processing tab, create a node and select the
MPTS input stream. After that, you will be able to choose which of the channels within this stream will process the created
transcoding node.
3) Create a node in the Streaming tab. As a source for it, you can choose the result of transcoding from the MPTS or the input node.
At this stage, you will receive SPTS links depending on the selected protocol.
Streaming configuring
HLS and Dash
Recommended for use in OTT solutions. Setting Storage duration is intended for configuration CatchUP & PauseTV services.
HLS and Dash streams are automatically added to the CatchUP manager.
Adaptive streams
Adaptive streams are only available for streaming using the HLS and Dash protocols.
4) In the opened form confirm again which streams will be add to playlist and if necessary change the storage directory. Press Save.
5) In the list of output streams, click Copy, there you can find a link to the created playlist.
UDP
Multicast streaming. The best option for a local network (LAN). Make sure that IGMP Snooping and Query are configured correctly
on your network devices. This type of streaming allows you to configure an additional group of settings, if necessary:
HTTP Progressive
One type of Unicast-streaming has quite low signal delay. At least for correct setting the Name field is required. This field generates a
link to your streaming.
CatchUp manager
This function is intended for online monitoring of all recorded HLS streams, their actual Disk usage and viewing timelines. To launch
the CatchUp manager, click on the icon in the upper-left corner of the interface.
When you create any HLS-stream in the Streaming tab (with storage duration = 0 hours by default), it immediately moves to the
CatchUp manager and is marked as a not recording. If a non-zero hours storage duration is specified for a stream, then the stream
is marked as recording.
You can set the storage duration for already created streams directly from the stream manager page. To do this, in the lower right
corner, click the Edit CatchUP button. The opened window has its own quick help:
Start recording streams: go to not recording, select streams, set storage duration to a desired value. Start recording Press
Add. Change storage duration for streams: go to recording, select streams, set new storage duration. Check apply to existing
records to update storage duration. Press Update. Delete records: go to recording, select streams, set storage duration to 0
to stop recording selected streams. Check apply to existing records to also delete the recordings of the selected streams
that have already been made. Press Update.
The option apply to existing records allows you to set a new storage duration for all old chunks of the stream. The time is counted
from the date of creation of a specific chunk.
Technically, every chunk in the system has a creation date and storage duration. After the storage duration
expires, chunk is automatically deleted.
General settings
Language selection
There are two ways to change the language:
2) In any screen, press the Settings icon, which is located in the upper-right corner and go to the Settings
Settings backup
Stream Processor allows to save node settings. This does not include presets, overlays, general settings. The function is available
from the top-right Settings menu.
To full backup of the system you need General Server Settings. You can access them through the main web interface page.
Server settings module
Launch the web interface of NetUP.tv. Log in and click on the corresponding button on the Home page to go to the module and set
up the server.
The side menu of the module allows access to the following pages:
Modules
Firmware
Backup
Licence
Connections
Network
Routing
Time
Module contains a certain set of functions that are responsible for the operation of a NetUP.tv component, for example, dvb-gw is
responsible for the operation of NetUP DVB IP Streamer.
3. Upload a module.
Drag your files to the web page and the upload dialog will open automatically
After uploading and installing a new module, go to the tab Services to run this module. Click on the corresponding button in front of
the service responsible for the module, and then confirm the action in the window that opens. Similarly, you can stop some services if
you do not plan to use corresponding modules.
Firmware
Open this page to upload, install or delete a firmware.
Drag your files to the web page and the upload dialog will open automatically
Firmware of different versions of the NetUP.tv system may not be consistent with each other.
If you need to downgrade to previous firmware releases, contact the NetUP technical support department
Please note that you can upload incompatible firmware and it will appear in the list. A warning message will
appear only when you try to install this firmware
Backup
The NetUP.tv system provides automatic backup once a day.
The latest automatic backup is available for download at the link. You can open or close access to the archive, as well as copy or
reset the link.
To create or upload backup , click on NEW in the lower right corner and select an action.
To restore system settings, select an archive, click on and confirm the action in the window that opens.
Before restoring a backup, make sure that the backup was NOT created during the period when you used the
firmware related to the another release. The release number is the first two digits of the product version, for
example, 2.0, 2.2, etc.
In the opened window, select the files you want to load, or drag them, wait for the download to finish and close the window.
Before uploading a new license, make sure this license is fully compatible with the old one
Connections
Open this page to see all NetUP.tv systems. Each of the systems has a separate panel. The panel displays a list of services with
which interaction is possible. Addresses of interacting services are links.
Expand a panel and click on the pen icon next to the service you want to edit. In the opened window write the address manually or
check Auto detect box to detect the address automatically, then click on Save.
Network
Open this page if you want to:
Cofigure interfaces which are related to the network interfaces on the front panel of your streamer. The №1 network interface on
the streamer front panel is the eth0 in the web interface, №2 – eth1, №3 – eth2, №4 – eth3
Each of the interfaces, DNS and NetUP support tunnel has a panel. Expand a panel to access the settings.
Configure interfaces
An interface settings panel has a list of the IP addresses assigned to this interface and buttons to add IPv4 and IPv6 address. Click
on one of the buttons to add IP address or click on an existing address to edit it. Write or edit the address, click on , and then
click on APPLY.
If IP address is not the main or the last remaining IP address, you can delete it. Click on next to the IP address and click on
You cannot delete the address assigned for the main interface. It is used for the component’s interaction and
thus is absolutely crucial for the system’s operation. The default main interface is eth0
Under an interface name you can see its status: UP– the network cable is connected and the interface is configured or DOWN – the
interface is not configured. If some interface is not configured, click on and create an empty configuration for it to see
whether the cable is connected to the corresponding interface on the streamer front panel.
To create a virtual interface, click on ADD at the bottom of the page and select one of the following types: VTUN,
bond or VLAN. In the opened dialog fill in the fields and click on CREATE.
To delete a virtual interface, expand its panel, click on and select Remove interface configuration.
Set the correct time zone before uploading the license. Time zone changes after the server reboot
In the web interface, you can enable time synchronization with the time server of your choice. Time are synchronized with
debian.pool.ntp.org by default
FAQ
In this section you will find answers to the questions that our customers most often ask if something went wrong.
How to grant access to the server?
If you need to provide NetUP support with access to your server, follow these steps:
1. Make sure your server has Internet access. The server can be connected to the Internet directly or through an intermediate
server.
2. Choose one of the ways to provide access to your server and do the necessary preparatory steps.
Tunnel 1. Log in to the web interface of the server you want to provide access to, go to the Server settings
(recommended module and open the Network page.
way)
2. Expand the NetUP support panel and specify Host and Port, then enable the tunnel.
3. Notify NetUP support that you have enabled the tunnel and give the following information:
The Local IP which will appear on the NetUP support panel after enabling the tunnel;
2. Check the reliability and, if necessary, change the password to access your server.
Data bits 8
Parity None
Stop bits 1
This document contains a basic description of the API and some examples of interaction with it.
How does Stream Processor work?
NetUP Stream Processor is designed for processing multimedia streams and includes three tabs: input, processing node and
output.
The nodes are connected to each other, connected in a directed graph, in which the stream is directed from the input (source of
multimedia data) through the processing node to the output.
The role of the input is to receive the stream (INPUT), the role of the processing node is to transform it (PROCESSING), the role of
the output is streaming (OUTPUT).
One input can be a source for multiple processing nodes or connected to multiple outputs. One processing node can receive streams
from several inputs (for example, a MOSAIC-type node) or duplicate data into several outputs (for example, a TRANSCODER-type
node). This way, efficient use of resources is achieved.
TRANSCODER PROCESSING Node for adaptive video and audio transcoding. Depending on the configuration, it
can have one or many adaptive options, synchronized by key frames and DTS (I-
frame alignment).
MOSAIC PROCESSING Combines multiple video streams into one grid (mosaic). Does not convert audio
streams
Node type Role Description
HLS_OUTPUT OUTPUT Streams HLS (adaptive streams). Creates media and master playlists, cuts HLS
segments
To connect a node, specify the source - feed and its parameters in the request: id: number, node: string, select?:
string Where id - source number (numbering from zero), node - source node identifier, select - a rule for choosing a program in
the case of MPTS, by default - the first program in the order of their declaration in PAT.
Usually a node has one source, but in the case of a mosaic, there are several sources and the request must
specify parameters for each of them.
After the start, each node announces its own set of elementary streams: video, audio, subtitles. In the case of MPEG-TS, many
programs can be available in one stream, each of which has several elementary streams, thus, the number of elementary streams
can be tens or hundreds.
Information about elementary streams is dynamic - constantly updated. For example, in the MPEG-TS format, the set of programs
may change, or the set of elementary streams of each program may change due to advertise insertion. Each time the set of
elementary streams changes, the node announces a new list, and subsequent nodes react to the changes.
Each elementary stream has a set of required parameters:
In addition, optional parameters are available: program, program_name, provider, provider_name, pid, codec,
codec_profile, bitrate, resolution, language, frame_rate which in general may not be available. For example,
program_name and pid are MPEG-TS specific parameters. They are not available with other streams.
How to begin?
If you have already worked with our API or with similar services on other platforms, you can skip this section.
Kindly note:
You can use HTTP Basic Authentication or send a POST request to http://<IP-address>/system/api/login and
use cookie.
Use Playground for preparing and testing requests. On the SCHEMA tab, you will find a list of operators and related parameters,
and on the DOCS tab, their detailed descriptions.
mutation data change analog in REST - POST / PUT / PATCH, in CRUD model - Create / Update /
Delete
To pass input data with a query, write it to QUERY VARIABLES as a JSON object. Objects are made up of pairs key: value where
key is string and value is a valid JSON data type (string, number, object, array, boolean, or null).
If you use HTTP Basic Authentication, then each request must contain your login, password and header
Header
Body
For example,
As a result of the successful execution of the POST request, the API will return a JSON object containing the username and
cookies (session and session.sig) .
In case of an error, the API response will contain a JSON object with the message AUTH_LOGIN_OR_PASSOWRD_INCORRECT
API: Practical examples
All examples are queries written in the GraphQL Playground (http://<IP-address>/stream-processor/api/graphql).
The requests with which you need to transfer incoming data are divided into two parts: BODY and QUERY VARIABLES. The
responses come in the form of a JSON object.
Get a list of nodes
Enter in the request the parameters that must be specified in the response for each stream, for example:
query { nodes { id type ...inputParams ...hlsOutputParams } } fragment inputParams on SimpleInputNode { id type alias
disabled inputConfig: config { uri } state } fragment hlsOutputParams on HLSOutputNode { id type alias disabled hlsConfig:
config { uri variants { key_update_period encrypt storage_duration name playlist_duration target_duration pmt_pid }
variant_sets { variants name } } state }
In response, you will receive a list of all available nodes that match your request, for example:
{ "data": { "nodes": [ { "id": "qB1BNX3o", "type": "TRANSCODER" }, { "id": "YNI4sn1H", "type": "HLS_OUTPUT", "alias": "Russia
HD", "disabled": false, "hlsConfig": { "uri": null, "variants": [ { "key_update_period": 50, "encrypt": false,
"storage_duration": 0, "name": "rossiya-hd_640x350", "playlist_duration": 100, "target_duration": 10, "pmt_pid": null }, {
"key_update_period": 50, "encrypt": false, "storage_duration": 0, "name": "rossiya-hd_960x540", "playlist_duration": 100,
"target_duration": 10, "pmt_pid": null }, { "key_update_period": 50, "encrypt": false, "storage_duration": 0, "name":
"rossiya-hd_1280x720", "playlist_duration": 100, "target_duration": 10, "pmt_pid": null } ], "variant_sets": [ { "variants":
[ 0, 1, 2 ], "name": "rossiya-hd" } ] }, "state": "STARTED" }, { "id": "e8MBljU2", "type": "SIMPLE_INPUT", "alias": "NatGeo
HD", "disabled": false, "inputConfig": { "uri": "udp://234.5.2.227:1234" }, "state": "STARTED" }, ... { "id": "CxJjGNbr",
"type": "SIMPLE_INPUT", "alias": "Test", "disabled": true, "inputConfig": { "uri": "udp://234.5.2.50:1234" }, "state":
"STOPPED" } ] } }
Open DOCS ⇒ nodes(…):[MacroNode!]! IMPLEMENTATIONS and select the node type to see the set of
parameters available to it
Add incoming stream
Use a request type mutation and insert in QUERY VARIABLES stream parameter values, for example:
{ "data": { "createSimpleInputNode": { "id": "fde2DYhO", "type": "SIMPLE_INPUT", "alias": "Channel2", "role": "INPUT",
"disabled": false, "config": { "uri": "udp://224.119.5.6:1234" }, "feeds": null, "state": "STARTING", "error": null } } }
Add a Transcoder node
Use a request type mutation and insert in QUERY VARIABLES transcoding parameter values, for example:
{ "data": { "createTranscoderNode": { "id": "WI2EHzf4", "type": "TRANSCODER", "feeds": [ { "id": 0, "node": "JjA4SOkq" } ],
"streams": [ { "media": "video", "program": 2050, "program_name": "15 TV3", "provider_name": "RTRS", "pid": 2051, "codec":
"avc", "codec_profile": “main", "resolution": { "width": 1280, "height": 720 } }, { "media": "audio", "program": 2050,
"program_name": null, "provider_name": null, "pid": 2052, "codec": "aac", "codec_profile": null, "resolution": null } ],
"alias": "Transcoder3", "disabled": false, "state": "STARTED", "error": null, "config": { "variants": [ { "video": { "codec":
"avc", "codec_profile": "main", "bitrate": null, "resolution": { "width": 1280, "height": 720 }, "bypass": false }, "audio":
[ { "codec": "aac", "bitrate": 128, "channel_layout": "stereo", "sample_rate": 48000, "aac_fast": true, "fix_wraps": true,
"allowed_pts_diff": 50, "bypass": false } ], "subtitles": [ { "select": null, "bypass": true } ] } ] } } } }
Add Mosaic node
Use a request type mutation and insert in QUERY VARIABLES the IDs of streams that you want to include in the mosaic, for
example:
{ "data": { "createHLSOutputNode": { "id": "fDDYkm_N", "type": "HLS_OUTPUT", "role": "OUTPUT", "disabled": false, "state":
"STARTED", "feeds": [ { "id": 0, "node": "O8spPfLu", "select": null } ], "alias": "HLS2", "error": null, "hlsOutputConfig": {
"uri": null, "variants": [ { "key_update_period": 50, "encrypt": false, "storage_duration": 0, "name": "15-tv3_720x576_11",
"bandwidth": 0, "playlist_duration": 100, "target_duration": 10, "pmt_pid": null, "width": null, "height": null, "disabled":
null }, { "key_update_period": 50, "encrypt": false, "storage_duration": 0, "name": "15-tv3_1280x720_12", "bandwidth": 0,
"playlist_duration": 100, "target_duration": 10, "pmt_pid": null, "width": null, "height": null, "disabled": null }, {
"key_update_period": 50, "encrypt": false, "storage_duration": 0, "name": "15-tv3_720x576_22", "bandwidth": 0,
"playlist_duration": 100, "target_duration": 10, "pmt_pid": null, "width": null, "height": null, "disabled": null } ],
"variant_sets": [] } } } }