In short, this feature allows you to specify than one URL for any channel, e.g. depending on what stream type any particular user device supports. To make the desired settings and selection rules, you need to use the appropriate menu items under Media (<server.url>/admin#media). Also we have provided migration of your current channel static URLs to media dynamic URLs. To switch this feature on, just empty the channel URL. All necessary media and media servers have been already created.
“DVR server” feature has been defined as deprecated. If you use DVR servers to setup the timeshift playback parameters, now you need to use media servers and timeshift-specified media related with these media servers. Nevertheless, previously adjusted DVR settings will be used, if media URL dynamic operation is not enabled (channel static URL is not empty).
Before: make sure that you specify default stream types for live and timeshift for your provider: “Default media type” and “Default DVR media type” (<server.url>/admin#providers). These settings will be used for all your devices except those who will match specific rules. Also you may specify any available CAS type as default you'd like to use - it's optional.
Best practice to use media is to define the streaming type you use more then others as default in the provider settings and then define some media selection rules for any specific device type or provider network you have that allow you to give another type of streaming for these limited cases. Please, pay attention that if you have a few media types in the media, e.g. HLS_MULTI and HLS_MONO, and then you specify media selection rule, say, for s401, to use DASH, it means that no URL will be generated, because no match will be found in the media. To fix such problems, you'll have to add this absent type to the media or create new media with such type and assign it to the channel.
1. Create media server (<server.url>/admin#media_servers) Enter parameters of your streaming server like host, port and purposes how you're planning to use - for live or timeshift or both. You may select one of supported types of servers like Multicast or Flussonic. If you already have the media server you'd like to use, go to Step 2.
2. Create media: (<server.url>/admin#media)
2.1. Item parameters of your content source and select the media server created on Step 1. Values are different depending on what type the media server has. The main idea that is “Resource Id” looks like unique id of your content, e.g. content name in case of Flussonic or IP in case of Multicast. “Name” field have no any purpose expect just display the media.
2.2. Define what types of streaming may be used for this media. If you're not planning to use any CAS, just set “Default media type”. If you're going to use any CAS type, you need to set properties on “Media stream types” tab.
2.3. Save this newly created media.
2.4. Assign the media to channels that will use it. For this purpose, you may use “Channels” tab on media editor form or “Media” tab on channel editor form.
If you need to specify another type of streaming, say, depending on network or device type, then you need to create media selection rules (<server.url>/admin#media_type_selection_rules). It has four parameters: device type, provider network, cas config and provider. If one of them is left unspecified, then it won't be used in the matching procedure. Any media selection rule has a priority. Rules will be applied due to the priority in ascending order. The rule will be applied if all parameters are matched. If not, the rule will be skipped and next rule will be analysed. Let's take an example.
Let's imagine that we pass steps 1 and 2, and we have the desired channel, subscriptions and all other required settings. For provider we've specified default types DASH for both cases. First, we create the following media selection rule: device type s500, provider network 192.168.1.0/32, priority 1 with actions HLS_MONO. And then we add one more rule: device type s605, provider network 0.0.0.0, priority 2 with actions HLS_MULTI. Say, we have three devices: s410, s500 and s605. TMS will detect their IP address as 192.168.0.1 (it's just an example, isn't it?). Let's check the first device - s410. It won't match with any rule and get media stream type DASH because it's default value for the provider. Second rule will be skipped due to device type, nevetheless the provider network is matched. What about s500? The first rule will show 100% match. HLS_MONO will be used to make the appropriate URL for the second device (the second device looks like a set-top box and may not know what “/index.m3u8” means, but it's just an example. Do you remember it, don't you?). And the third device s605 will skip the first rule - the device type doesn't match. And the second rule is ok. So we'll use HLS_MULTI to generate url with “video.m3u8”.