python使用ffmpeg去掉视频片头和片尾
python使用ffmpeg去掉视频片头和片尾
需要自己得到视频的片头和片尾时长;并且设置好视频文件的名称。
关于ffmpeg的配置及操作可看ffmpeg配置环境和测试,ffmpeg的基本使用,python操作ffmpeg
import os
import time
import subprocess# 按创建文件的时间顺序重命名文件,文件夹内文件要有.后缀
def renameFiles(dirPath):list = []# 获得文件名列表files = os.listdir(dirPath)# 获得名称带时间戳的新文件名列表for filename in files:# 获得文件的最后修改时间# createTime = os.path.getmtime(dirPath + filename)# 获得文件创建时间createTime = os.path.getctime(dirPath + filename)# 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表list.append(str(int(createTime)) + '-' + filename)# 重新给列表排序,这次所有文件按创建时间排序了list = sorted(list)# 遍历创建时间戳为序号for i in range(len(list)):# 获得原先的文件名# print(list[i]) # 1614387291-01.jpgoldName = list[i].split('-')[1]# 获取文件后缀suffix = list[i].split('.')[1]newName = '0' + str(i + 1) + '.' + suffixprint(oldName,'-->',newName)# 重命名文件os.rename(dirPath + oldName, dirPath + newName)# 获取视频时长
def get_video_duration(video_path: str):ext = os.path.splitext(video_path)[-1]if ext != '.mp4' and ext != '.avi' and ext != '.flv':raise Exception('format not support')ffprobe_cmd = 'ffprobe -i {} -show_entries format=duration -v quiet -of csv="p=0"'p = subprocess.Popen(ffprobe_cmd.format(video_path),stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)out, err = p.communicate()duration_info = float(str(out, 'utf-8').strip())return int(duration_info)# 删除文件
def delete_av(path):if os.path.exists(path):os.remove(path)print('yes')else:print("The file does not exist")# 将视频切割
def video_cut(i,ss,t):cmd = "ffmpeg -ss " + f'{ss}' + " -t " + f'{t}' + " -accurate_seek -i F:\\大明王朝1566\\0" + \f'{i}' + ".mp4 -codec copy -avoid_negative_ts 1 F:\\大明王朝1566\\" + f'{i}' + ".mp4"re = os.system(cmd)time.sleep(1)if re == 0:print('成功')else:print('失败!!!!!!!!!!!!!!!!!!')# 将mp4转换为ts文件,可不用
def mp4_ts(i):cmd = "ffmpeg -i C:\\video\\" + f'{i}' + ".mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb C:\\video\\" + f'{i}' + ".ts"re = os.system(cmd)time.sleep(1)if re == 0:print('转换成功')else:print('转换失败!!!!!!!!!!!!!!!!!!')# mp4或ts文件合并为一个mp4文件
def mp4():cmd = "ffmpeg -f concat -i F:\\大明王朝1566\\list.txt -c copy C:\\video\\output.mp4"re = os.system(cmd)time.sleep(1)if re == 0:print('合并成功')else:print('合并失败!!!!!!!!!!!!!!!!!!')if __name__ == '__main__':# renameFiles("H:\\图片\\wpcache\\srvsetwp\\")for index in range(1,47):path = 'F:\\大明王朝1566\\0'+ f'{index}' +'.mp4'# t = get_video_duration(path) - (片头时长+片尾)+ 2t = get_video_duration(path) - 308 # 减去片头和片尾 + 2s# 参数:视频文件名,开始剪切时间(s),剪切的时间长度video_cut(index,90,t)# delete_av('F:\\大明王朝1566\\0'+ f'{index}' +'.mp4')print('over')time.sleep(2)# mp4()
python使用ffmpeg去掉视频片头和片尾相关推荐
- 通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境)
通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境) 任务需求: 基本情况: 技能需求: 操作流程概括: 运行通过的shell脚本: 小结 任务需求: 对一批视频 ...
- 怎样去掉视频片头片尾?教你用最简单的方法轻松剪辑
在看到很多的视频开头几秒不需要,结尾也是不需要的,如何给它删除几秒呢?视频剪辑高手可以支持同时剪辑吗?这个肯定是可以了,下面一起来看操作方法. 准备几个视频保存在同一文件夹中,双击一个播放,预测需要把 ...
- Python调用ffmpeg对视频抽帧
1.安装ffmpfg sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get ...
- Python:ffmpeg修改视频分辨率
前言 在训练和测试视频的时候,以及使用opencv打开视频的时候,经常会发现速度特别的慢,这是为什么?很大原因是视频本身的分辨率太高. 所以使用ffmpeg统一修改视频的分辨率大小,能够给我们的某些任 ...
- python做视频抽帧图_利用Python和ffmpeg从视频中抽帧,此方法比opencv抽帧法快。
原博文 2020-03-26 09:34 − import subprocess import os import subprocess import shutil #目录文件不存在则自动创建,存在则 ...
- Python使用ffmpeg下载m3u8拼接为视频
一.安装ffmpeg环境 1.下载ffmpeg ffmpeg官方地址 下载地址(github) 64位点击这里直接下载 2.解压缩并添加环境变量 选择计算机的版本,下载并解压缩,然后将bin目录添加到 ...
- 怎么把图片上的字去掉_视频片头怎么减掉,电脑如何剪切掉视频的开头「视频批量剪辑」...
视频片头怎么减掉,电脑如何剪切掉视频的开头[视频批量剪辑] 怎么去掉视频片头,批量快速剪掉片头[视频剪辑教程] 视频怎么剪掉前面部分,批量剪切视频前面或者后面部分 怎样批量剪掉视频片尾和片头,什么软件 ...
- python视频处理加速的库_Python调用ffmpeg开源视频处理库,批量处理视频
代码示例 # coding=utf-8 import os import subprocess import datetime import json, pprint import re, time ...
- 手机剪辑快手短视频如何批量去掉片头和片尾
手机如何批量去掉视频的片头和片尾,首先在手机上安装并启动"王者剪辑app",进入一键剪辑模块中的"去片头片尾"功能, 批量导入或导入一个需要剪切的视频, 设定需 ...
最新文章
- C++ sort()函数的cmp含义
- HDU-3177 Crixalis's Equipment 贪心
- DirectX?OpenGL?CUDA?Stream?OpenCL?
- java 算法 排序算法_Java七种排序算法以及实现
- cf1051F. The Shortest Statement(最短路)
- 网易云信亮相LiveVideoStackCon 2019,解读移动端播放器优化实践
- 搜索linux中大于m文件,linux 下查找大于100M的文件(转)
- python 之Requests库学习笔记
- Mesa 3D 计算机图形库
- 突破大文件上传 和内网ip的端口转发
- 阅读SSM项目之scm
- JAVA计算机毕业设计无人智慧药柜系统设计(附源码、数据库)
- ai将会怎样影响计算机的发展,AI再升级!人工智能会对我们的未来产生怎样的影响?...
- PHP 使用FPDF 处理中文遇到的坑
- win10防火墙打不开,设置是灰色的、edge闪退、应用商店灰色等问题
- OSError: exception: access violation reading 0x00007FFBCED1B088
- 如何同时登陆多个微信账号
- Python爬虫爬取Google图片
- Python官网安装
- python是什么意思中文、好学吗-python好学吗
热门文章
- start with connect by prior用法
- ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL演示
- 滴滴轮回--顺风车带有明显的性暗示
- pycharm安装第三方库:Try to run this command from the system terminal. Make sure that you use the问题,亲测已解决
- Kafka+Storm+HBase项目Demo(5)--topology,spout,bolt使用
- Python自动发短信
- android 商城开发,Android 应用商城开发的几个关键技术点
- HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
- 怎么画好人体结构?男人、女人、孩子的身体比例画法
- 一文读懂 WebSocket 通信过程与实现