2017-09-27 3 views
0

私は次のように並べてビデオを生成します。ffmpegを使用して黒線をオーバーレイするか、2つのサイドバイサイドビデオに境界線を追加する

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" -y final.mp4 

このようになります。

http://www.mo-de.net/d/partnerAcrobatics.mp4

私は途中で右上の黒い縦のラインを配置するか、左のビデオに黒い境界線を追加したいと思います。左のビデオに境界線を追加すると、元のビデオの元の合計寸法を維持したいと考えています。この解決方法では、左のビデオ幅から境界幅を減算する必要があります。私はいずれかの解決方法を取る。

おかげ

+0

スタックオーバーフローは、プログラミングおよび開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

0

使用

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS,crop=iw-10:ih:0:0, pad=2*(iw+10):ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" -y final.mp4 
0

ソリューション|解決済み:両方のビデオにオーディオを使用していない場合は、これを使用します。

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]crop=639:720, pad=640:720:0:0:black[tmp0]; [1:v]crop=639:720, pad=640:720:1:0:black[tmp1]; [tmp0][tmp1]hstack[v] " -map [v] -y o.mp4 

両方のビデオにオーディオを使用する場合は、次のようにします。

ffmpeg -i c2.mov -i c1.mov -filter_complex "[0:v]crop=1279:720, pad=1280:720:0:0:black[tmp0]; [1:v]crop=1279:720, pad=1280:720:1:0:black[tmp1]; [tmp0][tmp1]hstack[v];[0:a][1:a]amerge=inputs=2[a]" -map [v] -map [a] -ac 2 -y o.mp4 

両方のビデオの高さが同じでなければなりません。

crop=1279:720 

右のビデオ幅から1ピクセルを削除するためにクロップを使用しました。もともと1280ピクセルでした。

pad=1280:720:0:0:black[tmp0] 

1280ピクセルの新しいキャンバスサイズを宣言して左のムービーをパディングしました。これにより、ムービーが左に移動し、右側の1ピクセル分のスペースが残っていましたが、これは「黒い」色です。

右の動画を左に黒い枠線を塗りつぶして右に移動しました。

pad=1280:720:1:0:black[tmp1] 

私は両方の動画にこのようにしました。そのため、動画が同じサイズの場合、効果は中央に残りました。

関連する問題