首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MoviePy时的TypeError

使用MoviePy时的TypeError
EN

Stack Overflow用户
提问于 2017-01-30 23:04:31
回答 1查看 603关注 0票数 0

为了学习一点MoviePy,我复制了一些示例代码(我稍微修改了一下),它从电影文件中剪切出10秒的部分,覆盖文本,并将其编写为不同的文件。该代码对某些文件执行perfectly...only操作。我有两个视频文件,我想在上面使用代码(只是为了练习)。这两个都是.mov文件,都在同一个驱动器上,并且两个路径都是正确的(我已经多次验证过了)。问题是,我在其中一个文件上获得了一个TypeError,而在另一个文件上却工作得很好。代码如下:

代码语言:javascript
复制
from moviepy.editor import *

x = int(input("When do you want the cut to start? "))
y = int(input("When do you want the cut to end? "))


video = VideoFileClip("D:\Videos\Gatlinburgh Drone River 2.MOV").subclip(x,y)

##video = VideoFileClip("D:\SF_ep\T_R_D.mov").subclip(x,y)  #Path is correct


txt_clip = ( TextClip("The Red Dot episode",fontsize=70,color='white')
             .set_position('center')
             .set_duration(10) )

result = CompositeVideoClip([video, txt_clip])

result.write_videofile("Text on Screen.webm",fps=25)

上面的例子非常好用。但是,当我将其注释掉并取消对其下方视频的注释时,我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\Sam\Python Projects\MoviePy\Example3c.py", line 15, in <module>
    video = VideoFileClip("D:\\Seinfeld_All_Episodes\\The_Red_Dot.mov").subclip(x,y)
  File "C:\Python34\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 82, in __init__
    nbytes = audio_nbytes)
  File "C:\Python34\lib\site-packages\moviepy\audio\io\AudioFileClip.py", line 63, in __init__
    buffersize=buffersize)
  File "C:\Python34\lib\site-packages\moviepy\audio\io\readers.py", line 70, in __init__
    self.buffer_around(1)
  File "C:\Python34\lib\site-packages\moviepy\audio\io\readers.py", line 234, in buffer_around
    self.buffer =  self.read_chunk(self.buffersize)
  File "C:\Python34\lib\site-packages\moviepy\audio\io\readers.py", line 123, in read_chunk
    self.nchannels))
TypeError: 'float' object cannot be interpreted as an integer

我没有改变任何代码,我只是指向一个不同的文件。我已经对不同的文件尝试了相同的方法,但得到了相同的错误。为什么它在其中一个上有效,而在另一个上不起作用?有什么想法吗?

similar question之前曾被问过堆栈溢出,但没有任何可靠的答案(至少没有一个适用于我的特定情况)。

任何帮助都是最好的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-01-31 02:37:59

经过更多的搜索,我找到了一个解决方案here。Readers.py中的第122行代码返回的是浮点数而不是整数,因为它使用了一个"/“而不是两个"//”。我更改了这一行,似乎已经解决了问题。有关详细信息,请访问链接。

郑重声明,我仍然不明白为什么在某些文件上会发生这种情况,而不是在其他文件上。尽管如此,解决方法很简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41939088

复制
相关文章

相似问题

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