大家论坛

 找回密码
 注册
查看: 2637|回复: 1

[讨论] ffmpeg overlay video on another video in specific time

[复制链接]

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
发表于 2018-8-5 15:43 | 显示全部楼层 |阅读模式
I have video with duration 01:30 min and i have another video with duration 00:50 sec i want to overlay the second video on the top of the first video at 00:45 to 00:50

i'm trying to use this command but it doesn't work

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4
any suggestions please?

Thanks

本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复

使用道具 举报

1295

主题

1308

帖子

1310

金币

大家网研究生四年级

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
5457
 楼主| 发表于 2018-8-5 15:44 | 显示全部楼层
You have to use the enable option:

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex \
        "[0:0][1:0]overlay=enable='between(t\,45,50)'[out]" \
       -shortest -map [out] -map 0:1 \
       -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4
To delay the start of the top video, use the setpts filter.

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex \
        "[1]setpts=PTS-STARTPTS+10/TB[top];
        [0:0][top]overlay=enable='between(t\,10,15)'[out]" \
       -shortest -map [out] -map 0:1 \
       -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4

Add another overlay filter, where first input is the output of the previous overlay filter e.g. [out][2:v]overlay[out2]
本人工科计算机专业程序媛一枚,感谢大家论坛并奉献本人收集的计算机资料,若本贴不能下载请回复,其他事由请点击这里
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则



诚聘英才|移动端|Archiver|版权声明|大家论坛 ( 京ICP备06071611号,京公网安备11010802018363号 )

GMT+8, 2020-4-2 07:09 , Processed in 0.073118 second(s), 8 queries , Redis On.

Powered by Discuz!

© Comsenz Inc.

快速回复 返回顶部 返回列表