一、ffmpeg安装
ffmpeg视频音频合成命令
ffmpeg -y -i video.mp4 -i audio.m4a -c:v copy -c:a copy -strict experimental -shortest output.mp4
ffmpeg查看视频、音频编码格式命令
ffprobe -show_format video.mp4
二、合成代码
import subprocess
video_path = r"D:\Video\video.mp4"
audio_path = r"D:\Video\audio.m4a"
output_temp = r"D:\Video\output.mp4"
process = subprocess.Popen(
[
'ffmpeg',
'-y', # 忽略已存在的输出文件,强制输出
'-i', video_path,
'-i', audio_path,
'-c:v', 'copy', # 复制当前视频编码方式,速度最快
'-c:a', 'copy', # 复制当前音频编码方式,速度最快
'-strict', 'experimental',
'-shortest', # 截取视频、音频之间最短
output_temp
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True # 让 stdout, stderr 为字符串,False 则为字节
)
stdout, stderr = process.communicate()
if process.returncode:
print(f"视频音频合成失败: {stderr}")
else:
print("合成成功!")