python_视频_Moviepy_删除视频片段

功能简介

        此程序的功能是删除视频中的广告片段,并保存删除广告后的新视频文件。

工作流程:

  1. 导入VideoFileClip类,这是moviepy库中的一个类,用于处理视频文件。
  2. 定义一个函数time_to_seconds,用于将时间字符串(格式为HH:MM:SS)转换为秒数。
  3. 使用VideoFileClip类加载视频文件,这里加载的是位于E:\Pycharm\pythonProject\moviepy\无邪.mp4的视频文件。
  4. 手动确定广告的开始和结束时间,这里广告开始时间为00:00:20,结束时间为00:00:30。
  5. 使用time_to_seconds函数将广告开始和结束时间从字符串转换为秒数。
  6. 创建一个新视频剪辑,跳过广告部分。首先,使用subclip方法从0秒开始到广告开始时间创建一个新视频剪辑。然后,使用set_end方法将新视频剪辑的结束时间设置为视频的持续时间减去广告的持续时间。
  7. 使用write_videofile方法将新视频剪辑保存为一个新的视频文件,这里保存的文件名为E:\Pycharm\pythonProject\moviepy\无邪删除片段.mp4,使用libx264编码视频,使用aac编码音频。

 代码展示

# 删除视频片段
from moviepy.editor import VideoFileClip
# 将广告开始和结束时间从字符串转换为秒数
def time_to_seconds(time_str):
    h, m, s = map(int, time_str.split(':'))
    return h * 3600 + m * 60 + s
# 加载视频文件
video = VideoFileClip(r'E:\Pycharm\pythonProject\moviepy\无邪.mp4')

# 手动确定广告的开始和结束时间(秒)
ad_start = '00:00:20'  # 广告开始的秒数
ad_end = '00:00:30'   # 广告结束的秒数

# 将广告开始和结束时间从字符串转换为秒数
ad_start_seconds = time_to_seconds(ad_start)
ad_end_seconds = time_to_seconds(ad_end)

# 创建一个新视频剪辑,跳过广告部分
new_video = video.subclip(0, ad_start_seconds).set_end(video.duration - (ad_end_seconds - ad_start_seconds))

# 写出新视频剪辑
# 使用libx264编码视频,使用aac编码音频。
new_video.write_videofile(r'E:\Pycharm\pythonProject\moviepy\无邪删除片段.mp4', codec="libx264", audio_codec='aac')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值