【问题标题】:ffmpeg concat converts multiple videos to chipmunk version with half the video silenceffmpeg concat 将多个视频转换为花栗鼠版本,视频静音一半
【发布时间】:2020-09-13 09:36:26
【问题描述】:

我尝试将多个视频连接到一个视频并为其添加背景音乐。

由于某种原因,背景音乐完美地添加到了输出视频中,但输出的每个部分的音频都加速到了视频本身的花栗鼠版本。这将导致 7 分钟的输出视频和大约 5 分钟的静音,因为一切都非常快,以至于所有音频在大约 2 分钟后完成。

我的命令是:

ffmpeg -safe 0 -i videolist.ffconcat -i bg_loop.mp3 -y -filter_complex "[1:0]volume=0.3[a1];[0:a][a1]amix=inputs=2" -vcodec libx264 -r 25 -filter:v scale=w=1920:h=1080 -map 0:v:0 output.mp4

我试图删除背景音乐(因为我无法在视频中循环播放,我认为这可能是问题所在)但仍然......视频剪辑的所有音频仍在加速,导致音频混乱开头和结尾的沉默。

我的视频列表如下所示:

ffconcat version 1.0
file intro.mp4
file clip-x.mp4
file clip-y.mp4
file clip-x.mp4
file clip-y.mp4
[... and so on]

我希望有人能告诉我我在这里做错了什么(也许如何调整我的命令以在所有剪辑中循环播放背景音乐)

我用谷歌搜索了一下,发现我的命令调整为添加 amix=inputs=2:duration=first 但这并没有解决问题,如果我添加 duration=shortestduration=longest 没有任何改变输出音频

【问题讨论】:

  • 所有输入中的所有音轨都必须具有相同的属性 - 编解码器、采样率、通道等。我怀疑你的介绍与剪辑的采样率不同。
  • @Gyan 感谢您的回答。你能给我一个提示,我如何检查所有的编解码器、采样率和频道,看看这是否是个问题?还是我只需要重新编译所有剪辑及其音频以匹配介绍?
  • 运行ffprobe -show_streams -select_streams a -v 0 "input-file"
  • @Gyan 非常感谢您的帮助。我发现了我的错误,现在我有另一个问题需要解决:-P 但是这个已经完成了......你不会把你的答案作为一个真正的答案发布,这样我就可以将它标记为一个?

标签: ffmpeg concat video-processing fluent-ffmpeg


【解决方案1】:

concat demuxer 要求输入中的所有流都具有相同的属性。对于音频,包括编解码器、采样率、通道布局、采样格式..

如果某些输入的音频在 concat 后听起来很有趣,这通常表示采样率不匹配。在每个输入上运行 ffprobe -show_streams -select_streams a -v 0 "input-file" 进行检查。对于那些不同的,您可以通过添加 -ar X 仅重新编码音频,其中 X 是您的输入中最常见的采样率,例如-ar 44100。其他参数将取决于格式细节。使用-c:v copy保留视频。

【讨论】:

  • 再次感谢您的宝贵时间和帮助!我可以通过您建议的解决方案来解决所有问题。
猜你喜欢
  • 2016-06-13
  • 1970-01-01
  • 2019-03-30
  • 2020-08-25
  • 2016-05-26
  • 1970-01-01
  • 2015-11-27
  • 2017-04-13
  • 2017-12-19
相关资源
最近更新 更多