首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将FFMPEG用于带有音频交叉淡色的切线?

如何将FFMPEG用于带有音频交叉淡色的切线?
EN

Stack Overflow用户
提问于 2016-05-13 02:59:21
回答 2查看 764关注 0票数 2

我试图做一个“切割”(改变相机角度)使用FFMPEG。我有他从左相机和右摄像机拍摄的视频。开始的时间有点不同步,所以左边的视频实际上是在右视频开始录制后4.21秒开始录制的。我试图从开始显示右视频到5秒标记,然后从0.79秒切换到左侧视频,直到5.79秒标记(这将是右摄像机的5-10秒范围)。

我意识到这些削减可能落在p帧上--这是测试的一部分。我想看看FFMPEG是否会适当地插入必要的I-帧,以使一个平滑的切割。

最后,为了获得一个顺利的最终产品,我试图在过渡期间做一个1秒的音频交叉衰减(没有任何视频衰减的必要)。

我是FFMPEG的新手。我试过以下几种方法,但都没有用。有人知道正确的命令是什么吗?

代码语言:javascript
复制
ffmpeg -i right.m3u8 -ss 0 -t 5 -i left.m3u8 -ss 0.79 -t 5 -async 1 -filter_complex acrossfade=d=1:c1=exp:c2=exp mixed.m3u8
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-13 22:07:54

对Mulvya的回答做了些小改动。您需要为第二个文件指定格式,以确保它在-0.5秒(-22050样例)开始。另外,我需要去掉曲线,让它在麻烦的边做线性曲线,以便在过渡过程中保持恒定的体积。

代码语言:javascript
复制
ffmpeg -i right.m3u8 -i left.m3u8 -filter_complex
   "[0]trim=duration=5,setpts=PTS-STARTPTS[vr];
    [1]trim=0.79:duration=5,setpts=PTS-STARTPTS[vl];
    [0]atrim=duration=5.5,asetpts=PTS-STARTPTS[ar];
    [1]atrim=0.29:duration=5.5,asetpts=(PTS-STARTPTS - 22050)[al];
    [ar][al]acrossfade=d=1[a];
    [vr][vl]concat=n=2[v]" -map "[v]" -map "[a]" mixed.m3u8
票数 0
EN

Stack Overflow用户

发布于 2016-05-13 05:35:40

如果视频不重叠,音频流也不会重叠,因此没有交叉淡出的空间。因此,在这种情况下,我们将不得不使用不同的修剪过滤器,以使这一工作。

代码语言:javascript
复制
ffmpeg -i right.m3u8 -i left.m3u8 -filter_complex \
       "[0]trim=duration=5,setpts=PTS-STARTPTS[vr]; \
        [1]trim=0.79:duration=5,setpts=PTS-STARTPTS[vl]; \
        [0]atrim=duration=6,asetpts=PTS-STARTPTS[ar]; \
        [1]atrim=0.79:duration=5,asetpts=PTS-STARTPTS[al]; \
        [ar][al]acrossfade=d=1:c1=exp:c2=exp[a]; \
        [vr][vl]concat=n=2[v]" -map "[v]" -map "[a]" mixed.m3u8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37200534

复制
相关文章

相似问题

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