python - 我试图制作视频编辑器,它使用moviepy python从电脑获取视频,但我面临一些问题,我对此并不陌生
问题描述
def open_file():
b_text.set("Loading")
files = askopenfile(initialdir = ".",parent=root ,title="choose a video",filetype=[("Video Files","*.mp4")])
if files:
print("File was loaded")
files.without_audio().preview()
这是我面临的错误
Traceback (most recent call last):
File "C:\Users\felix\anaconda3\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "c:/Users/felix/Desktop/video editor/new.py", line 27, in open_file
b=Button(root,textvariable=b_text,relief=GROOVE,bg="#232323",fg="white", command=open_file)
AttributeError: '_io.TextIOWrapper' object has no attribute 'without_audio'
解决方案
您必须VideoFileClip
在预览之前执行。
该方法askopenfile
选择一个文件。
执行clip = VideoFileClip(file.name)
创建VideoFileClip
对象。
然后就可以执行了clip.without_audio().preview()
。
有关详细信息,请参阅:MoviePy – 预览视频剪辑。
执行代码时,我收到一条错误消息:
clip.preview 需要安装 Pygame
我必须安装pygame。
下面是选择和预览视频文件的代码示例:
from tkinter.filedialog import askopenfile
from moviepy.editor import *
file = askopenfile(initialdir = ".", title="choose a video", filetype=[("Video Files","*.mp4")])
if file:
print("File was loaded")
# https://www.geeksforgeeks.org/moviepy-previewing-a-video-clip/
# Loading video file
clip = VideoFileClip(file.name)
# previewing the clip at fps = 10
clip.without_audio().preview(fps=10)
注意:
由于该示例是“独立”应用程序,因此我必须删除parent
参数(但您应该保留parent=root
参数)。
推荐阅读
- c - 用于在 btrfs 中设置文件和目录时间戳的 API
- python - Django 虽然安装了但找不到 Pillow
- html - 标题旁边的多余空间
- vue.js - 单击时如何更改按钮的颜色?(Vue)
- r-markdown - 在 R-Markdown + tikzDevice 中绘制注释
- google-colaboratory - Colab 中未显示 Graphvis 输出
- javascript - 删除数据表中小数点前的前导零
- python - 用于在 Windows 10 中打开应用程序的 Python 包操作系统代码
- php - 不同环境下的 PHP SoapClient 超时
- asp.net - 如何使用 tr onlick 重定向到不同的 url