ffmpeg:如何将音频波文件循环到没有任何音频通道的视频中

Posted

技术标签:

【中文标题】ffmpeg:如何将音频波文件循环到没有任何音频通道的视频中【英文标题】:ffmpeg: How to loop audio wave file into a video which has no any audio channel 【发布时间】:2020-08-25 18:31:15 【问题描述】:

如何使用 ffmpeg 将音频波或 mp3 文件循环到没有任何音频通道的视频中?

这是我的代码已经适用于已经有音频通道的视频文件。

ffmpeg -i somevideoinput.mp4 -stream_loop -1 
       -i will_be_looped.wav 
 -vcodec copy  
-max_muxing_queue_size 9999
-shortest
-fflags +shortest -max_interleave_delta 200M
-map 0:0 -map 1:0
 output.mp4

用循环输入波形文件替换视频的 auido 频道。但是如果视频已经没有任何音频通道,它就不起作用了。

你知道吗?也许我要添加一些 filter_complex 参数?

【问题讨论】:

【参考方案1】:

-stream_loop是输入选项,所以必须在-i之前使用:

ffmpeg -i somevideoinput.mp4 -stream_loop -1 -i will_be_looped.wav 
-vcodec copy 
-max_muxing_queue_size 9999
-shortest
-fflags +shortest -max_interleave_delta 200M
-map 0:v -map 1:a
 output.mp4

我还更改了-map 选项以使用流说明符来确保它选择正确的流。

【讨论】:

@KursatTurkay 一本书是FFmpeg Basics,但我对内容不熟悉。 “如果输入电影还没有音频通道,仍然没有音频”。应该有音频,因为-map 正在从will_be_looped.wav 中选择音频。为了能够理解问题,我需要查看您的 ffmpeg 命令以及该命令的完整日志。您可以edit您的问题以包含此信息。 gr8 man @KursatTurkay 看看FFmpeg Wiki补充官方documentation。

以上是关于ffmpeg:如何将音频波文件循环到没有任何音频通道的视频中的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg 用循环音频替换部分音频文件

使用python将任何音频文件转换为mp3

ffmpeg:如何将 AAC 音频数据包转换为 ADTS 格式

使用 ffmpeg 和 python 将视频中的所有音频流提取到单独的音频文件中

能够使用 ffmpeg 和 python 读取当前音频帧

如何在没有任何中断的情况下循环播放音频文件?