Draw subtitles on top of input video using the libass library.
To enable compilation of this filter you need to configure FFmpeg with
--enable-libass
. This filter also requires a build with libavcodec and
libavformat to convert the passed subtitles file to ASS (Advanced Substation
Alpha) subtitles format.
The filter accepts the following options:
- filename, f
-
Set the filename of the subtitle file to read. It must be specified.
- original_size
-
Specify the size of the original video, the video for which the ASS file was composed. For the syntax of this option, check the "Video size" section in the ffmpeg-utils manual. Due to a misdesign in ASS aspect ratio arithmetic, this is necessary to correctly scale the fonts if the aspect ratio has been changed.
- fontsdir
-
Set a directory path containing fonts that can be used by the filter. These fonts will be used in addition to whatever the font provider uses.
- charenc
-
Set subtitles input character encoding.
subtitles
filter only. Only useful if not UTF-8. - stream_index, si
-
Set subtitles stream index.
subtitles
filter only. - force_style
-
Override default style or script info parameters of the subtitles. It accepts a string containing ASS style format
KEY=VALUE
couples separated by ",".
If the first key is not specified, it is assumed that the first value specifies the filename.
For example, to render the file sub.srt on top of the input video, use the command:
subtitles=sub.srt
which is equivalent to:
subtitles=filename=sub.srt
To render the default subtitles stream from file video.mkv, use:
subtitles=video.mkv
To render the second subtitles stream from that file, use:
subtitles=video.mkv:si=1
To make the subtitles stream from sub.srt appear in transparent green
DejaVu Serif
, use:
subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'