Convert incompatible (text based) subtitles instead of transcoding

I want to avoid transcoding as much as possible, so if some form of text based subtitle format is not supported on the client (in my case WebVTT), the server should make an effort to convert it (to another, supported text based subtitle format). Generally, every client should understand the basic SRT format.
And I know that the advanced subtitle formats (ASS/WebVTT) don’t map perfectly into SRT, so the converter would have to make some compromises, i.e. dropping most of the styling, but this would still be preferable over transcoding (to me).
And if the client supports at least one of the advanced subtitle formats, you could (probably) completely emulate any (client) unsupported format.

Ideally, this should be a server setting though. I know that some clients, like Amazon’s Fire TV, have a subtitle transcode setting, which allows you to choose between Automatic and Graphics subtitles only transcoding, but my client doesn’t offer such a setting. Furthermore, I completely disabled video transcoding on my Raspberry Pi server, so it’s either no subtitles or no movie for my users.

Also, notice how I wrote “text based” in the title in parentheses? Why stop here? Why not include an OCR in the server and try to convert graphics based subtitles to text as well? You could even be smart about it and run it through a dictionary based on the specified subtitle language.
Again, probably best to put that behind a setting, but based on the number of subtitle related threads, it looks like many users would appreciate something like this.

Let’s stick with the text based ones in this thread. There’s already an existing suggestion to do some on-the-fly transcoding/conversion of image based subtitles :wink:

Upon further investigation, it looks like I didn’t spend enough time looking for an existing thread (I was only really looking in /tag/subtitles instead of /tags/c/feature-suggestions/8/subtitles). It would’ve honestly been shocking if nobody has requested this before. Please disregard

2021 clean-up: duplicate