ビデオ出力にテキストを書き込む最小限の MLT ファイルを次に示します。
<?xml version="1.0"?>
<mlt>
<profile width="320" height="240"/>
<multitrack>
<playlist>
<producer in="0" out="0">
<property name="mlt_service">color</property>
</producer>
</playlist>
</multitrack>
<filter in="0" out="0">
<property name="mlt_service">dynamictext</property>
<property name="argument">Hello world!</property>
<property name="fgcolour">white</property>
</filter>
</mlt>
1フレームしか作成されませんが、上記を「text.mlt」として保存すると、ffmpegでフレームを抽出し、それを画像ビューアーで開くことで出力を確認できます(私はeogを使用しているので、それをこのコードを実行する場合は、独自のビューア):
melt text.mlt -consumer avformat:text.mp4 acodec=aac vcodec=libx264 &&
ffmpeg -y -loglevel quiet -i text.mp4 -vframes 1 text.png &&
eog text.png
結果は次のとおりです。
MLT フィルター プラグインの文書化されたリストには、「text」と「qtext」の 2 つのテキスト レンダリング フィルターがリストされていますが、上記の mlt ファイルで「dynamictext」を「text」または「qtext」に置き換えると、テキストは表示されません。が表示されます。これはバグですか、それとも予想される動作ですか? それが予想される動作である場合、誰かが何が起こっているのか説明してもらえますか?
私は公式のUbuntuパッケージリポジトリからダウンロードしたmelt 6.6.0を使用して、Ubuntu 18.04.4 LTSを使用しています。ここに私のuname -a
出力があります:
Linux laptop 4.15.0-99-lowlatency #100-Ubuntu SMP PREEMPT Wed Apr 22 21:10:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
ありがとう!