首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MoviePY UTF8错误

MoviePY UTF8错误
EN

Stack Overflow用户
提问于 2017-08-04 20:19:35
回答 2查看 870关注 0票数 0

我在发帖前看了看周围,但这里给出的解决方案不起作用:

moviepy stackOF solution

我使用python 2.7.13和ImageMagick-7.0.6-Q16

我的代码是这样的:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
#Installation de FFMPG.EXE s'il n'est pas déja installé
    try:
        import imageio
        imageio.plugins.ffmpeg.download()
    except Exception as e:
        print e.__doc__
        print e.message
    else:
        print u"FFMPG.EXE déjà installé"

from moviepy.editor import TextClip

txtclip = TextClip('TestText', fontsize=50, color='red')
txt_image = txtclip.get_frame(0)

我得到了这个错误:

代码语言:javascript
复制
=== RESTART: C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py     ===
FFMPG.EXE déjà installé

[MoviePy] This command returned an error !
Traceback (most recent call last):
File "C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py", line 14, in <module>
txtclip = TextClip('TestText', fontsize=50, color='red')
File "C:\Python27\lib\site-packages\moviepy\video\VideoClip.py", line 1220, in __init__
subprocess_call(cmd, verbose=False )
File "C:\Python27\lib\site-packages\moviepy\tools.py", line 50, in subprocess_call
raise IOError(err.decode('utf8'))
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 202: invalid continuation byte 

我试着让我的TextClip像这样:

代码语言:javascript
复制
mytext="TestText"
mytext_utf=mytext.encode('utf8')
txtclip = TextClip(mytext_utf, fontsize=50, color='red')

但它不起作用。

我也试着进去

代码语言:javascript
复制
C:\Python27\Lib\site-packages\moviepy\video\VideoClip.py

我去了1173线

代码语言:javascript
复制
if txt is not None:

我在1174行添加了:

代码语言:javascript
复制
txt.encode('utf8')

它也不能工作...

我总是收到这个UTF8错误!这快把我逼疯了!:)

谢谢你帮我理解!:)

EN

回答 2

Stack Overflow用户

发布于 2017-08-04 20:31:17

好吧,我解决了这个问题,这不是关于我的文本,而是关于我的".py“文件所在的路径……

代码语言:javascript
复制
"C:\Users\wanli\Desktop\Training python\Montage vidéo\Timo.py"

我将其更改为:

代码语言:javascript
复制
"C:\Users\wanli\Desktop\Training python\Montage video\Timo.py"

不再有错误..。

票数 1
EN

Stack Overflow用户

发布于 2017-08-04 20:32:15

在moviepy/tools.py中,第49行(这至少是current master分支中的第49行),替换为:

代码语言:javascript
复制
raise IOError(err.decode('utf8'))

使用

代码语言:javascript
复制
raise IOError(err.decode('utf-8', 'replace')

或者简单地说:

代码语言:javascript
复制
raise IOError(err)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45506698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档