ffmpegを使用してビデオの前に画像オーバーレイを追加します


31

私は多くのビデオを持っているので、それらの前に約5秒間画像を置く必要がありますが、手動で追加して毎回レンダリングするのは本当に時間がかかりますので、ffmpeg経由でそれを行うことができるかどうか尋ねていますffmpegの経験がないので、助けてください。すでにいくつかのコマンドを見つけましたが、どれも機能しませんでした。たとえばこれ。

ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4

1
必要に応じて、そのコマンドをコピーしたか、書きましたか?このコマンドにはフェードアウトなどの質問が含まれていない他のすべてのものが含まれているため、私は尋ねています。画像をオーバーレイするだけですか、それ以上必要ですか?
PTS

どこかからコピーしました。必要なのは、ビデオの前に画像を置くだけです。
アズィー14

回答:


44

次の構文を使用して、簡単な画像オーバーレイを実行できます。

ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4

overlay=25:25 は、画像を25px右に、25px下に、左上隅(0:0)から配置することを意味します。

enable='between(t,0,20)' は、2番目の0〜20の間に画像を表示することを意味します。

[0:v][1:v]は、を使用してインポートする最初のビデオファイルを-iinput.mp4の場合、またはffmpegがビデオ入力ファイル番号0をどのように見るかを、ビデオ入力ファイル1の場合(image.png)にしたいことを意味します。:vビデオ0とビデオ1 [0:a]が必要なことを意味するだけで、最初にインポートされたオーディオトラックが必要です。これもinput.mp4から取得されますが、mp4ファイルのビデオトラックではなくオーディオトラックを指します。

ffmpegが選択する設定ではなく、特定の画像品質/設定が必要な場合は、使用する画像またはオーディオのエンコードオプションを追加します。デフォルトのビデオエンコーダーはx264です。可能な設定については、H.264エンコーディングガイドを確認してください。

-acodec copy/ -c:a copyあなたはコマンド中のFeは、単にソースファイルからオーディオを再使用していること。もちろん(この場合)ビデオではできませんが、新しいビデオソースを作成しているため、トランスコードする必要があります。

オーディオをトランスコードする場合は、-c:a copyパーツを削除します。エンコーダを明示的に指定する必要がある場合があります-c:a aac -strict experimental。詳細については、AACエンコーディングガイドを参照してください。


上記のコマンドの次の反復は、aacのような元のエラーが実験的な機能であるため、Androidで機能しました。ffmpeg-i input.mp4 strict -2 -i image.png -filter_complex [0:v] [1: v] overlay = 25:25:enable = 'between(t、0,20)' output.mp4
muneikh

とにかく、高さを知らずに下に配置することはできますか?または幅を知らずに一番右ですか?
チョビー

確かに、単にffprobeでビデオを分析し、出力からビデオの寸法を抽出します。ffmpegに統合されたオプションもあるかもしれませんが、私はそれを知りません。
PTS

3
コマンド元のビデオファイルのフラグメントを置き換えますが、ユーザーはビデオの前または後に画像を追加する(したがってビデオの長さを長くする)ことができます。これを助けてください
ポートン

1
ソースファイルや出力に依存する@laurent。pix_fmtはピクセル形式を表します。さまざまなコーデックで利用できるさまざまなピクセル形式があります。1つを指定すると、うまくいかないものにならないように指定できます。yuv420pはh264に関しては最もサポートされているピクセル形式ですが、たとえばyuv422pやyuv444pもあります。
PTS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.