使用Kivy播放MKV视频出现Image Error的解决方法咨询
解决Kivy播放MKV视频时出现的Image Error问题
你遇到的问题本质是:Kivy的Video控件初始化时会尝试从视频文件提取内嵌封面图,若MKV文件无内嵌封面,或封面格式不被pillow支持,就会触发Image Error,但不影响视频播放。以下是几个可行的解决办法:
方案1:禁用封面提取(最快解决)
直接在Video控件初始化时添加allow_image=False参数,跳过封面提取步骤,彻底规避报错。修改后的代码如下:
import kivy kivy.require('1.9.0') from kivy.app import App from kivy.uix.video import Video class MyApp(App): def build(self): # 添加allow_image=False禁用封面加载 video = Video(source='graphics/Untitled.mkv', allow_image=False) video.state='play' video.options = {'eos': 'stop'} video.allow_stretch=True return video if __name__ == '__main__': MyApp().run()
方案2:升级Kivy版本
你当前使用的Kivy 1.9.0属于老旧版本,官方后续修复了不少媒体处理相关的bug,包括封面提取的兼容性问题。执行以下命令升级到稳定版:
pip install --upgrade kivy
升级后可保留封面提取功能,同时避免报错。
方案3:修复MKV文件的内嵌封面
如果需要保留封面显示功能,可用MKVToolNix这类工具检查你的MKV文件是否有内嵌封面;若有,则将封面转换为pillow支持的格式(如JPG、PNG)后重新嵌入文件中。
内容的提问来源于stack exchange,提问作者Applicator Developer
相关产品推荐
相关产品推荐

