当前位置: 首页 > 科技观察

使用Python脚本轻松剪辑-拆分大视频

时间:2023-03-21 22:47:53 科技观察

有时您可能有一个大视频文件,并且您想将该视频拆分为许多较小的视频,开始和结束时间由您自己指定。当然,您不想使用视频编辑器手动完成,因为这会花费很长时间。例如,当您有一个10分钟的视频,您想要从中创建3个较小的剪辑时,假设第一个在1:20到2:20之间,第二个在3:00到4:00之间,最后一个在7:10到八点十五分。这样的事情在理论上很难,但使用Python及其神奇的工具就不会了!幸运的是,我们可以帮助您在一分钟内完成。要求首先,确保在Windows或Linux发行版上安装了Python3,并确保安装了pip。然后,运行以下pip命令安装所需的Python模块来完成这项工作,即moviepy:linuxmi@linuxmi:~/www.linuxmi.com$pip3installmoviepy--user然后,在当前工作目录下创建2个文件:linuxmi_split.py:稍后将包含Python代码。linuxmi_times.txt:这应该包含您想要的剪辑的开始和结束时间,我们稍后会填写它们。假设您要修剪的原始视频有20分钟长,您想要创建3个较小的视频,第一个从开始到1分钟(从0到50秒),第二个从1:00到1:00:30,第三个在1:40和3:00之间)。您的linuxmi_times.txt文件内容应如下所示:0-5060-90100-180请注意我们需要如何将格式从1:00转换为60(始终以秒为单位)。您可以向该文件添加任意数量的行。例如,如果你想创建100个更小的剪辑,那么你就可以做到。只需确保您遵循完全相同的格式:(开始时间-结束时间之间没有空格,每个空格都在其自己的单独行上)。Python脚本现在,来到重要部分,将以下代码放入Python文件linuxmi_split.py中:#!/usr/bin/envpythonfrommoviepy.video.io.ffmpeg_toolsimportffmpeg_extract_subclip#替换下面的文件名。required_video_file="www.linuxmi.com.mp4"withopen("linuxmi_times.txt")asf:times=f.readlines()times=[x.strip()forxintimes]fortimeintimes:starttime=int(time.split("-")[0])endtime=int(time.split("-")[1])ffmpeg_extract_subclip(required_video_file,starttime,endtime,targetname=str(times.index(time)+1)+".mp4")将www.linuxmi.com.mp4替换为您拥有的视频文件(必须位于同一当前工作目录中)。如果您尝试剪辑其他格式,例如.webm或.avi,只需将Python脚本中所有出现的.mp4替换为您想要的格式。(只有两个;在您输入的文件名和最后一行代码中)。现在,运行Python代码:linuxmi@linuxmi:~/www.linuxmi.com$python3linuxmi_split.pys输出:Moviepy-运行:>>>"+"".join(cmd)Moviepy-命令成功Moviepy-运行:>>>"+"".join(cmd)Moviepy-命令成功Moviepy-运行:>>>"+"".join(cmd)Moviepy-命令成功,看到3个视频文件已创建并正在运行!结论Python是一种了不起的高效语言可以执行任何类型的脚本。节省大量工作时间。例如,此任务有助于管理您的社交媒体活动,或者如果您想保留较小的较大视频剪辑,您也可能出于其他目的而喜欢它.