水平并排显示两个视频并导出到一个视频

时间:2013-03-21 12:14:28

标签: audio video ffmpeg avisynth

我想要实现的目标: 以编程方式(使用某种脚本)将两个不同的视频组合到一个视频,其中视频并排显示,并且两个视频的声音同时播放。

我发现至少有两种方法可以并排显示两个视频但在每个视频中我都有一个不同的问题,这使得很难完成这个过程:

  1. Avisyth和Avs2Avi:
    Avisyth确实让这个过程变得简单。使用这样一个简单的Avisyth脚本,您应该可以并排播放两个视频:

    video1=AVISource("d:\file1.avi")
    video2=AVISource("d:\file2.avi")
    StackHorizontal(video1,video2)


    可以使用avs2avi创建新的输出文件 这里的问题是我无法用avisyth播放一个avi文件,因为我得到“AviSource无法找到一个解压缩器用于fourcc xvid”消息。我搜索了解决这个问题的方法,但没有任何帮助。 GSpot说我需要所有编解码器,似乎我什么也做不了。因为我无法运行真实视频,所以我不知道最终视频是否播放来自两个视频的声音。 Avisyth安装正确,我能够运行以下脚本StackHorizo​​ntal(版本,版本)。

  2. 的ffmpeg
    像两个视频的魅力和最终文件一样工作但是我没有从两个视频中获得声音,只有第一个。我发现从第二个视频中添加声音的解决方案是在命令行中使用libfaac,如下所示:

  3. ffmpeg.exe -i video1.mp4 -vf "[in] scale=iw/2:ih/2, pad=2*iw:ih [left]; movie=video2.mp4, scale=iw/3:ih/3 [right]; [left][right] overlay=main_w/2:0 [out]" -c:a libfaac -b:v 768k Output.mp4

    但我总是得到一个错误,无法找到编码器libfaac。我下载了libfaac.dll,但仍然没有结果。

    是否有解决这些问题的方法?还有另一种方法可以从两个并排播放的视频中以编程方式制作一个视频吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

由于使用Avisynth对你来说似乎没问题,你可以使用另一个源过滤器。 FFMS2非常适合该法案 - 它完全独立,不依赖于像AviSource那样的任何系统解码器。