Common use cases
Optimize end-to-end latency
A low latency feature is now available on both and services to improve the transmission duration of data.
To enable this feature, the following steps must be done on both and servers.
-
Create and configure a service:
-
Configure the parameters as for any other service:
- Configure the General parameters.
- Configure the source parameters in the Input tab.
- Configure the video and audio parameters in the Media processing tab.
- Select the export type and all the encoding parameters in the Encoding tab.
-
Add and configure as many outputs as needed in the Output tab and:
- Tick the Direct Path for low latency checkbox in the Common MPEG-2 TS parameters section.
- Enter the publication IP address in the Output stream section.
-
-
Create and configure a catalog:
-
Add an HLS or DASH over CMAF output to the catalog.
-
Configure the General parameters and tick the Low latency checkbox in the General parameters section.
-
Configure the remaining output parameters as for any other catalog output:
- Configure the DASH parameters if needed.
- Configure the HLS parameters if needed.
- Configure the delivery parameters.
-
-
Create and configure a service:
-
Configure the Ingest parameters and:
- Enter the same Stream IP address as set up in the output tab of the service.
- Tick the Direct Path for low latency checkbox.
-
Configure the DVR parameters:
- Define the storage location for the DVR.
- Set the DVR duration.
- Set the DVR writing mode to Low latency.
-
Associate the service with the catalog that contains the HLS or DASH over CMAF output configured with the Low latency parameter.
-
-
Start both and services.
End-to-end latency is now reduced compared with other services.
Publish Redundancy mode for MediaKind Packager
In order to guarantee service delivery to consumers, MediaKind Packager provides the following Publishing redundancy mode: 1+1 active / standby server mode
The Publishing redundancy is only available:
- in distributed deployment mode where at least two MediaKind Packaging servers are synchronized;
- for HLS and HSS live services.
Configure the synchronization between MediaKind Packager servers
Synchronizing your pool of MediaKind Packager servers mode allows you to record and deliver the same content on distinct servers and therefore ensures a transparent failover of the service with no impact on the delivery network and the consumer.
To configure the synchronization between servers, follow these steps:
-
Open the common configuration file of server A using vi editor:
# vi /etc/mediakind/mkp/charts/customer-values.yaml
-
Edit the Synchronization values in the dvrManager section:
dvrManager: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp
- type: Set the value to
udp
(communication between the MediaKind Packager servers is done with the UDP protocol). Default value isnone
. - address: Enter a multicast address used for the UDP communication.
- nicName: Enter the name of the nic used for the UDP communication (
enXXXXXX
). - port: Enter the port used for the UDP communication.
If you want to define multicastSources, add this field as an array in synchonizer definition:
dvrManager: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp multicastSources: | ["10.86.86.218"]
In case of multiple multicast addresses, define this list as below :
dvrManager: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp multicastSources: | ["10.86.86.218", "10.86.86.219", "10.86.86.220"]
- type: Set the value to
-
Configure the Channel Routing feature in the advancedSettings section:
originserver: advancedSettings: useChannelRouting: true
-
Execute the following script to apply the changes:
# /etc/mediakind/mkp/charts/apply_customer_values.sh
-
Repeat on each MediaKind Packager server using the same parameters.
Configure the publishing synchronization between two servers
The Servers synchronization mode is already configured.
Synchronizing your pool of MediaKind Packager servers mode allows you to deliver the same content from two distinct servers and therefore ensures a transparent failover of the service with no impact on the delivery network and the consumer.
Publication is done in active / standby mode. The standby publishing server become active when:
- The current active publishing server becomes unavailable (after a shutdown or unexpected error);
- The link between the two servers is broken.
There is no automatic switch back when the initial active server is back online.
To configure the synchronization between servers, follow these steps:
-
Open the common configuration file of server A using vi editor:
# vi /etc/mediakind/mkp/charts/customer-values.yaml
-
Edit the Synchronization values in the publisher section:
publisher: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp
- port: Enter the port used for the UDP communication.
- nicName: Enter the name of the nic used for the UDP communication (
enXXXXXX
). - address: Enter a multicast address used for the UDP communication.
- type: Set the value to
udp
(communication between the MediaKind Packager servers is done with the UDP protocol). Default value isnone
.
If you want to define multicastSources, add this field as an array in synchonizer definition:
publisher: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp multicastSources: | ["10.86.86.218"]
In case of multiple multicast addresses, define this list as below :
publisher: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp multicastSources: | ["10.86.86.218", "10.86.86.219", "10.86.86.220"]
-
Edit the Channel Routing feature:
originserver: advancedSettings: useChannelRouting: true
useChannelRouting: Set the value to
true
. -
Execute the following script to apply the changes:
# /etc/mediakind/mkp/charts/apply_customer_values.sh
-
Repeat on each MediaKind Packager server using the same parameters.
DVR Redundancy mode for MediaKind Packager
In order to guarantee service delivery to consumers, MediaKind Packager provides the following DVR redundancy modes:
Configure synchronization between MediaKind Packager servers
Synchronizing your pool of MediaKind Packager servers mode allows you to record and deliver the same content on distinct servers and therefore ensures a transparent failover of the service with no impact on the delivery network and the consumer.
To configure the synchronization between servers, follow these steps:
-
Open the common configuration file of server A using vi editor:
# vi /etc/mediakind/mkp/charts/customer-values.yaml
-
Edit the Synchronization values in the dvrManager section:
dvrManager: synchronizer: port: 1234 nicName: eth1 address: 239.1.2.3 type: udp
- type: Set the value to
udp
(communication between the MediaKind Packager servers is done with the UDP protocol). Default value isnone
. - address: Enter a multicast address used for the UDP communication.
- nicName: Enter the name of the nic used for the UDP communication (
enXXXXXX
). - port: Enter the port used for the UDP communication.
- type: Set the value to
-
Configure the Channel Routing feature in the advancedSettings section:
originserver: advancedSettings: useChannelRouting: true
-
Execute the following script to apply the changes:
# /etc/mediakind/mkp/charts/apply_customer_values.sh
-
Repeat on each MediaKind Packager server using the same parameters.
Server auto-assignmentd
- Your MediaKind headend is composed of at least two synchronized MediaKind Packager servers.
- You have created and configured one Catalog that contains at least one output.
- You have created and configured one Live Packaging service that:
- contains at least one source and a publishing point.
- is linked to an existing Catalog.
The Server auto-assignement mode allows you to let your MediaKind solution manage the services work load amongst all your MediaKind Packager servers. When a new service is started, the service processing is dynamically assigned to the least loaded server.
To start the service with an auto-assigned server, follow these steps:
-
Click the Services link in the left panel from the Packager user interface.
-
Click the field in the Mandatory column to display available servers.
-
Select AUTO.
-
Click the button in the Actions column to start the related service. The service status turns from stopped to started.
The service is processed on the elected MediaKind Packager server. If the server comes to fail, a new MediaKind Packager server will be elected from the pool of servers and the service will resume from this new server.
1+1 active / active server mode
- Your MediaKind headend is composed of at least two synchronized MediaKind Packager servers.
- You have created and configured one Catalog that contains at least one output.
- You have created and configured one Live Packaging service that:
- contains at least one source and a publishing point.
- is linked to an existing Catalog.
The 1+1 active / active server mode allows you to assign one Live Packaging service to two MediaKind Packager servers. Both servers will therefore process the service and guarantee the availability of the content even if one server may come to fail.
To start the service with the two servers, follow these steps:
-
Access the MediaKind Packager user interface and click the Services link in the left panel.
-
Click the field in the Mandatory column to display available servers.
-
Select one server. Do not select AUTO in this mode.
-
Repeat to select the second server. Do not select AUTO in this mode.
-
Click the button in the Actions column to start the related service. The service status turns from stopped to started.
The service is processed on both MediaKind Packager servers. If one server comes to fail, the content will still be available on the other server.
Parameters mapping key for encryption
MediaKind Packager catalogs and their specifically configured outputs can be combined with any existing Live or On-Demand packaging services.
The Parameters mapping key functionality allows you to override some of these paremeters with the paremeters of a Live or On-Demand packaging service and therefore adapts the assets delivery requirements without having to multiply the catalog outputs.
To override the parameters of an output with the parameters of a Live or On-Demand packaging service, you must enter an identical key on both:
-
Output configuration page:
The Parameters mapping key field must be filled with a unique key value.
-
Live or On-Demand packaging service configuration page:
The Key field is composed of the Parameters mapping key value followed by the parameter to be changed.
The Value field must be filled with the parameter value that will override the existing output parameter value.
Key | Value | |
---|---|---|
Common overloadable parameters for all encryptions | contentId | Value of the content ID |
HLS with Fairplay fixed key | protection.key | Encryption key |
protection.keyId | Key identifier | |
protection.iv | Initialization vector | |
protection.uri | Uri | |
protection.keyForrmat | Key format | |
protection.keyFormatVersions | Key format version | |
HSS with PlayReady fixed key | protection.key | Encryption key |
protection.keyId | Key identifier | |
protection.licenseAcquisitionUrl | URL for license acquisition | |
protection.domainServiceId | Domain service ID | |
protection.licenseUiUrl | User URL for license check | |
DASH with Common Encryption fixed key | protection.key | Encryption key |
protection.keyId | Key identifier | |
protection.widevine.policy | Policy | |
protection.widevine.provider | Provider name | |
protection.playready.licenseAcquisitionUrl | URL for license acquisition | |
protection.playready.licenseUiUrl | User URL for license check | |
protection.playready.domainServiceId | Domain service ID |
-
MediaKind Packager catalog contains the following two outputs:
|Output 1|Output 2| |
|
|
-
MediaKind Packager service contains the following key and value parameters:
Results:
-
Output 1 is published with License acquisition url defined in output 1 configuration
-
Output 2 is published with License acquisition url defined in service configuration (overriding empty field in output 2 configuration)