• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support General Questions avoid video transcoding when external audio

     
    • 0 Vote(s) - 0 Average

    avoid video transcoding when external audio

    How to avoid transcoding of the video when using a external audio stream?
    minidisco
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    Country:Argentina
    #1
    2024-10-28, 03:30 PM
    In my experience, transcoding will kick in, when:
    - the codec is not supported by the player
    - the number of audio-channels is too high for the playback device
    - the subtitle format is picture based

    But what I don't understand, is the following:
    - file.mkv: MPEG2-Video, AC3 2Ch Audio
    - file.en.ac3: AC3 2Ch Audio

    The file.mkv gets played directly.
    When I select the external audio-file file.en.ac3 for playback, the video gets transcoded and the audio gets played directly. Under Playback Info it reads "Reason for transcoding The audio stream is external".
    Muxing everything in one file avoids transcoding when switching to another audio-stream.

    Is there a way to use compatible external audio-files without triggering a transcode?

    Greetz.

    p. s.:
    server: 10.10.0
    player: JF Media Player 1.11.1 (flatpak)
    OS: Ubuntu 24.04.1
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-10-28, 07:41 PM
    I'll do some testing and get back to you. Does this only happen when JMP is the client?
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    theguymadmax
    Offline

    Community Moderator

    Posts: 1,040
    Threads: 0
    Joined: 2024 Jun
    Reputation: 58
    #3
    2024-10-29, 02:26 AM
    Jellyfin forces external audio files to always transcode/remux.
    1
    minidisco
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    Country:Argentina
    #4
    2024-10-29, 04:34 PM
    I did some tests with these files:

    file1.mkv - video: MPEG2, audio: 2Ch AC-3
    file1.ita.aac - audio: 2Ch AAC LC
    file1.fra.ac3 - audio: 2Ch AC-3

    file2.mp4 - video: avc1, audio: 2Ch AAC LC
    file2.ita.aac - audio: 2Ch AAC LC
    file2.fra.ac3 - audio: 2Ch AC-3

    on four clients:

    Jellyfin Media Player 1.11.1
    Jellyfin Web 10.10.0 (Firefox)
    Jellyfin Android 2.6.2
    Google Cast Chromecast 3.0.0

    Again, what interested me, was how to use external audio-files without triggering a non-necessary transcode.

    I fail to see the patterns, why remuxing / direct streaming sometimes does work, sometimes does not.

    (!) are marking maybe some interesting outputs (see below). For example:

    file1.mkv, file1.ita.aac, Jellyfin Media Player 1.11.1:
    • mpeg2 transcode to h264
    • but external aac direct play
    • mentioned reason: external audio

    file1.mkv, file1.ita.aac, Jellyfin Web 10.10.0 (Firefox) / Jellyfin Android 2.6.2 / Google Cast Chromecast 3.0.0
    • transcoding of external aac to aac
    • mentioned reason: audio codec not supported

    file1.mkv, file1.fra.ac3, Jellyfin Media Player 1.11.1
    • transcode mpeg2 to h264
    • but external ac3 direct play
    • mentioned reason: external audio

    remuxing (no transcode) of separate compatible streams is possible, when not html client. see:
    • file2.mp4, file2.ita.aac, Jellyfin Media Player 1.11.1
    • file2.mp4, file2.ita.aac, Google Cast Chromecast 3.0.0
    • file2.mp4, file2.fra.ac3, Jellyfin Media Player 1.11.1

    the html client, on the other hand, transcodes each separate compatible stream. no remuxing.
    • h264 to h264
    • aac to aac
    • mentioned reason: external audio
    • see: file2.mp4, file2.ita.aac, Jellyfin Web 10.10.0 (Firefox) / Jellyfin Android 2.6.2

    smooth handling of compatible video and (incompatible) external audio
    • remuxing or direct streaming (transcode audio only)
    • see: file2.mp4, file2.fra.ac3, (all clients)



    TESTS
    ##########

    file1.mkv, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Direct playing

    file1.mkv, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file1.mkv, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file1.mkv, Google Cast Chromecast 3.0.0
    ##########
    Transcoding
    The media is being converted into a format that is compatible with the device that is playing the media.
    TS H264 AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file1.mkv, file1.ita.aac, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264 (!)
    Audio codec AAC (direct)
    Reason for transcoding The audio stream is external

    file1.mkv, file1.ita.aac, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC (!)
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported (!)

    file1.mkv, file1.ita.aac, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported (!)

    file1.mkv, file1.ita.aac, Google Cast Chromecast 3.0.0
    ##########
    The media is being converted into a format that is compatible with the device that is playing the media.
    TS H264 AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported (!)

    file1.mkv, file1.fra.ac3, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264 (!)
    Audio codec AC3 (direct) (!)
    Reason for transcoding The audio stream is external

    file1.mkv, file1.fra.ac3, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file1.mkv, file1.fra.ac3, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264
    Audio codec AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file1.mkv, file1.fra.ac3, Google Cast Chromecast 3.0.0
    ##########
    The media is being converted into a format that is compatible with the device that is playing the media.
    TS H264 AAC
    Reason for transcoding The container is not supported
    The video codec is not supported
    The audio codec is not supported

    file2.mp4, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Direct playing

    file2.mp4, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Direct playing

    file2.mp4, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Direct playing

    file2.mp4, Google Cast Chromecast 3.0.0
    ##########
    Direct playing
    The source file is entirely compatible with this client and the session is receiving the file without modifications.

    file2.mp4, file2.ita.aac, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Remuxing
    Remuxing Info
    Video codec H264 (direct)
    Audio codec AAC (direct)

    file2.mp4, file2.ita.aac, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264 (!)
    Audio codec AAC (!)
    Reason for transcoding The audio stream is external

    file2.mp4, file2.ita.aac, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Transcoding
    Transcoding Info
    Video codec H264 (!)
    Audio codec AAC (!)
    Reason for transcoding The audio stream is external

    file2.mp4, file2.ita.aac, Google Cast Chromecast 3.0.0
    ##########
    Remuxing (!)
    The media is in an incompatible file container (MKV, AVI, WMV, etc) but both the video stream and audio stream are compatible with the device. The media will be repackaged losslessly on the fly before being sent to the device.

    file2.mp4, file2.fra.ac3, Jellyfin Media Player 1.11.1
    ####################
    Player MPV Video Player
    Play method Remuxing (!)
    Remuxing Info
    Video codec H264 (direct)
    Audio codec AC3 (direct)

    file2.mp4, file2.fra.ac3, Jellyfin Web 10.10.0 (Firefox)
    ##########
    Player Html Video Player
    Play method Direct streaming (!)
    Direct Streaming Info
    Video codec H264 (direct)
    Audio codec AAC

    file2.mp4, file2.fra.ac3, Jellyfin Android 2.6.2
    ##########
    Player Html Video Player
    Play method Direct streaming (!)
    Direct Streaming Info
    Video codec H264 (direct)
    Audio codec AAC

    file2.mp4, file2.fra.ac3, Google Cast Chromecast 3.0.0
    ##########
    Direct streaming (!)
    The video stream is compatible with the device, but has an incompatible audio format (DTS, Dolby TrueHD, etc.) or number of audio channels. The video stream will be repackaged losslessly on the fly before being sent to the device. Only the audio stream will be transcoded.
    minidisco
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Oct
    Reputation: 0
    Country:Argentina
    #5
    2024-11-19, 02:31 PM (This post was last modified: 2024-11-19, 02:31 PM by minidisco. Edited 1 time in total.)
    (2024-10-29, 02:26 AM)theguymadmax Wrote: Jellyfin forces external audio files to always transcode/remux.

    Hhhmm...
    I think I will stick with merging all audio tracks into the mkv container. But separate external audio tracks would be nice, without triggering video transcode.
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode