[FFmpeg-devel] GSoC 2025 - OggKate subtitles support

Soft Works softworkz at hotmail.com
Tue Mar 4 21:44:58 EET 2025


> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Gianluca Cannata
> Sent: Dienstag, 4. März 2025 09:40
> To: ffmpeg-devel at ffmpeg.org
> Subject: [FFmpeg-devel] GSoC 2025 - OggKate subtitles support
> 
> Good morning,
> 
> I have to write a karaoke solution with FFmpeg libav libraries for a
> project of mine and I have found OggKate subtitles a good choice to
> implement such solution and I am thinking of writing a Kate demuxer and
> decoder along with a filter that will use OpenGL to render Kate
> subtitles
> capabilities on frame.
> 
> What do you think ?
> 
> There is someone interested in mentoring this proposal project ?
> 
> Or is it too overkill ?
> 
> Sincerely
> 
> Gianluca
> _______________________________________________


Hi Gianluca,

while it's true that "OggKate" doesn't appear to be well-known (I've never heard of it before), but it's also the only officially spec-ed subtitle format in Ogg containers (besides raw text).
I think that fact makes it interesting to implement it - one could also argue that the reason why it isn't widespread yet is that ffmpeg doesn't support it 😊

The license of the reference implementation source code appears to be permissive (https://github.com/Distrotech/libkate?tab=License-1-ov-file#readme), so an adaption might be possible as well - yet, IANAL.

Regarding the effort, I think that the implementation of a renderer is too steep, especially when aiming to support fancy things like animation. Anyway, a specific renderer would not quite fit into the ffmpeg architecture, because:

Every (text) subtitle decoder decodes to ASS format and every (text) subtitle encoder encodes from ASS to its target format. This means that implementing a decoder for OggKate would require to translate the Kate format to ASS.
Since we do have an ASS renderer (via libass), it would be still possible to achieve the goal of rendering those subtitles, even with animations.


I have seen that there are two representations of Kate subtitles: A text format and a bitstream format. What gets muxed into an Ogg container is always the bitstream format, the text/file format is just an extra and not needed, so it can be skipped, which means in turn that there's no need for developing a demuxer.

As mentioned above, for the format to have a chance to become more widespread, there would also need to be an encoder.

Making this a project about developing an encoder+decoder pair for Ogg Kate would appear to be a nice project IMO.

sw










More information about the ffmpeg-devel mailing list