Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to stop transcoding Atmos #940

Open
FredHaa opened this issue Nov 15, 2024 · 7 comments
Open

How to stop transcoding Atmos #940

FredHaa opened this issue Nov 15, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@FredHaa
Copy link

FredHaa commented Nov 15, 2024

I have some files with E-AC3 Atmos sound tracks which I cannot get to not transcode.

My Kodi box is attached to the TV using HDMI, which is then attached to my soundbar using eARC.

@it5c0z1mG

This comment has been minimized.

@oddstr13 oddstr13 added the enhancement New feature or request label Nov 16, 2024
@oddstr13
Copy link
Member

Based on the device profile, I'd expect audio not to get transcoded in the first place, possibly with the exception of when the video is getting transcoded.

Is the video getting transcoded?

def get_device_profile(self):

@FredHaa
Copy link
Author

FredHaa commented Nov 16, 2024

Here is a snippet of the ffmpeg logs:

ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, matroska,webm, from 'file:/tv/Ozark/Season 3/Ozark.S03E06.Su.Casa.Es.Mi.Casa.WEBDL-2160p.HEVC.10bit.DV HDR10.EAC3.5.1-SiC.mkv':
  Metadata:
    title           : Ozark S03E06 Su Casa Es Mi Casa
    TMDB            : tv/69740
    TVDB            : 329089
    IMDB            : tt5071412
    ENCODER         : Lavf60.3.100
  Duration: 00:59:02.43, start: 0.000000, bitrate: 15784 kb/s
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
      Metadata:
        DURATION        : 00:57:50.717000000
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
  Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
      Metadata:
        DURATION        : 00:59:02.432000000
  Stream #0:2(eng): Subtitle: subrip (srt) (default)
      Metadata:
        DURATION        : 00:54:30.976000000
  Stream #0:3(eng): Subtitle: subrip (srt) (hearing impaired)
      Metadata:
        title           : SDH
        DURATION        : 00:55:44.507000000
  Stream #0:4(dan): Subtitle: subrip (srt)
      Metadata:
        DURATION        : 00:57:29.612000000
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
Output #0, hls, to '/config/transcodes/456e581db518e7268a11c0af596f567b.m3u8':
  Metadata:
    encoder         : Lavf61.1.100
  Stream #0:0: Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 90k tbn (default)
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
  Stream #0:1: Audio: aac, 48000 Hz, 5.1, s16, 256 kb/s (default)
      Metadata:
        encoder         : Lavc61.3.100 libfdk_aac

As you can see the DV HDR track is not transcoded, only the E-AC3 stream.

@oddstr13
Copy link
Member

Do you know if this is new behavior, or if it has been present in older versions of Jellyfin too?

On that note, which software versions are you using?

@FredHaa
Copy link
Author

FredHaa commented Nov 17, 2024

Jellyfin version 10.10.2 (linuxserver.io docker image)
J4K version 1.0.5
Kodi 20.5-Nexus (CoreElec on an ODROID-N2+)

It has behaved liked this in all 10.10.x version. I was using native mode in previous versions, and back then I didn't have the problem, but I have just tried to spin up a 10.8.x and a 10.9.x docker image and here I get the same behavior with the E-AC3 track being transcoded.

Also, I realized that the file i played in the previous ffmpeg log didn't actually have Atmos in the E-AC3 track, so for completeness, here is a different ffmpeg log from a file with an Atmos track.

ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, matroska,webm, from 'file:/tv/Succession/Season 4/Succession.S04E10.With.Open.Eyes.WEBDL-2160p.x265.10bit.DV HDR10.EAC3 Atmos.5.1-NTb.mkv':
  Metadata:
    ENCODER         : Lavf60.3.100
  Duration: 01:28:26.78, start: 0.000000, bitrate: 21971 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 125.041000
      Metadata:
        title           : Chapter 1
    Chapter #0:1: start 125.041000, end 214.506000
      Metadata:
        title           : Intro
    Chapter #0:2: start 214.506000, end 1027.818000
      Metadata:
        title           : Chapter 2
    Chapter #0:3: start 1027.818000, end 2052.884000
      Metadata:
        title           : Chapter 3
    Chapter #0:4: start 2052.884000, end 3001.999000
      Metadata:
        title           : Chapter 4
    Chapter #0:5: start 3001.999000, end 4092.838000
      Metadata:
        title           : Chapter 5
    Chapter #0:6: start 4092.838000, end 5233.687000
      Metadata:
        title           : Chapter 6
    Chapter #0:7: start 5233.687000, end 5306.784000
      Metadata:
        title           : Credits
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
      Metadata:
        BPS-eng         : 21327250
        DURATION-eng    : 01:28:26.759708333
        NUMBER_OF_FRAMES-eng: 127235
        NUMBER_OF_BYTES-eng: 14147322103
        _STATISTICS_WRITING_APP-eng: mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit
        _STATISTICS_WRITING_DATE_UTC-eng: 2023-07-19 13:09:35
        _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
  Stream #0:1(eng): Audio: eac3 (Dolby Digital Plus + Dolby Atmos), 48000 Hz, 5.1(side), fltp, 640 kb/s (default) (original)
      Metadata:
        BPS-eng         : 640003
        DURATION-eng    : 01:28:26.752000000
        NUMBER_OF_FRAMES-eng: 165837
        NUMBER_OF_BYTES-eng: 424542720
        _STATISTICS_WRITING_APP-eng: mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit
        _STATISTICS_WRITING_DATE_UTC-eng: 2023-07-19 13:09:35
        _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Subtitle: subrip (srt) (default)
      Metadata:
        BPS-eng         : 79
        DURATION-eng    : 01:25:15.239000000
        NUMBER_OF_FRAMES-eng: 1336
        NUMBER_OF_BYTES-eng: 51117
        _STATISTICS_WRITING_APP-eng: mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit
        _STATISTICS_WRITING_DATE_UTC-eng: 2023-07-19 13:09:35
        _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: subrip (srt) (hearing impaired)
      Metadata:
        title           : SDH
        BPS-eng         : 104
        DURATION-eng    : 01:28:15.396000000
        NUMBER_OF_FRAMES-eng: 1831
        NUMBER_OF_BYTES-eng: 69146
        _STATISTICS_WRITING_APP-eng: mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit
        _STATISTICS_WRITING_DATE_UTC-eng: 2023-07-19 13:09:35
        _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:4(dan): Subtitle: subrip (srt)
      Metadata:
        BPS-eng         : 65
        DURATION-eng    : 01:27:09.354000000
        NUMBER_OF_FRAMES-eng: 1082
        NUMBER_OF_BYTES-eng: 42523
        _STATISTICS_WRITING_APP-eng: mkvpropedit v45.0.0 ('Heaven in Pennies') 64-bit
        _STATISTICS_WRITING_DATE_UTC-eng: 2023-07-19 13:09:35
        _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
Output #0, hls, to '/config/transcodes/4a059c812dce2ec0ff587ee2022677bd.m3u8':
  Metadata:
    encoder         : Lavf61.1.100
  Stream #0:0: Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 90k tbn (default)
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
  Stream #0:1: Audio: aac, 48000 Hz, 5.1, s16, 256 kb/s (default) (original)
      Metadata:
        encoder         : Lavc61.3.100 libfdk_aac

If you need me to test different software versions or play files with specific tracks, I'm very much available to help as I really want this fixed with the add-on mode.

@oddstr13
Copy link
Member

I am unable to reproduce this.

I see similar transcode logs from playing eac3 containing videos in jellyfin-web, but I get no ffmpeg logs from playing the same file in jf4kodi, and the file is, as far as I can tell, playing directly without any form of transcode.

Could I get a copy of your addon settings? ~/.kodi/userdata/addon_data/plugin.video.jellyfin/settings.xml (you may want to censor some of them, mainly the server address)

Also the Kodi log file ~/.kodi/temp/kodi.log, enabling debug logging in the addon settings is likely useful for this issue.

@FredHaa
Copy link
Author

FredHaa commented Nov 19, 2024

~/.kodi/userdata/addon_data/plugin.video.jellyfin/settings.xml:

<settings version="2">
    <setting id="idMethod" default="true">0</setting>
    <setting id="username">xxx</setting>
    <setting id="serverName">xxx</setting>
    <setting id="server">xxx</setting>
    <setting id="sslverify">true</setting>
    <setting id="deviceNameOpt" default="true">false</setting>
    <setting id="deviceName" default="true">Kodi</setting>
    <setting id="kodiCompanion">true</setting>
    <setting id="syncIndicator">999</setting>
    <setting id="syncDuringPlay">true</setting>
    <setting id="dbSyncScreensaver">true</setting>
    <setting id="useDirectPaths">0</setting>
    <setting id="limitIndex">15</setting>
    <setting id="limitThreads">3</setting>
    <setting id="enableCoverArt">true</setting>
    <setting id="compressArt" default="true">false</setting>
    <setting id="maxArtResolution">5</setting>
    <setting id="enableMusic">true</setting>
    <setting id="enableCinema" default="true">false</setting>
    <setting id="askCinema" default="true">false</setting>
    <setting id="playFromStream">true</setting>
    <setting id="playFromTranscode" default="true">false</setting>
    <setting id="maxBitrate">23</setting>
    <setting id="enableExternalSubs">true</setting>
    <setting id="videoPreferredCodec" default="true">H264/AVC</setting>
    <setting id="transcode_h265" default="true">false</setting>
    <setting id="transcode_h265_rext" default="true">false</setting>
    <setting id="transcodeHi10P" default="true">false</setting>
    <setting id="transcode_mpeg2" default="true">false</setting>
    <setting id="transcode_vc1" default="true">false</setting>
    <setting id="transcode_vp9" default="true">false</setting>
    <setting id="transcode_av1" default="true">false</setting>
    <setting id="audioPreferredCodec" default="true">AAC</setting>
    <setting id="audioBitrate">4</setting>
    <setting id="audioMaxChannels">6</setting>
    <setting id="skipDialogTranscode">3</setting>
    <setting id="allowBurnedSubs">true</setting>
    <setting id="resumeJumpBack">10</setting>
    <setting id="offerDelete" default="true">false</setting>
    <setting id="deleteTV" default="true">false</setting>
    <setting id="deleteMovies" default="true">false</setting>
    <setting id="markPlayed">90</setting>
    <setting id="enableContext">true</setting>
    <setting id="enableContextTranscode">true</setting>
    <setting id="enableContextDelete" default="true">false</setting>
    <setting id="skipContextMenu" default="true">false</setting>
    <setting id="additionalUsers" default="true" />
    <setting id="connectMsg">true</setting>
    <setting id="offlinetMsg">true</setting>
    <setting id="restartMsg">true</setting>
    <setting id="displayMessage">4</setting>
    <setting id="syncProgress">15</setting>
    <setting id="newContent" default="true">false</setting>
    <setting id="newvideotime">5</setting>
    <setting id="newmusictime">2</setting>
    <setting id="ignoreSpecialsNextEpisodes" default="true">false</setting>
    <setting id="getCast" default="true">false</setting>
    <setting id="remoteControl">true</setting>
    <setting id="logLevel">1</setting>
    <setting id="maskInfo">true</setting>
    <setting id="enableAddon">true</setting>
    <setting id="startupDelay" default="true">0</setting>
    <setting id="backupPath" default="true" />
    <setting id="LastIncrementalSync">2024-11-19T11:23:43z</setting>
    <setting id="MinimumSetup" default="true" />
    <setting id="MusicRescan" default="true">false</setting>
    <setting id="SyncInstallRunDone" default="true">true</setting>
    <setting id="groupedSets" default="true">false</setting>
    <setting id="platformDetected" default="true">CoreElec</setting>
</settings>

~/.kodi/temp/kodi.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants