Jellyfin Forum
No OPUS audio transcoding? - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: No OPUS audio transcoding? (/t-no-opus-audio-transcoding)



No OPUS audio transcoding? - fire_jellyfin - 2023-09-17

Hi, I have a collection of music video (h264) clips that contain audio with OPUS codec. They play fine on a PC.
I am not able to play those videos (with sound) on TV from the Jellyfin DLNA server.. The television can not install the Jellyfin app, therefore playback is done through DLNA. Direct playback (from USB) of video with the OPUS audio codec is not supported on this Panasonic Television. The video is played, but without sound.

Jellyfin is configured with a profile for the television. Unsupported video codecs are transcoded correctly, but native playable video codecs with unsupported OPUS audio codec are not transcoded. Jellyfin is aware of the unsupported audio codec (see journal below), but it streams the media without any transcoding. As a result I am able to see the video playing but without sound.

I fail to see why Jellyfin does not transcode these media files with opus audio and like to find a solution for it. Any help is greatly appreciated.

Jellyfin info:
Versie: 10.8.10
Besturingssysteem: Linux
Architectuur: X64

journalctl -b -u jellyfin

Code:
[2023-09-17 15:19:26.428 +02:00] [INF] DLNA Session created for "VIERA E6 Series" - "Panasonic VIErA"
[2023-09-17 15:19:41.856 +02:00] [INF] StreamBuilder.BuildVideoItem( Profile="VIERA E6 Series", Path="/storage0/Gorillaz/Gorillaz - On Melancholy Hill.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectStream, TranscodeReason=AudioCodecNotSupported ) "media:/videos/8ab91062-d811-4439-8e1e-22db7fc1c792/stream.mkv?MediaSourceId=e29632066ed71b20ffd04b9da6c6933e&Static=true&VideoCodec=h264,mpeg2video,h264&AudioCodec=aac,ac3,dca,mp3,mp2,dts,vorbis&AudioStreamIndex=1&VideoBitrate=15360000&AudioBitrate=192000&MaxFramerate=25&MaxWidth=1920&MaxHeight=1080&api_key=<token>&SubtitleMethod=Encode&Tag=b11b128bfb369dac4ce9f7909294f9f3&h264-level=31&h264-videobitdepth=8&h264-profile=main"

Mediainfo video:

Code:
Algemeen
Unique ID                                : 7639754862487165314850084527021421815 (0x5BF5CFEFBDB1AE8D8F92CBC5AF2F4F7)
Volledige naam                          : Gorillaz - On Melancholy Hill.mkv
Formaat                                  : Matroska
Formaatversie                            : Version 4
Bestandsgrootte                          : 36,2 MiB
Duur                                    : 4 min 26s
Totale bitrate                          : 1 142 kb/s
Gebruikt programma                      : Lavf57.83.100
Gebruikte encoderbibliotheek            : Lavf57.83.100
ErrorDetectionType                      : Per level 1

Video
ID                                      : 1
Formaat                                  : AVC
Formaat/Info                            : Advanced Video Codec
Formaatprofiel                          : Main@L3.1
Formaatinstellingen                      : CABAC / 3 Ref Frames
Formaatinstellingen, CABAC              : Ja
Formaatinstellingen, RefFrames          : 3 frames
Codec-ID                                : V_MPEG4/ISO/AVC
Duur                                    : 4 min 26s
Breedte                                  : 1 280 pixels
Hoogte                                  : 720 pixels
Beeldverhouding                          : 16:9
Frameratemodus                          : Constant
Framerate                                : 25,000 FPS
Color space                              : YUV
Chroma subsampling                      : 4:2:0
Bit depth                                : 8 bits
Scansoort                                : Progressief
Default                                  : Ja
Forced                                  : Nee
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                      : 2
Formaat                                  : Opus
Codec-ID                                : A_OPUS
Duur                                    : 4 min 26s
Kanaal(en)                              : 2 kanalen
Channel layout                          : L R
Samplerate                              : 48,0 kHz
Bit depth                                : 32 bits
Compression mode                        : Lossy
Taal                                    : Engels
Default                                  : Ja
Forced                                  : Nee

Relevant part of the DLNA profile config to transcode all unsupported codecs:

PHP Code:
  <DirectPlayProfiles>
    <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3" videoCodec="mpeg2video,mpeg4" type="Video" />
    <DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,dts,vorbis" videoCodec="h264,mpeg2video" type="Video" />
    <DirectPlayProfile container="ts,mpegts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
    <DirectPlayProfile container="mp4,m4v" audioCodec="aac,mp3,ac3,vorbis" videoCodec="h264" type="Video" />
    <DirectPlayProfile container="avi" audioCodec="ac3" videoCodec="mpeg4" type="Video" />
    <DirectPlayProfile container="flv" audioCodec="aac" videoCodec="h264" type="Video" />
    <DirectPlayProfile container="mp3" audioCodec="mp3" videoCodec="" type="Audio" />
    <DirectPlayProfile container="m4a" audioCodec="aac" videoCodec="" type="Audio" />
    <DirectPlayProfile container="flac" audioCodec="flac" videoCodec="" type="Audio" />
    <DirectPlayProfile container="jpeg,jpg,png" audioCodec="" videoCodec="" type="Photo" />
  </DirectPlayProfiles>
  <TranscodingProfiles>
    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
  </TranscodingProfiles



RE: No OPUS audio transcoding? - fire_jellyfin - 2023-09-20

Opus is widely used now and is here to stay... I would still like to get a little help or thought with this issue.

Setting the condition limit for opus audio ridiculously low or at 1 channel also won't trigger Jellyfin to start transcoding the media. It keeps streaming it as directplay and does not produce any log file.


RE: No OPUS audio transcoding? - TheDreadPirate - 2023-09-20

This appears to be a known issue for a while.

https://github.com/jellyfin/jellyfin/issues/8176
https://github.com/jellyfin/jellyfin/issues/10063


RE: No OPUS audio transcoding? - fire_jellyfin - 2023-09-20

hmmm i see, guess more people will bump into this one with opus being so popular. Hopefully a real fix will be found. I started using Jellyfin in 2021 and can't remember having this issue with Emby. Probably somewhere on the line it got broken.