我正在尝试使用 FFMPEG 进行“切角”(更改摄像机角度)。我有来自左摄像头和右摄像头的 HLS 视频。开始时间有点不同步,所以左边的视频实际上是在右边的视频开始录制后 4.21 秒开始录制的。我试图显示从开始到 5 秒标记的右侧视频,然后从 0.79 秒标记切换到左侧视频直到 5.79 秒标记(这将是右侧相机上的 5-10 秒范围)。
我意识到这些削减可能落在 p 帧上——这是这里测试的一部分。我想看看 FFMPEG 是否会正确插入必要的 i 帧以进行平滑剪切。
最后,为了获得流畅的最终产品,我尝试在过渡期间进行 1 秒的音频交叉淡入淡出(不需要任何视频淡入淡出)。
我是 FFMPEG 的新手。我尝试了以下方法,但没有奏效。任何人都知道正确的命令是什么?
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
最佳答案
如果视频不重叠,音频流也不会重叠,因此没有交叉淡入淡出的地方。因此,在这种情况下,我们将不得不使用不同的修剪过滤器来完成这项工作。
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
关于ffmpeg - 如何使用 FFMPEG 进行音频交叉淡入淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37200534/