首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ffmpeg视频淡出效果不成功-没有转换或第二个视频

ffmpeg视频淡出效果不成功-没有转换或第二个视频
EN

Stack Overflow用户
提问于 2021-10-28 13:38:30
回答 1查看 342关注 0票数 0

我有两个T秒长的视频,由PNG图像使用以下命令制作:

代码语言:javascript
运行
复制
ffmpeg -i workspace/1.png -vcodec libx264 -t T ./1.mp4
ffmpeg -i workspace/2.png -vcodec libx264 -t T ./2.mp4

使用这些视频,我试图在这两个持续T秒的视频之间建立一个过渡,我们从第一个视频开始,然后淡入第二个视频。下面是我所想到的过渡的一个简单的ASCII可视化:

代码语言:javascript
运行
复制
Alpha \ Time    0.........T
1.mp4         100.........0
2.mp4           0.......100

所以,这两个视频,以及淡出效果应该立即开始,并以视频本身结束。(即偏移量为0,持续时间为T)

但是当我试图制作这样的视频时,最终的MP4只是由1.mp4的视频组成,没有任何褪色效果。下面是我用来制作转换视频的命令:

ffmpeg -i 1.mp4 -i 2.mp4 -y -filter_complex "xfade=transition=fade:offset=0:duration=T" -t T ./1-2.mp4

我认为,filter_complex选项中的偏移量和持续时间参数足以实现转换。

我看过类似的StackOverflow问题,但在所有这些问题中,淡出效果是在连续运行的视频之间进行的,而不是并行的。这就是这里发生的事吗?如何使这两个视频从一开始就并行运行,而淡出正在应用于他们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-28 15:55:07

  1. 你没有循环图像,所以你的视频只有1帧长。
  2. 当您希望转换发生时,x淡出偏移量是时间戳。

举例说明。每幅图片有5秒长。从1.png2.png的1秒交叉褪色将从1.png开始发生4秒.output.mp4将有9秒长。

代码语言:javascript
运行
复制
ffmpeg -loop 1 -t 5 -i 1.png -loop 1 -t 5 -i 2.png -filter_complex "xfade=transition=fade:offset=4:duration=1,format=yuv420p" -movflags +faststart output.mp4

请参见:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69755148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档