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:\video\3.mp4’)
File “C:\Program Files\Python37\lib\site-packages\moviepy\video\io\VideoFileClip.py”, line 91, in init
fps_source=fps_source)
File “C:\Program Files\Python37\lib\site-packages\moviepy\video\io\ffmpeg_reader.py”, line 36, in init
fps_source)
File “C:\Program Files\Python37\lib\site-packages\moviepy\video\io\ffmpeg_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

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

见解
可以打开 ffmpeg_reader.py 文件将代码改为:

    try:
        infos = error.decode('utf8')
    except:
        infos = error.decode('ANSI')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值