gpt4 book ai didi

python - 是否可以使用 FFmpeg 从视频文件夹中剪切 "random"部分并将它们连接成 1 个视频?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:13 24 4
gpt4 key购买 nike

我意识到这听起来像是一个简单的问题,而且之前已经回答过了。但是,我似乎找不到一个脚本可以读取不同长度的视频文件夹,从每个视频中复制一个随机片段,并将它们连接成一个视频。

一个例子:

我有一个包含 150 个视频的文件夹,标签为 Fashion-Setlist-01.mp4、Fashion-Setlist-02.mp4 等。每个都超过1小时。我想从每个视频中随机抽取 10 秒的部分,然后将它们随机添加在一起,生成一个视频。这似乎很容易只用几个视频,但计划是从潜在的 100 个视频中读取。也应该可以从每个视频中提取多个部分。我想如果视频需要更长的时间,我们可以为更多片段运行脚本两次。

最佳答案

moviepy是最合适的工具(它使用 ffmpeg 作为后端)。在 moviepy 中连接视频很简单:

import moviepy.editor
import os
import random
import fnmatch

directory = '/directory/to/videos/'
xdim = 854
ydim = 480
ext = "*mp4"
length = 10

outputs=[]

# compile list of videos
inputs = [os.path.join(directory,f) for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f)) and fnmatch.fnmatch(f, ext)]

for i in inputs:

# import to moviepy
clip = moviepy.editor.VideoFileClip(i).resize( (xdim, ydim) )

# select a random time point
start = round(random.uniform(0,clip.duration-length), 2)

# cut a subclip
out_clip = clip.subclip(start,start+length)

outputs.append(out_clip)

# combine clips from different videos
collage = moviepy.editor.concatenate_videoclips(outputs)

collage.write_videofile('out.mp4')

关于python - 是否可以使用 FFmpeg 从视频文件夹中剪切 "random"部分并将它们连接成 1 个视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com