已设置FFmpeg路径并安装后sk-video仍无法运行,无法转换视频为多维矩阵
解决skvideo无法定位FFmpeg的问题
问题重现
尝试将视频转换为多维矩阵时,使用以下代码:
import skvideo.io video_loc = "F:\\PROGRAMMS\\output.mp4" videodata = skvideo.io.vread(video_loc) print(videodata.shape)
触发错误:
AssertionError: Cannot find installation of real FFmpeg (which comes with ffprobe).
后续尝试指定skvideo包内的路径仍报错,即使安装FFmpeg后问题依旧:
import skvideo video_loc = "F:\\PROGRAMMS\\output.mp4" skvideo.setFFmpegPath( "C:\\Users\\*USER*\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\skvideo\\io" ) import skvideo.io videodata = skvideo.io.vread(video_loc) print(videodata.shape)
解决方案
安装并配置FFmpeg到系统环境
- 下载完整FFmpeg包并解压到本地目录(如
C:\FFmpeg) - 将
C:\FFmpeg\bin路径添加到系统PATH环境变量 - 重启终端或IDE,执行
ffmpeg -version和ffprobe -version,确认命令能正常输出版本信息
- 下载完整FFmpeg包并解压到本地目录(如
正确设置skvideo的FFmpeg路径
不要指向skvideo的包目录,而是指向FFmpeg的bin目录,示例代码:import skvideo # 替换为你的FFmpeg bin路径 skvideo.setFFmpegPath("C:\\FFmpeg\\bin") import skvideo.io video_loc = "F:\\PROGRAMMS\\output.mp4" videodata = skvideo.io.vread(video_loc) print(videodata.shape)验证路径配置
可通过以下代码确认skvideo识别的FFmpeg路径是否正确:import skvideo print("当前FFmpeg路径:", skvideo.getFFmpegPath())
原因说明
skvideo依赖独立安装的FFmpeg(需包含ffprobe.exe),你之前指定的skvideo包内路径并不包含真正的FFmpeg可执行文件,必须指向存在ffmpeg.exe和ffprobe.exe的目录。同时确保环境变量或手动设置的路径能被skvideo正确识别。
内容的提问来源于stack exchange,提问作者Asadunnobi Ishaan
相关产品推荐
相关产品推荐

