You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

FFmpeg循环视频匹配音频时长失败,求解决方案

解决FFmpeg循环视频匹配音频时长的问题

我来帮你搞定这个问题!你的命令里踩了两个小坑,导致视频没循环,还没法自动匹配音频的时长:

  • -stream_loop 参数放错位置了:这个参数得放在你要循环的输入文件前面(也就是视频的 -i 之前),FFmpeg才会知道要循环这个视频流。你原来把它放在第一个 -i 后面,相当于没对视频生效,自然不会循环。
  • 手动加了 -t 60 限制时长:这个参数会强制输出固定60秒,当然没法匹配音频的实际时长,直接去掉它就行。

正确的命令

通用兼容版(重新编码,避免容器兼容问题)

ffmpeg -stream_loop -1 -i "Pentagon_VJ_background_loop.mp4" -i "Out1.wav" -map 0:v -map 1:a -c:v libx264 -c:a aac output.mp4

快速复制版(视频音频编码兼容时用,速度更快)

如果你的视频本身是H.264编码、音频是AAC编码(或者其他MP4容器支持的编码),可以直接复制流,不用重新编码:

ffmpeg -stream_loop -1 -i "Pentagon_VJ_background_loop.mp4" -i "Out1.wav" -map 0:v -map 1:a -c copy output.mp4

效果说明

用上面的命令,FFmpeg会自动让视频无限循环,直到音频流播放结束,最终输出文件的时长会和你的音频文件完全一致,完美匹配你的需求~

内容的提问来源于stack exchange,提问作者whitebear

火山引擎 最新活动