Transcode DTS to something supported?

Hello!

I use Rygel and I’m quite happy with it.
There is one issue though - My LG TV doesn’t support DTS and whenever I encounter a DTS-only audio it won’t play.
I understand it is possible for rygel to transcode to one of the supported/standard formats, I’ve installed the proper gstreamer plugins package so that I have dtsdec plugin but it doesn’t work.
I’m using Fedora 34, rygel 0.40.1with mediaexport.

What should I check (is it supported at all)?

Thanks.

There are two sides to this, one is that the transcoding is working and the other is that the TV is actually willing to pick up the transcoded resource

To check whether transcoding is working, you can install gupnp-tools and browse your collection for the file in question.

Then right-click on the file and pick any of the URLs that does not end in primary_http.avi and .wmv

If downloading that URL works (or you can e.g. pass it to VLC or mplayer), transcoding should work.

If transcoding is working fine, we need a way to force the TV to ignore the original resource and that depends a bit on how stubborn or stupid it is.

I do have an LG device to test this, but it’s one of the older ones.

Indeed it answers with Could not create a transcoder configuration. Your GStreamer installation might be missing a plug-in and I can see that in the rygel log as well.
But I there is no such message in the rygel log when I play it from the TV :slight_smile:

It very well may be that not every bit of gstreamer is installed since I am running Silverblue, what should I check?

Edit: checked the readme and from that list gst-libav is missing - I’ll install and test again.

So I was able to make transcoding work by installing some gstreamer plugins and providing additional preset files.
It is not HW accelerated though and FullHD source in highest quality AVC_MP4_BL_CIF15_AAC_520 is about 100 KB/s on a single core (maybe libav plugin would fare better, but I am trying to avoid it). I’ll look into it probably.
But now, even when some of the alternative profiles are available - the TV doesn’t seem to be interested in those… what can I do?

To force the TV to switch to the transcoded resource, you have to “poison” the original file by modifying its content-type (and DLNA profile, if set) in the database, media export does not know enough about the file to do this automatically (see https://gitlab.gnome.org/GNOME/rygel/-/issues/67)

Btw, I would strongly recommend not to use AVC_MP4_BL_CIF15_AAC_520 - that is a really low-fi mobile compatibility profile (and with mobile I mean something that was specified in 2009, 352 × 288@15FPS). The default profile for TVs would be one of the MPEG ones.

Thanks! I will check it out (and try to make it work).
yeah, I was concerned by this profile :slight_smile: does it mean that mp2ts HD is the highest quality option? are there any other profiles (is it possible to create more)?

Just in case anybody else is interested, this is what I used to find missing gstreamer parts - enabled gstreamer logs with GST_DEBUG=4 envvar for rygel.

It should also tell you that if you run with -g 5 and G_MESSAGES_DEBUG=all