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)
相关推荐
EasyCVR1 小时前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265
天空中的野鸟1 小时前
Android音频采集
android·音视频
计算机毕设孵化场2 小时前
计算机毕设-基于springboot的高校网上缴费综合务系统视频的设计与实现(附源码+lw+ppt+开题报告)
java·spring boot·计算机外设·音视频·课程设计·高校网上缴费综合务系统视频·计算机毕设ppt
lxkj_20247 小时前
使用线程局部存储解决ffmpeg中多实例调用下自定义日志回调问题
ffmpeg
简鹿办公9 小时前
如何提取某站 MV 视频中的音乐为 MP3 音频
音视频·简鹿视频格式转换器·视频提取mp3音频
yufengxinpian9 小时前
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
单片机·嵌入式硬件·音视频·智能硬件
runing_an_min11 小时前
ffmpeg视频滤镜:替换部分帧-freezeframes
ffmpeg·音视频·freezeframes
ruizhenggang11 小时前
ffmpeg本地编译不容易发现的问题 — Error:xxxxx not found!
ffmpeg
runing_an_min13 小时前
ffmpeg视频滤镜:提取缩略图-framestep
ffmpeg·音视频·framestep
小曲曲14 小时前
接口上传视频和oss直传视频到阿里云组件
javascript·阿里云·音视频