An addendum to my first post.
a) Plex prefers external subtitles to embedded subtitles. So, if a movie has external SRT subs and embedded PGS/VOBSUB subs, Plex will pick the external subs first.
Example: A movie has embedded PGS subs with the forced flag set. External SRT subtitles are also available with “forced” in the file name (movie (year).lang.forced.srt). Plex defaults to the external subtitles.
b) Plex remembers subtitle selections per movie/episode. If you play a movie and manually pick a specific subtitle, Plex remembers the selection the next time you play the same file.
All my SRTs are external. I find it easier to manage them when external (I may want to correct a spelling or punctuation error and demuxing/remuxing embedded subs is a PITA).
As far as I know, Plex prefers external subtitles over internal subtitles. Also, the rules regarding transcoding are the same - it does not matter if the SRTs are embedded or external.
Note that adjusting subtitle offsets is only supported for external text based subs. Not possible with embedded subtitles.
First, try this: https://www.youtube.com/watch?v=YgYEuJ5u1K0
Then, take some aspirin and realize there is no perfect answer.
I’ve a DS918+. It makes a nice Plex server unless you have to burn subtitles. The Celeron CPU is just not powerful enough.
I tried several options:
a) Converting PGS/VOBSUB to SRT with Subtitle Edit. Works, but too time consuming.
b) Looking for SRTs on the web. Not viable. Most subtitles either had incorrect timestamps (too time consuming to correct) or are just horrible quality (poor spelling, punctuation, etc).
c) Transcoding movies with Handbrake to lower bitrates that will usually direct play. Works, but is very time consuming. And still requires obtaining SRT subtitles.
My solution: Move Plex Media Server from the Synology to a dedicated PC that can handle transcoding and subtitle burning.
I picked up a used Lenovo M90q PC with an i5-10500T on eBay, added some RAM and a spare SSD and loaded Ubuntu 22.04. Media remains on the NAS, accessed via NFS.
It works great.
Most of my movies/shows are Blu-ray rips (1080p) or DVD rips (480p). The Lenovo can easily transcode the video to lower bitrates and burn in subtitles if needed.
Moving PMS to the Lenovo greatly reduced the amount of time I spend curating media. I rip a disc using MakeMKV, selecting only the desired audio & subtitle tracks. Run the file through MKVToolNix to add chapter names, tweak audio/subtitle track names, etc., then load it on the server. No Handbrake, Subtitle Edit, etc. Easy Squeezy.
I use a Nvidia Shield to watch media at home. It direct plays everything in my library.
Friends/family I share with are much happier since I moved to the Lenovo. They have full subtitle support. No buffering due to subtitle burning. They have a mix of Android TV, Samsung Tizen, and Roku devices.
I limit remote streams to 8 Mbps due to max 30 Mbps upstream from my house. Not a problem to run three concurrent remote streams (all transcoding) while also watching something at home myself.
A note about 4K HDR: I do not share 4K HDR media remotely. It would be transcoded to SDR due to limited uplink bandwidth. I have less than 100 4K movies and I find it easier to keep both 4K & 1080p versions.
The i5-10500T will happily transcode 4K HDR media. However, it does struggle with subtitle burning. Subtitle burning on Linux systems uses the CPU and is single threaded. A CPU with faster individual cores could burn subtitles when transcoding 4K HDR media.
Hope this helps. Let me know if anything is not clear, seems incorrect, etc.