moviepy用VideoFileClip加载视频时报UnicodeDecodeError: utf-8 codec cant decode byte invalid start byte错误

使用moviepy用:
clip1 = VideoFileClip('F:\video\3.mp4')加载视频时报错,如下:

Traceback (most recent call last):
File “<pyshell#3>”, line 1, in
clip1 = VideoFileClip(‘F:video3.mp4’)
File “C:Program FilesPython37libsite-packagesmoviepyvideoioVideoFileClip.py”, line 91, in init
fps_source=fps_source)
File “C:Program FilesPython37libsite-packagesmoviepyvideoioffmpeg_reader.py”, line 36, in init
fps_source)
File “C:Program FilesPython37libsite-packagesmoviepyvideoioffmpeg_reader.py”, line 259, in ffmpeg_parse_infos
infos = error.decode(‘utf8’)
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb9 in position 1721: invalid start byte

这种情况只在少数视频文件处理时报错,应该是解码问题,打开moviepyvideoioffmpeg_reader.py文件,将该行代码:
infos = error.decode(‘utf8’)
改为:infos = error.decode(‘ANSI’)
重启解释器后再执行问题顺利解决。

更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。

关于收费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python、学5G!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643526.html