2017-06-26 1 views

答えて

0

ソリューション例:

ffmpeg -y -i video.mp4 -i overlay.png -filter_complex "[0][1]overlay=x=mod((1080/4 + sin(t)*1080/4)\,1920):y=mod(t*300\,1080)[res];" -map "[res]" -preset ultrafast out.mp4 

説明:

オーバーレイ入力[1]入力[0](video.mp4)と位置オ​​ーバレイ上(overlay.png)を用いて評価X = MOD((ここで、t =ミリ秒単位の時間。ここで、t = 300(1080/+ sin(t)×1080/4)、1920)。オーバーレイの結果をストリーム[res]にマッピングし、out.mp4に出力します。

複数のオーバーレイを有するより複雑な例とオーバーレイとしてGIFを使用して:

ffmpeg -y -i video.mp4 -ignore_loop 0 -i overlay.gif -filter_complex ` 
>> "[0][1]overlay=x=mod((1080/4 + sin(t)*1080/4)\,1920):y=mod(t*300\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*1 + 1080/4 - sin(2*t)*1080/4)\,1920):y=mod(100 + t*300\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*2 + 1080/4 - sin(-90 + t/2)*1080/4)\,1920):y=mod(150 + t*250\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*3 + 1080/4 - sin(90 + 3*t)*1080/4)\,1920):y=mod(200 + t*100\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*4 + 1080/4 - sin(180 + t)*1080/4)\,1920):y=mod(t*250\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*5 + 1080/4 - sin(-180 + t)*1080/4)\,1920):y=mod(t*100\,1080):shortest=1[res];` 
>> [res][1]overlay=x=mod((200*6 + 1080/4 - sin(2*t)*1080/4)\,1920):y=100 + mod(100 + t*300\,1080):shortest=1[res]` 
>> " -map "[res]" -preset ultrafast out.mp4 
関連する問題