问题描述
我裁剪了大约数百个视频来裁剪每个剪辑的前 30 秒。该代码适用于一个剪辑,但当我放置路径时,代码开始不起作用。
我用我在下面尝试的内容粘贴了当前代码。我能否深入了解如何迭代文件夹中的每个文件?
谢谢
import os
import ffmpeg
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
from moviepy.editor import *
def timeCrop():
directory = "/Users/documents/lab/video/ProccessedVideo"
count = 1
for filename in os.listdir(directory):
if filename.endswith(".mpg") or filename.endswith(".mp4"):
path = os.path.join(directory,filename)
input = ffmpeg.input(path)
print(path,count)
mice = ["022,90"]
ffmpeg_extract_subclip("{path}.mpg",30,120,targetname="{mice[0]}.mpg,{mice[1]}.mpg")
count += 1
def timeCrop2():
directory = "/Users/documents/lab/video/ProccessedVideo"
clip = VideoFileClip("022.mpg").cutout(0,30)
clip.write_videofile("022e.mpg",codec="libx264")
#timeCrop()
timeCrop2()
解决方法
您可以使用以下代码使用过滤器(例如(.mp4))迭代目录中的每个文件
import os
directory = os.fsencode("D:\\Acroyoga")
for file in os.listdir(directory):
filename = os.fsdecode(file)
if filename.endswith(".mp4"):
print(filename) #do your video process here
continue
else:
continue