ffmpeg操作实战001:视频+音频文件融合

一、功能需求

把视频文件video.mp4 和音频文件audio.wav融合在一起,输出视频文件output.mp4

二、操作指令

复制代码
ffmpeg -i video.mp4 -i audio.wav -c:v copy -map 0:v:0 -map 1:a:0 output.mp4

三、参数说明

  • ffmpeg: 这是用于执行FFmpeg命令行工具的命令。
  • -i video.mp4: 这指定了输入文件的名称,即需要替换音频的视频文件。
  • -i audio.wav: 这指定了要替换的新音频文件。
  • -c:v copy: 这表示视频流将被直接拷贝到输出文件,而不进行重新编码。
  • -map 0:v:0: 这指定了从第一个输入文件(input.mp4)中选择第一个视频流。
  • -map 1:a:0: 这指定了从第二个输入文件(new.mp3)中选择第一个音频流。
  • output.mp4: 这是输出文件的名称,即包含替换音频的新视频文件。

四、程序设计

复制代码
def generate_noise_depressed_video(audio_paths: List[str]):
    # print('audio_paths=',audio_paths)
    noise_depressed_audios_dir = r"D:\data2\fine_data\lm_video_audios_ND"
    videos_dir2 = r"D:\data2\fine_data\lm_video_audios_depressed"
    videos_dir = r"D:\data2\fine_data\lm_12k"
    for audio_path in audio_paths:
        # video_path = audio_path.replace(noise_depressed_audios_dir, videos_dir)[:-3] + "mp4"
        audioname = os.path.basename(audio_path)
        videoname = os.path.splitext(audioname)[0] + '.mp4'
        video_path = os.path.join(videos_dir, videoname)
        noise_depressed_video_path = os.path.join(videos_dir2, videoname)

        print('video_path=', video_path)
        print('audio_path=', audio_path)
        # 执行音频文件和视频文件合并
        # ffmpeg -i 视频文件名.mp4 -i 音频文件名.mp3 -c:v copy -c:a aac -strict experimental 输出文件名.mp4
        cmd2 = f"ffmpeg -i {video_path}  -i {audio_path} -c:v copy -map 0:v:0 -map 1:a:0 {noise_depressed_video_path}"
        subprocess.run(cmd2, check=True)
相关推荐
努力还债的学术吗喽12 小时前
ffmpeg离线安装到服务器:解决conda/sudo/无法安装的通用方案
服务器·ffmpeg·conda
ACP广源盛1392462567319 小时前
GSV6127E(EA)#Type-C / 显示端口 1.4/HDMI 2.0 转 MIPI/LVDS 转换器(带音频提取和嵌入式微控制器)
单片机·嵌入式硬件·音视频
wangchen01121 天前
基于视频识别的大模型项目实战心得
语言模型·音视频
北极糊的狐1 天前
狸窝转换器将MP4格式视频转换为以下格式后的大小对比:RM、RMVB、AVI、MKV、WMV、VOB、MOV、FLV、ASF、DAT、3GP、MPG、MPEG
音视频
是Dream呀1 天前
一个账号调用N个AI模型!从LLM到视频生成的丝滑解决方案
人工智能·大模型·aigc·音视频·deepseek
zymill1 天前
hysAnalyser --- UDP实时流分析使用指南
ffmpeg·ts流分析·mpegts·音视频分析·数字电视流录制·audio vivid·视频分析工具
顾北川_野2 天前
播放PCM音频增益低+单独增强PCM解码的方案
音视频·pcm
Everbrilliant892 天前
FFmpeg解码音频数据AudioTrack/OpenSL播放
ffmpeg·音视频·audiotrack·opensl·ffmpeg音频解码播放·decodethread·opensl播放与解码同步
ivy159868377152 天前
JM20329是一款高性能、低功耗的USB桥接芯片,实现串行接口(如SATA、IDE)与USB接口之间的数据转换。
c语言·开发语言·ide·嵌入式硬件·eureka·音视频·视频编解码
温暖名字2 天前
调用qwen3-omni的api对本地文件生成视频文本描述(批量生成)
python·音视频·qwen·qa问答