TextClip的list和search方法报错:UnicodeDecodeError: utf-8 codec canot decode byte 0xb7 in position 8

☞ ░ 前往老猿Python博文目录

由于moviepy对多语言环境支持存在一些问题,因此在执行TextClip.list(‘font’)和TextClip.search(‘GB’,‘font’)会报错,报错信息为:

  File "C:\Program Files\Python37\lib\site-packages\moviepy\video\VideoClip.py", line 1177, in list
    return [l.decode('UTF-8')[8:] for l in lines if l.startswith(b"  Font:")]
  File "C:\Program Files\Python37\lib\site-packages\moviepy\video\VideoClip.py", line 1177, in <listcomp>
    return [l.decode('UTF-8')[8:] for l in lines if l.startswith(b"  Font:")]
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb7 in position 8: invalid start byte

在这种情况下,要支持中文环境,需要修改VideoClip的1177行,具体修改内容如下:

        if arg == 'font':
            #return [l.decode('UTF-8')[8:] for l in lines if l.startswith(b"  Font:")]
            return [l.decode('ANSI')[8:] for l in lines if l.startswith(b"  Font:")]

更多TextClip的介绍请参考《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip类详解》。

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

关于收费专栏

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

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

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

跟老猿学Python、学5G!

☞ ░ 前往老猿Python博文目录
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值