使用 FFmpeg 合并多个音视频

3,330 阅读2分钟

FFmpeg是一个开源的跨平台音视频处理工具,可以用它来合并音视频。

一、合并音频和视频

合并音视频需要先将音频和视频分别转换为相应的格式,然后使用 FFmpeg 的 “concatenate” 功能将它们合并起来。

以下是合并音视频的步骤:

  1. 将视频和音频文件分别转换为FFmpeg支持的格式。例如,将视频转换为MP4格式,将音频转换为MP3格式。可以使用以下命令来转换视频和音频:
ffmpeg -i input_video.mp4 -c:v copy -an output_video.mp4
ffmpeg -i input_audio.wav -c:a libmp3lame -q:a 4 output_audio.mp3

其中,-c:v copy表示视频编解码器保持不变,-an表示不输出音频流,-c:a libmp3lame表示使用LAME编码器将音频编码为MP3格式,-q:a 4表示音频质量为4(默认范围0-9)。

  1. 创建一个文本文件,列出要合并的文件。例如,如果要合并名为“output_video.mp4”和“output_audio.mp3”的文件,可以在文本文件中写入以下内容:
file 'output_video.mp4'
file 'output_audio.mp3'

注意:文件名和路径应该根据实际情况进行修改。

  1. 使用“concatenate”功能合并音视频。使用以下命令:
ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

其中,“-f concat”表示使用concat协议进行合并,-safe 0表示禁用安全检查,-i input.txt表示输入要合并的文件列表,-c copy表示复制原始编解码器,output.mp4表示输出文件名。

完成以上步骤后,音视频将被合并到一个新的MP4文件中。

二、合并多个音频或多个视频

合并多个音频或多个视频的过程和前文介绍的合并音视频的过程是一样的。下面以合并多个音频为例:

  1. 创建一个文本文件,列出要合并的音频文件。例如,如果要合并名为“audio1.mp3”、“audio2.mp3”和“audio3.mp3”的文件,可以在文本文件中写入以下内容:
file 'audio1.mp3'
file 'audio2.mp3'
file 'audio3.mp3'

注意:文件名和路径应该根据实际情况进行修改。

  1. 使用“concatenate”功能合并音频。使用以下命令:
ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp3

其中,“-f concat”表示使用concat协议进行合并,-safe 0表示禁用安全检查,-i input.txt表示输入要合并的文件列表,-c copy表示复制原始编解码器,output.mp3表示输出文件名。

完成以上步骤后,多个音频文件将被合并到一个新的MP3文件中。

注意:在实际使用中,可能需要根据实际情况进行调整。