gpt4 book ai didi

video - FFMPEG 2 视频在 1 帧中并排转码?

转载 作者:行者123 更新时间:2023-11-28 21:38:37 25 4
gpt4 key购买 nike

我有 2 个视频:HEADSHOT.MOV 和 SCREEN.MOV。它们都是大文件,我希望同时缩小(大小、比特率等)并将这两个文件并排放置在同一个非常宽的视频帧中。最终结果是,当您播放 output_video.mp4 时,您会看到一个非常宽的帧,两个视频同步并以相同的速率播放。

这是我正在尝试做的在语法上不正确的版本:

ffmpeg -i HEADSHOT.MOV -t 00:02:00 -acodec libfaac -ab 64k -vcodec libx264 -r 30 -pass 1 -s 374x210 -vf "movie=SCREEN.MOV [small]; [in][small] -an -r 30 -pass 1 -s 374x210 overlay=10:10 -t 00:02:00 [out]" -threads 0 output_movie.mp4

在上面的示例中,我还尝试将测试电影持续时间设置为 2 分钟,这引发了另一个问题,处理 2 部不同长度的电影(如果它们很接近)的最佳方法是什么?

到目前为止我发现有用的资源是:

Multiple video sources combined into one

http://ffmpeg.org/ffmpeg.html#overlay-1

非常感谢任何帮助/建议。我在使用 FFMPEG 语法时遇到了问题!谢谢!

最佳答案

可以通过组合 scale、pad 和 overlay 过滤器来实现如下结果:

ffmpeg.exe -i LeftInput.mp4 -vf "[in] scale=iw/2:ih/2, pad=2*iw:ih [left]; 
movie=RightInput.mp4, scale=iw/3:ih/3, fade=out:300:30:alpha=1 [right];
[left][right] overlay=main_w/2:0 [out]" -b:v 768k Output.mp4

这里第一个视频缩小了一半,并填充到原来的大小。第二个视频缩小了三分之二,并覆盖在第一个视频的右半部分(填充区域)上。

较短的视频可以淡出;否则,最后一帧将显示到组合视频结束。

可以使用-b:v 选项设置结果比特率。此外,可以为 pad、scale 和 overlay 过滤器指定视频大小和位置(以像素为单位)。

关于video - FFMPEG 2 视频在 1 帧中并排转码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9293265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com