Currently, for subtitled media where the subtitles are in SubStation Alpha (SSA) or Advanced SubStation Alpha (ASS) format, a transcode is required in order to burn the subtitles on to the video stream as there is no support at the moment for rendering these kinds of subtitles on top of the video stream in Plex Web. Simpler subtitle formats are usually able to be rendered in the browser, thus improving quality and avoiding the transcoding hit.
SSA/ASS subtitles are commonly used when subtitling anime due to the extra features they support such as styling, animation and even covering elements of the screen (normally used to translate text on a sign for example). This does make them more complicated to support in the browser, but it isn’t impossible. There is an existing Javascript library called libjass which renders SSA/ASS subtitles using the browser’s CSS engine. libjass is an open source project under the Apache 2.0 licence, which other open source components used by Plex already use. A demo is also available here and it’s quite impressive just how well the subtitles are rendered - even for subtitles that use complex animation!
I appreciate that adding support isn’t as simple as dropping in this library and everything’s done, but hopefully the fact that a working library already exists makes things a little simpler! It would be really great if Plex Web could integrate this as it would greatly improve the quality of the subtitles (as they’d be rendered at native resolution instead of the video’s resolution and then upscaled/downscaled to the viewport resolution) and it would prevent a lot transcodes on my Plex Media Server instance.
Thanks for having a read of this request!
