ffmpeg で字幕を書き込むためのフォントを選択する方法

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

答え1

見てみましょうsubtitlesフィルターオプション

別のフォントを強制するには、force_styleASS パラメータに渡されたフォント名を含むオプションを使用します。FontName

ffmpeg -i video.avi -vf subtitles=subtitle.srt:force_style='FontName=DejaVu Serif' out.avi

オプションでフォント パスを指定する必要がある場合がありますfontsdir。これは、フォント プロバイダー (coretextこの場合) にフォントがインストールされているパスが含まれていない場合に適用されます。

関連情報