Bug: Files with S_TEXT/WEBVTT Codec ID crash transcoder

Signal Boost: I wrote about this bug on my personal website (with some extra details): Why WebVTT subtitles in Plex don't work | Christian Kündig

Server Version#: 1.19.1.2701-6327e27bf (and many before)
Player Version#: independent of player

Playing files with embedded WebVTT subs requires the subs do be deselected as the transcoder fails when trying to reencode or just remux these subs.
Logs:

Sep 14 11:12:36 localhost PlexMediaServer[34961]: [Transcoder] Decoder (codec none) not found for input stream #0:0

Sep 14 11:12:36 localhost PlexMediaServer[34961]: Transcode runner appears to have died.

Existing Threads:

Root Cause:

https://trac.ffmpeg.org/ticket/5641:

FFmpeg supports the D_WEBVTT/SUBTITLES flavor following WebM specs (​The WebM Project | WebM Container Guidelines), but not the recent S_TEXT/WEBVTT flavor added to Matroska spec (​Codec Mappings) - those are always marked as None

There’s a lot of files floating around with this codec id because youtube-dl (and possibly many other tools) follow the Matroska spec : Wrong "Codec ID:" for VTT in mkv file · Issue #16338 · ytdl-org/youtube-dl · GitHub

Workaround:

Plex doesn’t seem to select the embedded subtitles if there’s external files present, so this fixes the playback issue:

for f in *.mkv; do ffmpeg -c:s webvtt -i "$f" "${f%.mkv}.en.vtt";done

Possible fixes

  • Wait for FFMPEG to fix this (unlikely, the ffmpeg bug is already 4 years old)
  • Blacklist “None” subtitles / don’t index them so the client’s won’t select them under any circumstance
  • As plex itself seems to extract the right codec id (same as with mediainfo), why not add a flag before calling ffmpeg in the transcoder to manually override the codec type so it’s not None? (#idx being the track with the S_TEXT/WEBVTT subtitles)
    ffmpeg -c:#idx webvtt -i $file
  • alternatively you could also fix the underlying issue the embedded ffmpeg in plex.

I’ve forwarded your information.
Thank you for the writeup!

Any update whether this can be fixed at some point?

Sorry I have no information about that. The bug report hasn’t been closed, so that means at least it wasn’t denied.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.