我正在使用以下内容生成一个并排的视频。
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
我想在中间的右上角放置一条垂直黑线,或者在左侧的视频中添加一个黑色边框。如果我向左侧视频添加边框,我想保持原始视频的原始总和维度。此解决方案需要从左侧视频宽度中减去边框宽度。我会采取任何一种解决方案。
谢谢
最佳答案
解决方案 |已解决:如果两个视频都没有音频,请使用此方法。
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
我使用裁剪从右侧的视频宽度中删除了一个像素。原来是1280像素。
pad=1280:720:0:0:black[tmp0]
我通过声明一个 1280 像素的新 Canvas 大小来填充左侧影片。这将电影向左移动,在右侧留下一个像素的空间,颜色为“黑色”。
右边的电影我填充并向右移动,露出左边的黑色边框。
pad=1280:720:1:0:black[tmp1]
我对两个视频都这样做了,所以如果视频的尺寸相同,效果仍然居中。
关于linux - 使用 ffmpeg 叠加黑线或为两个并排视频添加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46454992/