使用 ffmpeg 和 libass 刻录字幕到视频时,默认选择 Arial 字体。如何选择字体和字体大小手动?我在 Google 上搜索了这个问题,但无济于事。(如果有关系的话,我在 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
答案1
使用force_style
传递给 ASS 参数的字体名称选项FontName
来强制使用不同的字体:
ffmpeg -i video.avi -vf subtitles=subtitle.srt:force_style='FontName=DejaVu Serif' out.avi
您可能需要使用该选项指定字体路径fontsdir
。如果您的字体提供商(coretext
就您而言)不包含字体的安装路径,则适用此方法。