【问题标题】:How to compose 2 videos by using FFmpeg hstack filter?如何使用 FFmpeg hstack 过滤器合成 2 个视频?
【发布时间】:2017-01-06 05:38:29
【问题描述】:

我想将 2 个视频并排组合成 1 个视频。 我也希望为每个视频设置开始/停止时间。 最终视频应为 H264/AAC 编解码器和 mp4 格式。 我附上了示例视频。 https://www.dropbox.com/s/e5eouyrrqsy44ts/1.webm?dl=0 https://www.dropbox.com/s/u0zqie0icxamt3q/2.webm?dl=0

我使用了以下 ffmpeg 命令。

ffmpeg -i 1.webm -i 2.webm -filter_complex "[0:v][1:v]hstack" 输出.mp4

当我在 Mac OS X 10.11 的终端上运行此命令时,它给了我以下错误。

输入 1 高度 480 与输入 0 高度不匹配。

视频来自智能手机,因此方向不正确。 请帮我用 FFmpeg 制作合成视频。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    对于这组视频,你需要

    ffmpeg -i 1.webm -i 2.webm -filter_complex "[0:v]scale=480:640,setsar=1[l];[1:v]scale=480:640,setsar=1[r];[l][r]hstack;[0][1]amix" -vsync 0 output.mp4
    

    写入应用程序未正确写入流属性。视频应标记为 480x640。这与缺少旋转标签无关,因为框架上下文发生了变化。

    【讨论】:

    • 感谢您的友好回答,Mulvya。
    • 我还想在最终视频时间范围内设置视频开始、停止时间。例如,如果我想在最终视频时间线中从 200ms 开始 video1 并在 50000ms 停止,我现在该怎么办?在这种情况下,video1 的时长约为 60000ms,因此只需要播放 video1 部分的 50000-200=49800ms。我们可以使用任何 ffmpeg 过滤器,例如 pad。
    • -i 1.webm 之前插入-ss 0.2 -t 49.8。这将改变视频 1 和 2 之间的同步。
    • 如果我想在最终结果视频中插入video1的0s~50s部分到1s~51s,在最终结果视频中插入video2的4s~30s部分到2s~28s,我该怎么办?我想为最终结果视频中的每个视频设置开始/停止偏移量。谢谢。
    • 不清楚。您想在左侧显示 1 的 1-51 个,在右侧显示 2 个的 4-30 个?
    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2018-04-23
    相关资源
    最近更新 更多