批量移除视频的片头

如果经常要看一批视频,每次都出现两样的片头,那真的是浪费时间。虽然说移除片头可以通过视频编辑软件,但是如果视频的数量很大,单个操作的工作量实在是太大了。幸好现在有了自动化脚本。

批量移除视频的片头
💡
How you can remove the same opening clips of series videos using Python?

MoviePy是一种流行的视频编辑 Python 库,提供了用程序编辑、合成和处理视频的功能。如果没有安装Python,可通过官网下载安装;如果没有安装MoviePy,也可以根据官网的指引安装。

先看一下如何用Python移除一个视频的片头,假设片头的长度是30秒:

from moviepy.editor import VideoFileClip

clip = VideoFileClip("your_video.mp4")

# Define start time (in seconds) at 0 seconds and end time at 30 seconds
start_time = 0
end_time = 30

# Remove the clip between start and end time
clip_without_removed_part = clip.cutout(start_time, end_time)

# Write the edited video
clip_without_removed_part.write_videofile("output_video.mp4")

如果是批量移除一个文件夹里面所有的视频的片头,只需要设计一个循环语句:

import os
from moviepy.editor import VideoFileClip

# Source directory containing the files
source_dir = r"video_directory" 

# Destination directory where edited files will be saved
destination_dir = r"destination_video_directory"

# Store the files name in one list
name_list = os.listdir(source_dir) 

# Define start time (in seconds) at 0 seconds and end time at 30 seconds
start_time = 0
end_time = 30

for file_name in name_list:
    source_file_path = os.path.join(source_dir, file_name)
    clip = VideoFileClip(source_file_path)
    clip_without_removed_part = clip.cutout(start_time, end_time)
    destination_file_path = os.path.join(destination_dir, file_name)
    clip_without_removed_part.write_videofile(destination_file_path)

如何移除片尾的视频呢?其实也差不多,只需要知道片尾视频的长度,然后用视频长度减去片尾的长度,就是留下来视频的长度。