[FFmpeg-devel] [WIP] libass subtitle renderer filter

Stefano Sabatini stefasab at gmail.com
Fri Nov 25 18:31:41 CET 2011


On date Wednesday 2011-10-05 08:16:15 +0200, Clément Bœsch encoded:
> On Sun, Sep 25, 2011 at 05:52:10PM +0200, Stefano Sabatini wrote:
> > Hi,
> > 
> > as in $subject, usage:
> > 
> > $ ffplay -vf "ass=ff=FreeSerif.ttf:f=SUB.ass" FILE 
> > 
> 
> Are the internal fonts set in the ASS file loaded?

font loading is managed via fontconfig now, indeed this is how the
libass author suggested me (and looks less problematic).

> > This has still problems, maybe something's wrong with how I'm using
> > libass (on the other hand both libass and the ASS format itself are
> > painfully under-specificated so it's not easy to figure out what's
> > wrong).
> > 
> > Todo:
> > * fix rendering
> > * YUV and more RGB formats support
> > * optimizations?
> > 
> > The problem with the weird rendering which I observe possibly depends
> > on the fact that libass doesn't automatically select the Default
> > style, if not specified explicitely on the dialog lines.
> > 
> > I got the test file converting an SRT to ASS using ffmpeg (and got no
> > Style in the dialog lines), so maybe this is a problem which should be
> > fixed in the conversion code.
> > 
> > YUV path is partly addressed in a patch I got from Baptiste (from the
> > other points of view his variant is more or less equivalent to this
> > one, but my code is funnier to read due to the AssContext).
> > 
> 
> ASSContext sounds better to me :)

I kept AssContext, but you can guess how I care about Ass/ASS.

> > Note that I don't want to make a generic subtitles renderer of this,
> > but just a simple wrapper around libass.
> > 
> 
> Being able to burn some crazy subtitles like
> http://www.youtube.com/watch?v=dacAu3i3864 in FFmpeg with such filter is
> really great, thank you both for writing this filter.
> 
> > A more generic subtitle renderer should be done relying on
> > libavcodec/libavformat, and writing an internal AVSubtitle to video
> > renderer engine.
> 
> There is indeed places for improvement here, and I'd like to help
> eventually.

A possible important todo I'm leaving out is that I'm not supporting
YUV formats (neither more RGB formats), but since I can't spend much
time on coding I'd rather push this version.

Note also that I'm parsing the provided filename with av_get_token()
in case we need to extend the filter later, by adding more options
(e.g. like in *movie).
-- 
FFmpeg = Friendly & Fierce Mean Pitiful Exuberant Guru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-lavfi-add-libass-based-subtitles-renderer.patch
Type: text/x-diff
Size: 11762 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20111125/9d0ab890/attachment.bin>


More information about the ffmpeg-devel mailing list