You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python直接将mkv文件音频提取为wav格式?

直接从MKV提取WAV音频的两种实现方法(Python 3.10.8)

完全可以跳过转MP4的步骤,直接从MKV文件中提取WAV格式音频,下面是两种可行的实现流程:

方法一:使用FFmpeg

FFmpeg是处理音视频的专业工具,直接用它的命令行或通过Python调用都能完成提取操作。

1. 基础命令行方式

确保系统已安装FFmpeg,终端执行以下命令:

ffmpeg -i input.mkv -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav

参数说明:

  • -i input.mkv:指定输入的MKV文件路径
  • -vn:忽略视频流,仅处理音频
  • -acodec pcm_s16le:采用WAV标准的PCM 16位小端编码
  • -ar 44100:设置采样率为44100Hz(可按需调整)
  • -ac 2:设置立体声声道(可按需调整)
  • output.wav:输出的WAV文件路径

2. Python调用FFmpeg(subprocess模块)

在Python 3.10.8中,可通过subprocess直接调用FFmpeg命令,代码示例:

import subprocess

def extract_wav_with_ffmpeg(input_path, output_path):
    command = [
        'ffmpeg',
        '-i', input_path,
        '-vn',
        '-acodec', 'pcm_s16le',
        '-ar', '44100',
        '-ac', '2',
        output_path
    ]
    subprocess.run(command, check=True, capture_output=True)

# 调用示例
extract_wav_with_ffmpeg("input.mkv", "output.wav")

方法二:使用MoviePy

MoviePy是基于FFmpeg的Python音视频处理库,封装了更友好的API,适合集成到Python项目中。

1. 安装依赖

先安装兼容Python 3.10.8的MoviePy:

pip install moviepy

注:MoviePy默认依赖FFmpeg,若运行报错,需确认FFmpeg已加入系统环境变量。

2. 提取音频的Python代码

from moviepy.editor import VideoFileClip

def extract_wav_with_moviepy(input_path, output_path):
    video_clip = VideoFileClip(input_path)
    audio_clip = video_clip.audio
    audio_clip.write_audiofile(output_path, codec='pcm_s16le')
    # 释放资源
    audio_clip.close()
    video_clip.close()

# 调用示例
extract_wav_with_moviepy("input.mkv", "output.wav")

两种方法对比:FFmpeg命令行效率更高,适合批量处理;MoviePy的Python API更直观,适合快速集成到项目中。

内容的提问来源于stack exchange,提问作者Sr7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 10:20:48