ffmpeg:批量删除片头片尾

本文介绍了一个Python脚本,使用FFmpeg工具在工作目录中批量处理MP4视频,自动截取每个视频的片头和片尾。脚本通过计算视频时长并指定截取时间实现精确剪辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#todo:将工作目录内所有视频统一【截取片头片尾】!!

import os
import subprocess
def trim_video(input_path, output_path):
    # 使用ffprobe获取视频时长
    duration = float(subprocess.check_output(['ffprobe', '-i', input_path, '-show_entries', 'format=duration', '-v', 'quiet', '-of', 'csv=p=0']))

    # todo 计算截取的结束时间点
    end_time = duration - 97

    # 使用ffmpeg截取视频,不写-ss就不会卡帧!!
    cmd = 'ffmpeg -i "{}" -vcodec copy -acodec copy -to {} "{}" -y'.format(input_path, end_time, output_path)
#     cmd = 'ffmpeg -i "{}" -vcodec copy -acodec copy -ss 00:00:00:00 -to {} "{}" -y'.format(input_path, end_time, output_path)

    subprocess.call(cmd, shell=True)

def batch_trim_videos(input_dir):

    # 指定输出目录
    output_dir = os.path.join(input_dir, "output")
    # 确保输出目录存在
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    # 遍历指定目录下的所有.mp4文件
    for root, dirs, files in os.walk(input_dir):
        for file in files:
            if file.endswith(".mp4"):
                input_path = os.path.join(root, file)
                output_path = os.path.join(output_dir, file)
                # 调用trim_video函数截取视频
                trim_video(input_path, output_path)

# 指定输入目录
input_directory = r"Your/working/directory"

# 执行批量截取视频
batch_trim_videos(input_directory, output_directory)

注意!如果只删除片尾的话最好不要加上-ss,否则容易造成画面前几帧丢失。

删除片头则用下面这行代码即可,00:00:00改成对应的时间

# 只截取片尾的话,不要写-ss(否则会卡帧!!
cmd = 'ffmpeg -i "{}" -vcodec copy -acodec copy -to {} "{}" -y'.format(input_path, end_time, output_path)

# 截取片头的话,前面的-ss 后面填上开头的时间
cmd = 'ffmpeg -i "{}" -vcodec copy -acodec copy -ss 00:00:00 -to {} "{}" -y'.format(input_path, end_time, output_path)

片尾的截取是以倒计时的方案完成的,97的意思是末尾1分37秒的内容截去~ 记得改成自己电视剧的片尾长度蛤

end_time = duration - 97

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值