コマンド:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
は、左上の画像 "watermarklogo.png" で動画を作成します。別のプログラムからこのコマンドを呼び出すだけで十分です。それを理解するには少しずつこの内訳
:
ffmpeg
あなたは透かしを追加するために使用することがありますプログラムです。
-i
入力ファイルの指定に使用されます。
inputvideo.avi
は、-i
で指定した入力ファイルです。
-vf
は、ビデオフィルタを指定するために使用されます。この場合、これは引用符の中のすべてです。
movie=watermarklogo.png
は、ウォーターマークとして使用するファイルを読み込みます。ここでは、ファイルがビデオであるかどうかにかかわらず、ファイルをビデオソースとして(movie
を使用して)ロードします。この場合、それはイメージです。
[watermark]
は、ロードしたばかりのファイルにラベルを付けます。このラベルは、残りのコードで使用されます。
[in]
および[out]
は、ビデオの入力ストリームと出力ストリームを指します。
overlay
は、それを参照するように[watermark]
ラベルの直後に使用されています。この単純なケースでは、overlay
を10:10
に置きます。つまり、ウォーターマークは、上端から10ピクセル左にオフセットされます。右下の場合はoverlay=main_w-overlay_w-10:main_h-overlay_h-10
を使用します。ここで、main_w
は入力ストリームの幅、overlay_h
はオーバーレイファイルの高さなどです。
最後に、outputvideo.flv
は明らかに結果を保存するファイルです。
追加情報:
私はコメントでthe site Dmitry had mentionedを通じてこの情報を見つけました。アレックスは、このページは、そのようなものに慣れていない人にとっては複雑すぎるかもしれないと言いました。しかし、私はこのようなことは一度もしていないし、ほんの数分以内に私は求められていると思った結果を得ました。
注:
error while opening encoder for output stream #0.1
あなたは(あなたはおそらく手動で-arパラメータを使用して、サンプリング周波数を設定する必要が同じ問題を抱えている場合など-ar:私は、私はエラーを取得したトラブルの瞬間がありました22050)。
コード例は、任意のフィルタを適用するように簡単に変更できます。何が問題ですか?オーバーレイとムービーフィルタを使用する例については、[FFmpegを使用してビデオに透かしを入れる方法](http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg)を参照してください。 –
この例の問題は、オーバーロードされていることです(2つのフィルタ、フィルタグラフなど)。新しいもので、AVFilterを適用する方法を見つけたいと思っている人にとっては、開始するために絶対に必要なことを明確にしていないため、混乱しています。 –