2016-10-27 9 views
0

動画のサブパーツにオーバーレイ(アルファチャンネルのあるimage.png)を設定する必要があります。全体のビデオにそれを設定することは素晴らしい作品です。しかし、PNGを使わずに10秒間ギャップを作って、ビデオの終わりにする必要があります。動画のサブパネルにオーバーレイ画像を設定するにはどうすればよいですか?

したがって、オーバーレイは開始後10秒に表示され、自動的に(長さ - 10)秒で消えます。私はそれを動作させるために一日を費やして過ごしましたが、trimビデオフィルタは単に "単一のPNG画像のビデオストリーム"のトリミングをサポートしていないようです。このコマンドで

ffmpeg -y -i "$INPUT" -i "$PNG" -c:v libx264 -preset ultrafast -filter_complex \ 
"[0:v]setpts=0.5*PTS,fps=25[vm]; [1:0]trim=10:190[vo]; [vm][vo]overlay=x=0:y=0:overlay=eof_action=pass[v]; [0:a]atempo=2.0[a]" \ 
-map "[v]" -map "[a]" qtest_AVUP.avi 

190は、いくつかの機能/計算に置き換える必要がありますが、本当の問題は、オーバーレイが全く適用されないことです。その結果、オーバーレイなしの通常のビデオが得られます。 これを解決するために私を助けてもらえますか?

  1. オーバーレイの適用外エラーを修正するにはどうすればよいですか?
  2. 190の代わりに(video_stream_length-10s)を設定するにはどうすればよいですか?

答えて

0

あなたのオーバーレイコードのためにこれを試してみてください:

-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,20,40)'" 

これは、20と40秒の間、あなたのオーバーレイを配置します。あなたはあなたのEOF-10を得るために計算をしなければならないでしょう。ここにあなたのビデオ再生時間を取得するためのいくつかのコードです:

DURATION=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $INPUT) 
+0

あなたは(http://superuser.com/questions/650291/how-to-get-video-duration- [ '時間を取得するために単独でffprobe']使用することができますin seconds/945604#945604)、 'grep'、' cut'、 'tr'を省略します。 – LordNeckbeard

+0

良い点。私の答えを編集しました。 – UltrasoundJelly

関連する問題