首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么moviepy concatenate函数不能和list一起使用?

为什么moviepy concatenate函数不能和list一起使用?
EN

Stack Overflow用户
提问于 2019-03-22 03:07:24
回答 1查看 281关注 0票数 1

我做了一个合并视频的代码,如果它们不在那里,它们就不会被合并,但问题在哪里呢?对于上下文,我尝试编写一个脚本,通过google搜索编译视频

代码语言:javascript
复制
from __future__ import unicode_literals
import os
from moviepy.editor import *
from pathlib import Path


def videoedit():
  datafolder = Path("G:\\Projekt\\Projekt\\Clips")
  file_to_open1 = datafolder / "Clip1.mp4"
  file_to_open2 = datafolder / "Clip2.mp4"
  file_to_open3 = datafolder / "Clip3.mp4"
  file_to_open4 = datafolder / "Clip4.mp4"
  file_to_open5 = datafolder / "Clip5.mp4"
  clipA = []
  try:
   clip1 = VideoFileClip(str(file_to_open1))
   clipA = clipA.extend('clip1')
  except:
   print("Clip1 wurde nicht gefunden")
  try:
   clip2 = VideoFileClip(str(file_to_open2))
   clipA = clipA.extend('clip2')
  except:
   print("Clip2 wurde nicht gefunden")
  try:
   clip3 = VideoFileClip(str(file_to_open3))
   clipA = clipA.extend('clip3')
  except:
   print("Clip3 wurde nicht gefunden")
  try: 
   clip4 = VideoFileClip(str(file_to_open4))
   clipA = clipA.extend('clip4')
  except:
   print("Clip4 wurde nicht gefunden")
  try: 
   clip5 = VideoFileClip(str(file_to_open5))
   clipA = clipA.extend('clip5')
  except:
   print("Clip5 wurde nicht gefunden")
  clipA
  final_clip = concatenate_videoclips(clipA)
  final_clip.write_videofile("Compilation.mp4",fps=30)
videoedit()

这是错误消息(Os windows):

代码语言:javascript
复制
Clip2 wurde nicht gefunden (eng: Clip2 not found)
Clip3 wurde nicht gefunden
Clip4 wurde nicht gefunden
Clip5 wurde nicht gefunden
Traceback (most recent call last):
  File "youtube_s.py", line 48, in <module>
    videoedit()
  File "youtube_s.py", line 46, in videoedit
    final_clip = concatenate_videoclips(clipA)
  File "C:\python\lib\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips
    tt = np.cumsum([0] + [c.duration for c in clips])
TypeError: 'NoneType' object is not iterable

但是有一个clip2,clip3,clip4,clip5,这个函数不能处理列表,但是为什么呢

EN

回答 1

Stack Overflow用户

发布于 2019-03-23 07:30:20

更新:只删除了‘,就会出现错误消息:

代码语言:javascript
复制
Clip1 wurde nicht gefunden(made up by myself, means :Clip# not found)
Clip2 wurde nicht gefunden
Clip3 wurde nicht gefunden
Clip4 wurde nicht gefunden
Clip5 wurde nicht gefunden
Traceback (most recent call last):
  File "youtube_s.py", line 48, in <module>
    videoedit()
  File "youtube_s.py", line 46, in videoedit
    final_clip = concatenate_videoclips(clipA)
  File "C:\python\lib\site-packages\moviepy\video\compositing\concatenate.py", line 75, in concatenate_videoclips
    w = max([r[0] for r in sizes])
ValueError: max() arg is an empty sequence

使用extend和‘removed或not removed:

代码语言:javascript
复制
Clip2 wurde nicht gefunden
Clip3 wurde nicht gefunden
Clip4 wurde nicht gefunden
Clip5 wurde nicht gefunden
Traceback (most recent call last):
  File "youtube_s.py", line 48, in <module>
    videoedit()
  File "youtube_s.py", line 46, in videoedit
    final_clip = concatenate_videoclips(clipA)
  File "C:\python\lib\site-packages\moviepy\video\compositing\concatenate.py", line 71, in concatenate_videoclips
    tt = np.cumsum([0] + [c.duration for c in clips])
TypeError: 'NoneType' object is not iterable

可能的线索是找到了Clip1,并且没有错误。

但老实说,我现在不知道该怎么办。

应答

您必须使用clip.append(Clip1),而不是clip = clip.append(Clip1)。这将会起作用

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

https://stackoverflow.com/questions/55287629

复制
相关文章

相似问题

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