将多个视频拼接起来,但是视频间要有过渡效果,比如重叠等软切换,一般用什么技术

not_in_mountain 2018-03-09 02:25:18
将多个视频拼接起来,但是视频之间要有过渡效果,比如重叠、留白等软切换,一般用什么技术?
现在使用ffmpeg、opencv做视频处理,这两个似乎只能硬切换拼接的视频,

即使是ffmpeg -i u_1.mp4 -i u_2.mp4 -filter_complex "blend=all_expr='A*(if(gte(T,3),1,T/3))+B*(1-(if(gte(T,3),1,T/3)))'" merge1.mp4
这种具有模糊化的效果,但是合成视频的长度只是第一个视频的长度,不满足要求。

有什么技术适合处理这种问题?
...全文
1907 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2018-03-10
  • 打赏
  • 举报
回复
看楼主的帖子,似乎楼主已经可以用 -filter_complex制造出过渡的效果了... 那么可以按着这样的思路来,假设楼主要拼接的是A,B两个视频,拼接中途的n秒要有过渡效果 1.查找ffmpeg中-ss和-t的用法,将A拆成A1和A2,A2是A最后n秒的内容,其余内容为A1,同样也是用-ss和-t,将B拆成B1和B2,B1是B前n秒钟内容,B2是其余部分 2.善用video filter,就是主贴中的 -filter_complex,将A2和B1混合在一起形成视频AB,这是过渡效果 3.使用ffmpeg,将A1-AB-B2三个视频硬接起来 命令行使用可参考 http://ffmpeg.org/ffmpeg.html videofilter详细使用可参考(调整你要的过渡效果) http://ffmpeg.org/ffmpeg-filters.html#Video-Filters 视频拼接命令可以参考 https://trac.ffmpeg.org/wiki/Concatenate http://blog.csdn.net/xiaojun111111/article/details/52438230 当然,如果楼主想更灵活操作,可以自己写代码加载ffmpeg,demux->decode获得avFrame,自己对avFrame做合成或者copy,然后encode->mux 这个可以下载一份ffmpeg的源码 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 在doc\examples目录下,阅读demuxing_decoding.c / decoding_encoding.c / muxing.c这些源码作为参考 我已说完,此贴不再回复 剩下的楼主就自己靠搜索解决吧.....
mstlq 2018-03-10
  • 打赏
  • 举报
回复
看楼主的帖子,似乎楼主已经可以用 -filter_complex制造出过渡的效果了... 那么可以按着这样的思路来,假设楼主要拼接的是A,B两个视频,拼接中途的n秒要有过渡效果 1.查找ffmpeg中-ss和-t的用法,将A拆成A1和A2,A2是A最后n秒的内容,其余内容为A1,同样也是用-ss和-t,将B拆成B1和B2,B1是B前n秒钟内容,B2是其余部分 2.善用video filter,就是主贴中的 -filter_complex,将A2和B1混合在一起形成视频AB,这是过渡效果 3.使用ffmpeg,将A1-AB-B2三个视频硬接起来 命令行使用可参考
http://ffmpeg.org/ffmpeg.html
videofilter详细使用可参考(调整你要的过渡效果)
http://ffmpeg.org/ffmpeg-filters.html#Video-Filters
视频拼接命令可以参考 https://trac.ffmpeg.org/wiki/Concatenate
http://blog.csdn.net/xiaojun111111/article/details/52438230
当然,如果楼主想更灵活操作,可以自己写代码加载ffmpeg,demux->decode获得avFrame,自己对avFrame做合成或者copy,然后encode->mux 这个可以下载一份ffmpeg的源码 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 在doc\examples目录下,阅读demuxing_decoding.c / decoding_encoding.c / muxing.c这些源码作为参考 我已说完,此贴不再回复 剩下的楼主就自己靠搜索解决吧.....
not_in_mountain 2018-03-10
  • 打赏
  • 举报
回复
@mstlq 谢谢,应该是个可行的方法
not_in_mountain 2018-03-09
  • 打赏
  • 举报
回复
叫人百度的就不要回帖了,百度是已经百度过了的
赵4老师 2018-03-09
  • 打赏
  • 举报
回复
百度搜相关关键字。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧