• 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 Approach to Internal/External Subtitles

     
    • 0 Vote(s) - 0 Average

    Approach to Internal/External Subtitles

    BotchedMiracle
    Offline

    Junior Member

    Posts: 9
    Threads: 2
    Joined: 2024 Dec
    Reputation: 0
    Country:United States
    #1
    2025-01-30, 08:38 PM
    I'm looking to optimize my entire library's approach to handling subtitles. I have a few main questions:

    1.  I have 4K HDR files that will transcode instead of direct play when certain PGS subs are being displayed. Would extracting them and making them external prevent the entire video from transcoding?

    2.  Does Jellyfin prioritize external subtitle files (.srt) before any embedded ones in the media file? If so, is there any indication when viewing media which subtitle Jellyfin is reading?

    3. Is there any preferred tool to run against my library to extract, place alongside, and subsequently remove the internal subtitles to be left with ONLY externals? I have a wide mix of formats, 1 tool would be awesome instead of a different one for every format. I know the official Subtitle Extract Plugin could work for this if there was an option to change the destination, and also remove embedded subs, but I think you can't do either of those.

    Thanks for reading. Info is sparse regarding these hurdles.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2025-01-30, 09:36 PM
    Currently, only Jellyfin-web and Jellyfin Media Player support directly playing PGS subs. For Jellyfin-web it is experimental and, from my experience, hit or miss. Sometimes causes video, audio, and subs to desync.

    Jellyfin doesn't prioritize any, really. It will show both embedded and external if you have both. Some clients require that, for example, SRT subs be external. Some can play embedded subs. If you don't already have external SRT subs Jellyfin will extract them either on the fly or pre-extract them if you have the "Subtitle Extract" plugin installed.

    If you don't care about using a little extra storage space, the Subtitle Extract plugin will pre-extract subtitles that are embedded and save them in the Jellyfin application directory. Not with your media.

    Otherwise, you'd have to use something like MKVToolnix or ffmpeg to extract and remove subs. ffmpeg could be scripted to do this.
    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]
    BotchedMiracle
    Offline

    Junior Member

    Posts: 9
    Threads: 2
    Joined: 2024 Dec
    Reputation: 0
    Country:United States
    #3
    2025-01-31, 12:56 AM
    Appreciate the response. To clarify:

    Would pre-extracting subtitles (either using the plugin or other tools) prevent the entire video from transcoding if embedded subs forced a transcode previously? Not sure what function the "on the fly" extraction has on someone who doesn't have the plugin installed, or if it's even relevant to force direct-play with pgs subs.
    theguymadmax
    Offline

    Community Moderator

    Posts: 1,024
    Threads: 0
    Joined: 2024 Jun
    Reputation: 58
    #4
    2025-01-31, 02:05 AM (This post was last modified: 2025-01-31, 02:15 AM by theguymadmax. Edited 3 times in total.)
    The answers may vary depending on the client you're using—whether it's Android TV, Roku, WebUI (Chrome, Firefox), Jellyfin Media Player, or Swiftfin. Could you specify which one you're referring to?

    Also, most clients will default to using external SRT files if they're available, and yes, this should prevent transcoding. One thing Dread forgot to mention is that the Android TV client also supports PGS subtitles without transcoding, but only for embedded PGS subtitles (it doesn't support external PGS files).

    Personally, I use external SRT files for all my media to avoid transcoding on the clients I use.
    BotchedMiracle
    Offline

    Junior Member

    Posts: 9
    Threads: 2
    Joined: 2024 Dec
    Reputation: 0
    Country:United States
    #5
    2025-01-31, 02:14 AM
    Ah, In this case I'm concerned with the LG WebOS cient. However if there's an appliance that could achieve this that you know of like an Apple TV or something, let me knwow.
    theguymadmax
    Offline

    Community Moderator

    Posts: 1,024
    Threads: 0
    Joined: 2024 Jun
    Reputation: 58
    #6
    2025-01-31, 02:29 AM (This post was last modified: 2025-01-31, 02:30 AM by theguymadmax. Edited 1 time in total.)
    It really depends on the media you're using. As I mentioned, PGS subtitles are natively supported on the Android TV client. If you have DV/HDR10+ content, I wouldn’t recommend the latest Google Streamer or Firestick, as there’s an issue affecting those players. If your media isn't DV/HDR10+, either one should work just fine. In my opinion, the best player is the Nvidia Shield, although it’s a bit pricey and could use a refresh. I haven’t tried an iOS or Roku client, so I can’t speak to those, but each client will have its own quirks.
    BotchedMiracle
    Offline

    Junior Member

    Posts: 9
    Threads: 2
    Joined: 2024 Dec
    Reputation: 0
    Country:United States
    #7
    2025-01-31, 03:08 AM
    Oh I replied to your comment before you edited it.

    For what it's worth, Only HDR10 media, no DV.

    I guess I'll extract some subs as a test and report back regarding WebOS.
    visualblind
    Offline

    Junior Member

    Posts: 14
    Threads: 3
    Joined: 2023 Sep
    Reputation: 0
    Country:United States
    #8
    2025-02-07, 02:05 PM (This post was last modified: 2025-02-07, 02:06 PM by visualblind. Edited 1 time in total.)
    (2025-01-31, 02:05 AM)theguymadmax Wrote: The answers may vary depending on the client you're using—whether it's Android TV, Roku, WebUI (Chrome, Firefox), Jellyfin Media Player, or Swiftfin. Could you specify which one you're referring to?

    Also, most clients will default to using external SRT files if they're available, and yes, this should prevent transcoding. One thing Dread forgot to mention is that the Android TV client also supports PGS subtitles without transcoding, but only for embedded PGS subtitles (it doesn't support external PGS files).

    Personally, I use external SRT files for all my media to avoid transcoding on the clients I use.

    So many different configurations it feels like a "Where's Waldo?" collage.

    That's awesome that PGS is supposed to Direct Play now with jellyfin-web and Android TV. I have avoided anything related to PGS because in my mind it was always the case that it would cause transcoding and I have always thought "pictures of text" might take the cake for the dumbest idea I have heard. I'm sure there's lots of others I can't think of right now.

    I haven't had any issues with any client (jellyfin-web, android tv, roku) doing Direct Play with the following subtitle configurations:
    • Internal SRT inside MKV container
    • External SRT alongside MKV container
    • Internal mov_text (mp4 timed-text) inside MP4 container
    • External SRT alongside MP4 container
    amorapotter
    Offline

    Junior Member

    Posts: 2
    Threads: 0
    Joined: 2025 Mar
    Reputation: 0
    Country:United States
    #9
    2025-03-13, 07:10 AM (This post was last modified: 2025-03-13, 07:11 AM by amorapotter. Edited 1 time in total.)
    (2025-01-30, 08:38 PM)BotchedMiracle Wrote: I'm looking to optimize my entire library's approach to handling subtitles. I have a few main questions:

    1.  I have 4K HDR files that will transcode instead of direct play when certain PGS subs are being displayed. Would extracting them and making them external prevent the entire video from transcoding?

    2.  Does Jellyfin prioritize external subtitle files (.srt) before any embedded ones in the media file? If so, is there any indication when viewing media which subtitle Jellyfin is reading?

    3. Is there any preferred tool to run against my library to extract, place alongside, slopeand subsequently remove the internal subtitles to be left with ONLY externals? I have a wide mix of formats, 1 tool would be awesome instead of a different one for every format. I know the official Subtitle Extract Plugin could work for this if there was an option to change the destination, and also remove embedded subs, but I think you can't do either of those.

    Thanks for reading. Info is sparse regarding these hurdles.

    I'll answer each of your questions as best I can:

    1. Yes, in many cases, extracting PGS (Presentation Graphic Stream) subtitles and converting them to an external text-based format like .srt can help avoid transcoding, especially with 4K HDR content.
    2. Jellyfin doesn’t strictly prioritize external .srt files over embedded subtitles by default—it lists all available subtitles (internal and external) and lets you choose.
    3. You’re right—info is sparse, and the Jellyfin Subtitle Extract Plugin has limitations (no destination override or embedded sub removal). No single tool perfectly automates everything across all formats, but here’s a practical approach using widely available software: FFmpeg + Scripting: It’s versatile, handles most video formats (MKV, MP4, TS, etc.), and can extract subtitles to external files. It’s not a one-click GUI, but it’s scriptable for batch processing your library. It won’t remove embedded subs directly—you’ll need a second step for that—but it’s a solid starting point.
    « 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