Page 1 of 1

Transcoding everything except mkv only for one render

Posted: Sat Nov 06, 2021 2:48 am
by ilrobby
Hello there!

I've many renders, one of them is a LG webos tv, it's new and don't needs transcode actions, others renders es: Panasonic Viera, is quite new but its firmware cannot reads a lot of codec/extension/container... I've added in the main conf file this setting:

Code: Select all

disable_transcoding = true
and now I'd want to override this setting for each render conf file that cannot play most of video files... how can I specify an option in the render's conf like this:

Code: Select all

TrascodeVideo = !.mkv
?

Thanks,
Robbi

Re: Transcoding everything except mkv only for one render

Posted: Sat Nov 06, 2021 11:53 am
by mik_s
Setting disable_transcoding = true disables all transcoding for any device using UMS

If you only want this to happen for certain devices you need to set that up using renderer confs and change that setting to false.

Re: Transcoding everything except mkv only for one render

Posted: Tue Nov 09, 2021 5:23 am
by ilrobby
Hello mik, while I was writing I realized that, as you sayd, a better solution could be enable trascoding for any devices and disable it for specific one!
But, how can I disable transcoding in the render's conf? With the same directive that I've wrongly added in the main conf file: disable_transcoding = true ?
And, for this devices, can I tell to UMS to disable transcoding only for mkv extension?
Many thanks,
Robbi

Re: Transcoding everything except mkv only for one render

Posted: Tue Nov 09, 2021 8:05 am
by Nadahar
The whole idea of "disabling transcoding" is wrong.

The way UMS works is that it will only transcode when the renderer doesn't support the media as it is. This means that the only thing you achieve by disabling transcoding is that some media files won't play. This setting is meant for debugging only.

Each renderer has a renderer configuraton file. This file tells UMS what formats/codecs the renderer can play, and if this information is correct, UMS will never transcode a file that the renderer can play, so there is no need to disable transcoding. So, your real problem is probably that your renderer configuration(s) is/are wrong and doesn't actually reflect the capabilities of your renderer(s). This is what should be rectified to make things work properly.

The documentation for how to configure the renderer configuraton files is somewhat lacking, there is some documentation here: https://github.com/UniversalMediaServer ... -support-1

You can also find a partial explanation in the default renderer configuration file itself (search for "supported" to get to the right section): https://raw.githubusercontent.com/Unive ... derer.conf

In addition to these resources, there are countless threads on this forum on the topic, and you should be able to find pretty much any information you need on this forum with enough patience, but it can require significant reading and searching effort.

If you're lucky you can find configurations that other users have made and posted that fits your devices that either work fine, or that just requires minor adjustments.

To give an example, to "disable transcoding" for MKV's for a specific renderer, you just need to tell UMS that the renderer supports anything MKV. This is as simple as specifying

Code: Select all

Supported = f:mkv
The problem is that I can pretty much guarantee that the renderer doesn't support all MKVs, since MKVs can contain a huge number of different codecs and combinations. So, you would very likely be "lying" to UMS if you said so, but if you only ever play MKVs with a limited set of codecs that the renderer does support, you would never experience a problem because of it. The idea is to try to limit the "supported" lines by specifying at least what audio and video codecs that are supported in a given container/format, which will make UMS send these supported MKVs without transcoding, but will still transcode a MKV with some rare/unusual audio or video codec. That way, the file with the we unusual codec would still play, although with transcoding.