ffmpeg去除视频前后各20秒,去除片头片尾
#!/usr/bin/env python # -*- encoding: utf-8 -*- # here put the import lib import os import subprocess import random import string def rename_mp4_files(folder_path): files = [f for f in os.listdir(folder_path) if f.endswith(".mp4")] for file in files: old_file_path = os.path.join(folder_path, file) new_file_name = ''.join( random.choices(string.ascii_letters + string.digits, k=6)) + ".mp4" new_file_path = os.path.join(folder_path, new_file_name) os.rename(old_file_path, new_file_path) def get_video_duration(filename): result = subprocess.run(["ffmpeg", "-i", filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = result.stderr.decode() lines = output.splitlines() for line in lines: if "Duration" in line: parts = line.split(",") for part in parts: if "Duration" in part: duration = part.split()[1].split(".")[0] hours, minutes, seconds = duration.split(":") total_seconds = int(hours) * 3600 + int( minutes) * 60 + int(seconds) return total_seconds return None def convert_seconds(seconds): hours = seconds // 3600 minutes = (seconds % 3600) // 60 remaining_seconds = seconds % 60 return "{:02d}:{:02d}:{:02d}".format(hours, minutes, remaining_seconds) def ffmpeg_1(): input_folder = 'input' output_folder = 'output' # 获取 input 文件夹下所有的 MP4 文件 files = [f for f in os.listdir(input_folder) if f.endswith('.mp4')] for file in files: input_path = os.path.join(input_folder, file) output_path = os.path.join(output_folder, file) start_time = '00:00:20' end_time = convert_seconds(get_video_duration(input_path) - 20) # print(input_path, end_time) # 去除视频的前 10 秒和后 10 秒,并去除上下左右各 10% 的像素 cmd = ( f'ffmpeg -i {input_path} -ss {start_time } -t {end_time} -vf "crop=iw*0.8:ih*0.8:iw*0.1:ih*0.1" ' f'-s 1280x720 {output_path} -y') subprocess.run(cmd, shell=True) rename_mp4_files('input') ffmpeg_1()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现