No DTS transcoding when passthrough enabled
#1
I have installed xbian, openelec and raspbmc in a recently purchased raspberry pi B. But no matter what I can't get DTS to transcode even if I select it.
I have a raspberry connected with hdmi cable to an lg tv which is then connected with optical to a pioneer receiver. I have passthrough enabled and a ac3 capable receiver. Files with ac3 are played correctly and the tv recognizes them as ac3. When I have files with dts they are not transcoded. My tv shows stereo and the receiver also shows stereo. Also I don't get any error messages when playing such files.

I would like to check if the pi really transcodes the dts and if it does how can it be recognized by the tv?
Reply
#2
Most TV's rip off the DTS tracks. If your receiver has HDMI, try plugging it in there. Otherwise you should use things like HifiBerry.
/edit: HifiBerry only works with DVDPlayer, not with OMX.
Reply
#3
My receiver does not have hdmi. Also my tv passes ac3 multichannel from the pi to the receiver so no problems there.
My problem is that the pi does not transcode the dts to ac3 as it supposedly does. My laptop with the same settings converts the dts to ac3 with no problems. The pi doesn't.
So the pi
1. does not transcode,
or
2. transcodes but the signal is not tagged correctly and the tv ignores it.

The hi fi berry
1. costs money (I could buy a different media player to begin with)
2. Introduces delay. Since my tv takes some time to process the video it introduces a ~150msec delay. So the image from the tv is out of sync with the receiver.
Reply
#4
(2014-05-21, 10:21)armitatz Wrote: My problem is that the pi does not transcode the dts to ac3 as it supposedly does.
Where have you read that the Pi can transcode DTS to AC3 ?

As far as I know it can't. It can either pass through DTS as is (but then your TV has to support DTS decoding, and most don't) or it can decode it to multichannel PCM. (But then your TV has to support multi channel PCM, and most don't)

So practically speaking to get DTS output from a Pi you need to connect the Pi directly to the HDMI input of an AV receiver that supports either DTS decoding or multichannel PCM. (with the former being preferable due to far less CPU load on the Pi)
Quote: My laptop with the same settings converts the dts to ac3 with no problems. The pi doesn't.
So the pi
1. does not transcode,
The Pi CPU is probably too slow to decode DTS to PCM and then re-encode it to AC3 in real time. That's most likely why your laptop can do it but the Pi can't - much faster CPU.
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#5
(2014-05-21, 20:09)DBMandrake Wrote: The Pi CPU is probably too slow to decode DTS to PCM and then re-encode it to AC3 in real time. That's most likely why your laptop can do it but the Pi can't - much faster CPU.

Yep. I believe you can enable AC3 transcode in the GUI (after changing settings level to expert), but it takes a lot of CPU and is unlikely to work satisfactory.
Reply
#6
Well here http://wiki.xbmc.org/index.php?title=Audio_settings it has the option of enabling transcoding to ac3. Specifically at the option "- Enable Dolby Digital transcoding " it says that "Select this if the audio out connection only supports multichannel audio as Dolby Digital 5.1, such as an SPDIF connection." and "For any format where the "capable receiver" option is not selected, XBMC will still playback any content containing those audio types, however instead of the audio being passed through, XBMC will decode audio and then send the audio in a compatible format."

From what I read and see from my laptop, where I get ac3, is that xbmc can transcode and the pi could do it.
Also here http://forum.xbmc.org/showthread.php?tid=188742 the same settings don't work on the pi.

(2014-05-21, 20:44)popcornmix Wrote:
(2014-05-21, 20:09)DBMandrake Wrote: The Pi CPU is probably too slow to decode DTS to PCM and then re-encode it to AC3 in real time. That's most likely why your laptop can do it but the Pi can't - much faster CPU.

Yep. I believe you can enable AC3 transcode in the GUI (after changing settings level to expert), but it takes a lot of CPU and is unlikely to work satisfactory.

perhaps for 5.1 it is not fast enough. But dts 2.0 should be ok. Since this behaviour happens in every raspberry distro I have downloaded it seems that is disabled for some reason. Also after a check I did in openelec config.txt I saw an entry for a licence at DTS=0x00000000. Is it a sign of a dts licence scheme? Smile
Reply
#7
(2014-05-21, 20:50)armitatz Wrote: Well here http://wiki.xbmc.org/index.php?title=Audio_settings it has the option of enabling transcoding to ac3. Specifically at the option "- Enable Dolby Digital transcoding " it says that "Select this if the audio out connection only supports multichannel audio as Dolby Digital 5.1, such as an SPDIF connection." and "For any format where the "capable receiver" option is not selected, XBMC will still playback any content containing those audio types, however instead of the audio being passed through, XBMC will decode audio and then send the audio in a compatible format."

From what I read and see from my laptop, where I get ac3, is that xbmc can transcode and the pi could do it.
The page you've linked to is just discussing the features of XBMC in general - that doesn't mean that every feature is available on all platforms. Many XBMC features are only available on some platforms due to hardware or OS limitations.

For example Android platforms don't support on the fly refresh rate switching or DTS pass-through. (The Pi does both)

The Raspbery Pi does an incredible job for what it is, but at the end of the day its a $35 computer and can't be expected to perform miracles or have the same feature set as a full fledged PC. The GPU hardware is quite powerful considering its cost and low power consumption but the ARM CPU is quite slow compared to most other platforms so anything that is highly CPU intensive (such as transcoding) and can't be hardware accelerated by the GPU is going to run slowly. It runs XBMC as well as it does only because so much is hardware accelerated, especially video decoding and GUI layering.

Decoding a DTS stream in software to PCM it can just manage when overclocked, but there's nothing left over to re-encode in AC3 at the same time.

With your current lack of an HDMI equipped DTS capable receiver DTS downmix to stereo is about the best you can expect out of the Pi for DTS files.
Kodi 18.3 - Mid 2007 Mac Mini, 4GB, 2TB HD, Windows 7 SP1
Kodi 18.3 - Vero4k, Raspberry Pi 2. OSMC.
Reply
#8
I have the same problem with 5.1 channel .aac files, which (I believe?) the Pi can't handle either, or maybe it's my Sony Amp that is incapable ... either way I found the easiest workaround was to create a batch.bat file to change the .aac audio to .ac3.

Code:
for %%a in ("*.mp4") do ffmpeg -i "%%a" -vcodec copy -acodec ac3 -ab 640k "newfiles\%%~na.mkv"
pause

Only takes a few mins to do a full movie.
Reply
#9
You have this batch to a pc or on a pi? Because pi needs +-2 hrs for a 10gb movie to convert a dts track to ac3 with mkvdts2ac3
https://github.com/JakeWharton/mkvdts2ac...dts2ac3.sh
Reply
#10
Yes, on a PC.
Reply
#11
I use deluge as a torrent client to my pi. I made the following script that is executed when a torrent finishes :
http://forum.deluge-torrent.org/viewtopi...5f#p197417
This way I use the mkvdts2ac3 and the transcoding is done when a torrent finishes. It takes approx. 2hrs for a 10gb torrent file and the resulting torrent is usually 10-15% smaller because ac3 takes less space.
It is a pity that pi can't use the internal dts decoder.
Reply
#12
Since Frodo 12.3 and now on Gotham 13.1 even though passthrough is enabled and the receiver displays the correct audio format (verified it to be both AC3 and DTS) the sound is heard only from the FR and FL speakers.

I tried setting the channels to 2.0 and enabled passthrough (if I press on xbmc's volume button it says passthrough is on) but nothing really helped.
Here's a debug log, I'll appreciate if any of the experts here could maybe spill some light on this.
Reply
#13
(2014-06-28, 10:27)naors Wrote: Since Frodo 12.3 and now on Gotham 13.1 even though passthrough is enabled and the receiver displays the correct audio format (verified it to be both AC3 and DTS) the sound is heard only from the FR and FL speakers.

Passthrough is enabled (from log) and by definition the receiver is wholly responsible for decode and channel mixing. There is nothing xbmc can do with passthrough to affect which speakers the sound comes out of.

You need to check receiver settings and check the wiring from receiver to speakers as that is where your problem lies.
Reply
#14
A bad wire has been replaced and the problem is resolved. Thanks!
Reply

Logout Mark Read Team Forum Stats Members Help
No DTS transcoding when passthrough enabled0