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

Python实现MKV转MP4遇[WinError 2]错误,求解决方案

解决ffmpeg [WinError 2] 文件找不到的问题

核心原因

这个错误是因为系统找不到ffmpeg的可执行文件——不管用ffmpeg-python还是moviepy,底层都依赖ffmpeg二进制程序,必须确保它能被系统或代码定位到。

解决方案

1. 安装并配置系统PATH(推荐)

  • 下载Windows版ffmpeg:获取官方完整压缩包(选full_build版本,包含所有必要组件)
  • 解压到本地固定目录,比如D:\ffmpeg
  • 找到解压后的bin文件夹路径(如D:\ffmpeg\bin),将其添加到系统环境变量PATH:
    • 右键「此电脑」→属性→高级系统设置→环境变量→系统变量→找到PATH→编辑→新建,粘贴上述路径
    • 重启你的IDE或命令提示符,让环境变量生效

2. 代码中直接指定ffmpeg路径(无需修改系统设置)

针对ffmpeg-python库

在导入ffmpeg后添加一行代码,明确指定可执行文件路径:

import ffmpeg
# 替换为你的ffmpeg.exe实际路径
ffmpeg.EXECUTABLE = r"D:\ffmpeg\bin\ffmpeg.exe"

针对moviepy库

在导入moviepy前,先通过环境变量指定ffmpeg路径:

import os
# 替换为你的ffmpeg.exe实际路径
os.environ["FFMPEG_BINARY"] = r"D:\ffmpeg\bin\ffmpeg.exe"
from moviepy.editor import VideoFileClip

3. 优化你的转换代码(可选)

原代码可以只处理.mkv文件,避免无效尝试,还能添加快速转封装选项:

import os
import ffmpeg

# 若未配置系统PATH,取消下面一行注释并指定路径
# ffmpeg.EXECUTABLE = r"D:\ffmpeg\bin\ffmpeg.exe"

downloadFolder = os.path.join('D:', 'abc', 'def', 'downloaded')
convertedFolder = os.path.join('D:', 'abc', 'def', 'converted')

# 确保转换文件夹存在,不存在则自动创建
os.makedirs(convertedFolder, exist_ok=True)

# 统计下载文件夹中的.mkv文件数量
mkv_file_count = 0
for file_name in os.listdir(downloadFolder):
    if file_name.lower().endswith('.mkv') and os.path.isfile(os.path.join(downloadFolder, file_name)):
        mkv_file_count += 1
print(f"共发现 {mkv_file_count} 个.mkv文件")

# 批量转换.mkv到.mp4
for file_name in os.listdir(downloadFolder):
    if not file_name.lower().endswith('.mkv'):
        continue
        
    source = os.path.join(downloadFolder, file_name)
    name, _ = os.path.splitext(file_name)
    output = os.path.join(convertedFolder, f"{name}.mp4")
    
    try:
        print(f"正在转换: {source}")
        # 使用codec='copy'直接复制流,速度极快(仅当原编码兼容MP4时可用,否则去掉此参数)
        ffmpeg.input(source).output(output, codec='copy').run()
        print(f"转换完成: {output}")
    except Exception as e:
        print(f"转换失败 {source}: {str(e)}")

4. 验证配置是否成功

打开命令提示符,输入ffmpeg -version,如果能正常显示ffmpeg版本信息,说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:58:03