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去掉视频片头和片尾相关推荐

  1. 通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境)

    通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境) 任务需求: 基本情况: 技能需求: 操作流程概括: 运行通过的shell脚本: 小结 任务需求: 对一批视频 ...

  2. 怎样去掉视频片头片尾?教你用最简单的方法轻松剪辑

    在看到很多的视频开头几秒不需要,结尾也是不需要的,如何给它删除几秒呢?视频剪辑高手可以支持同时剪辑吗?这个肯定是可以了,下面一起来看操作方法. 准备几个视频保存在同一文件夹中,双击一个播放,预测需要把 ...

  3. Python调用ffmpeg对视频抽帧

    1.安装ffmpfg sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get ...

  4. Python:ffmpeg修改视频分辨率

    前言 在训练和测试视频的时候,以及使用opencv打开视频的时候,经常会发现速度特别的慢,这是为什么?很大原因是视频本身的分辨率太高. 所以使用ffmpeg统一修改视频的分辨率大小,能够给我们的某些任 ...

  5. python做视频抽帧图_利用Python和ffmpeg从视频中抽帧,此方法比opencv抽帧法快。

    原博文 2020-03-26 09:34 − import subprocess import os import subprocess import shutil #目录文件不存在则自动创建,存在则 ...

  6. Python使用ffmpeg下载m3u8拼接为视频

    一.安装ffmpeg环境 1.下载ffmpeg ffmpeg官方地址 下载地址(github) 64位点击这里直接下载 2.解压缩并添加环境变量 选择计算机的版本,下载并解压缩,然后将bin目录添加到 ...

  7. 怎么把图片上的字去掉_视频片头怎么减掉,电脑如何剪切掉视频的开头「视频批量剪辑」...

    视频片头怎么减掉,电脑如何剪切掉视频的开头[视频批量剪辑] 怎么去掉视频片头,批量快速剪掉片头[视频剪辑教程] 视频怎么剪掉前面部分,批量剪切视频前面或者后面部分 怎样批量剪掉视频片尾和片头,什么软件 ...

  8. python视频处理加速的库_Python调用ffmpeg开源视频处理库,批量处理视频

    代码示例 # coding=utf-8 import os import subprocess import datetime import json, pprint import re, time ...

  9. 手机剪辑快手短视频如何批量去掉片头和片尾

    手机如何批量去掉视频的片头和片尾,首先在手机上安装并启动"王者剪辑app",进入一键剪辑模块中的"去片头片尾"功能, 批量导入或导入一个需要剪切的视频, 设定需 ...

最新文章

  1. C++ sort()函数的cmp含义
  2. HDU-3177 Crixalis's Equipment 贪心
  3. DirectX?OpenGL?CUDA?Stream?OpenCL?
  4. java 算法 排序算法_Java七种排序算法以及实现
  5. cf1051F. The Shortest Statement(最短路)
  6. 网易云信亮相LiveVideoStackCon 2019,解读移动端播放器优化实践
  7. 搜索linux中大于m文件,linux 下查找大于100M的文件(转)
  8. python 之Requests库学习笔记
  9. Mesa 3D 计算机图形库
  10. 突破大文件上传 和内网ip的端口转发
  11. 阅读SSM项目之scm
  12. JAVA计算机毕业设计无人智慧药柜系统设计(附源码、数据库)
  13. ai将会怎样影响计算机的发展,AI再升级!人工智能会对我们的未来产生怎样的影响?...
  14. PHP 使用FPDF 处理中文遇到的坑
  15. win10防火墙打不开,设置是灰色的、edge闪退、应用商店灰色等问题
  16. OSError: exception: access violation reading 0x00007FFBCED1B088
  17. 如何同时登陆多个微信账号
  18. Python爬虫爬取Google图片
  19. Python官网安装
  20. python是什么意思中文、好学吗-python好学吗

热门文章

  1. start with connect by prior用法
  2. ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL演示
  3. 滴滴轮回--顺风车带有明显的性暗示
  4. pycharm安装第三方库:Try to run this command from the system terminal. Make sure that you use the问题,亲测已解决
  5. Kafka+Storm+HBase项目Demo(5)--topology,spout,bolt使用
  6. Python自动发短信
  7. android 商城开发,Android 应用商城开发的几个关键技术点
  8. HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
  9. 怎么画好人体结构?男人、女人、孩子的身体比例画法
  10. 一文读懂 WebSocket 通信过程与实现