【发布时间】:2019-06-01 07:24:35
【问题描述】:
我想展示一个视频,它有 2 部电影并排。每部电影都是一部电影连接 2 次的结果。问题是右侧的音频不同步。
我有 3 个命令: 第一个命令将一部电影连接 2 次
ffmpeg -i 1.mp4 -i 1.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[concatv][concata]" -map "[concatv]" -map "[concata]" Concat1.mp4
second 命令连接第二部电影 2 次p>
ffmpeg -i 2.mp4 -i 2.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[concatv][concata]" -map "[concatv]" -map "[concata]" Concat2.mp4
此时音频始终是同步的。 第三个命令获取 2 个结果并将其与一个徽标并排合并到一部电影中:
ffmpeg -i Concat1.mp4 -i Concat2.mp4 -i logo.png -filter_complex "[0:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[a];[1:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[b];nullsrc=size=640x480[base];[a]setpts=PTS-STARTPTS, scale=320x480[left];[b]setpts=PTS-STARTPTS, scale=320x480[right];[base][left]overlay=shortest=1[tmp1];[tmp1][right] overlay=320:0[video];[0:a]apad [apa];[apa][1:a]amerge=inputs=2,pan=stereo|FL<c0+c1|FR<c0+c1[audio];[2:v]scale=120:44 [ovrl];[video][ovrl]overlay=15:25[videoandlogo]" -map "[videoandlogo]" -map "[audio]" output.mp4
问题在于,在输出文件中,正确电影的音频在第二次(第二次连续)中不同步。它总是不同步的正确电影,即使我切换它们。
谁能帮忙? 谢谢。
==============编辑====================
同步问题已解决,将 apad 也添加到第二个文件中,但之后命令永远不会停止...我如何告诉命令如果我有两部电影的 apad,两部电影都结束时停止? 这是永不停止的新命令:
ffmpeg -i 1.mp4 -i 2.mp4 -i logo.png -filter_complex "[0:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[a];[1:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[b];nullsrc=size=640x480[base];[a]scale=320x480[left];[b]scale=320x480[right];[base][left]overlay=shortest=1[tmp1];[tmp1][right] overlay=320:0[video];[1:a]apad [apa];[0:a]apad[apa1];[apa][apa1]amix=inputs=2:duration=longest[audio];[2:v]scale=120:44 [ovrl];[video][ovrl]overlay=15:25[videoandlogo]" -map "[videoandlogo]" -map "[audio]" output.mp4
【问题讨论】:
-
移除 setpts 过滤器并检查。
-
嗨,谢谢,但还是一样。
标签: ffmpeg