5

ffmpeg を使用して動画に透かしを追加しようとしています。

しかし、それを作る方法を理解するのが非常に難しい要件が1つあります。もちろん、Webで検索しました。

したがって、ウォーターマークの位置を 20 秒ごとに 4 つのコーナーでランダムに変更する必要があります。

私の考えは、ビデオを一連のファイルに分割し、各ファイルにランダムに透かしを適用し、結果を 1 つの出力ファイルに結合することです。でもやり方が悪いと思います。

誰か助けてくれませんか?

ありがとう、セルゲイ

4

1 に答える 1

1

透かしが20秒ごとに移動するウォーターマークのループの1分間のビデオを作成し、オーバーレイフィルターを使用して、ループしたそのビデオを元のビデオにオーバーレイします。

画像のループは次のとおりです:http: //ffmpeg.org/trac/ffmpeg/wiki/Create%20a%20video%20slideshow%20from%20images

および透かし: http ://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/

元のビデオと同じ長さになるまで、透かしビデオに対してこのプロセスを繰り返すこともできます。私は私の理論をテストしていませんが、それが機能するかどうかをお知らせください。

編集、私は家に帰って私の理論をテストしました、これがWindowsバッチファイルです:

setlocal

rem create blank movie
rem I created 4 transparent PNG the same size as my final movie using FotografixPortable
rem after many failures with MSPaint... I should have known...

rem add water mark to blank movie (bottom right)
ffmpeg -loop 1 -i wm1.png -t 20 -vcodec png -pix_fmt rgba out-wm1.mov

rem add water mark to blank movie (top right)
ffmpeg -loop 1 -i wm2.png -t 20 -vcodec png -pix_fmt rgba out-wm2.mov

rem add water mark to blank movie (bottom left)
ffmpeg -loop 1 -i wm3.png -t 20 -vcodec png -pix_fmt rgba out-wm3.mov

rem add water mark to blank movie (top left)
ffmpeg -loop 1 -i wm4.png -t 20 -vcodec png -pix_fmt rgba out-wm4.mov

rem put (concat) them all together into one video
rem I use filter_complex because we need to maintain the transparency in the video
ffmpeg -i out-wm1.mov -i out-wm2.mov -i out-wm3.mov -i out-wm4.mov -filter_complex "[0:0] [1:0] [2:0] [3:0] concat=n=4:v=1:a=0 [v]" -map "[v]" -y -vcodec png -pix_fmt rgba -q 0 all-wm.mov

rem finally overlay the 1:20 watermark video onto the original movie
ffmpeg -i "Ted (2012) Unrated.mkv" -i all-wm.mov -filter_complex overlay -shortest -y -q 0 ted.avi

確かに、これは「ランダム」ではありませんが、オーバーレイムービーを任意の長さのパターンと個々のタイムスタンプにして、最終出力でランダムに表示することができます。

于 2013-01-15T22:19:36.247 に答える