如何使用ffmpeg选择用于刻录字幕的字体

for*_*rin 2 ffmpeg

使用 ffmpeg 和 libass 将字幕刻录成视频时,默认选择 Arial 字体。如何手动选择字体字体大小?我用谷歌搜索这个无济于事。(如果重要的话,我在 OS X 上。)

brew install ffmpeg --with-libass
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi

ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers
[Parsed_subtitles_0 @ 0x7fc161421ac0] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.1.2 (COMPLEX)
[Parsed_subtitles_0 @ 0x7fc161421ac0] Using font provider coretext
[Parsed_subtitles_0 @ 0x7fc161421ac0] fontselect: (Arial, 400, 0) -> /Library/Fonts/Microsoft/Arial.ttf, -1, ArialMT
Run Code Online (Sandbox Code Playgroud)

slh*_*hck 7

看看subtitles过滤器选项

使用force_style带有传递给 ASSFontName参数的字体名称的选项来强制使用不同的字体:

ffmpeg -i video.avi -vf subtitles=subtitle.srt:force_style='FontName=DejaVu Serif' out.avi
Run Code Online (Sandbox Code Playgroud)

您可能需要使用该fontsdir选项指定字体路径。如果您的字体提供程序(coretext在您的情况下)不包含安装字体的路径,则这适用。