mp4视频批量截取!!!

mp4视频批量截取!!!

问题:如果我们想截取一个mp4视频中的多个片段,一个一个截会很麻烦!

  • 可以将想要截取的开始时间结束时间保存到 excel表 中,进行批量截取。
1、对一个视频,记录想要截取的时间段

如下,一共3列,start_time(开始时间)、end_time(结束时间)、name(视频名);时间单位为s(秒)

在这里插入图片描述

2、运行以下python代码

from moviepy.editor import VideoFileClip
import pandas as pd
import os

def cut_mp4(input_video, input_excel, output_path):
    # 检查文件夹是否存在,如果不存在则创建
    if not os.path.exists(output_path):
        os.makedirs(output_path)

    # 打开输入视频
    video_clip = VideoFileClip(input_video)

    # 读取Excel文件
    df = pd.read_excel(input_excel)

    # 提取前两列数据到int数组
    start_times = df['start_time'].tolist()
    end_times = df['end_time'].tolist()
    # 提取最后一列数据到string数组
    names = df['name'].tolist()

    i = 0
    while i < len(start_times):
        # 剪辑的开始时间(以秒为单位)
        start = start_times[i]
        # 剪辑的结束时间(以秒为单位)
        end = end_times[i]
        name = names[i] + '.mp4'

        # 拼接新的文件路径
        output_video  = os.path.join(output_path, name)

        # 剪辑视频
        clipped_video = video_clip.subclip(start, end)

        # 指定输出视频的编解码器和格式
        clipped_video.write_videofile(output_video, codec="libx264", audio_codec="aac")
        i += 1

    print("剪辑完成!!!")



if __name__ == "__main__":
    # 输入视频文件名
    input_video = "D:\\image_data\\target_tracking\\example_video_sot\\2023-10-21-14-54-14.mp4"
    # 输入excel文件名
    input_excel = "D:\\image_data\\target_tracking\\example_video_excel\\2023-10-21-14-54-14.xlsx"
    # 输出视频文件夹
    output_path = "D:\\image_data\\target_tracking\\example_videos\\2023-10-21-14-54-14\\"

    cut_mp4(input_video, input_excel, output_path)

3、剪辑完成如下:
在这里插入图片描述

注:仅供学习参考,如有不足欢迎指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/147207.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS元服务实现今天吃什么

一、前言 作为一个职业打工人&#xff0c;每天点外卖吃啥东西都有选择综合症&#xff0c;突发奇想让程序帮我们随机选择一个吃的&#xff0c;是不是可以解决我们的选择问题呢&#xff0c;说干就干&#xff0c;我们就使用HarmonyOS元服务实现一下这个功能。为什么选择这个Harmon…

java程序中为什么经常使用tomcat

该疑问的产生场景&#xff1a; 原来接触的ssm项目需要在项目配置中设置tomcat&#xff0c;至于为什么要设置tomcat不清楚&#xff0c;只了解需要配置tomcat后项目才能启动。接触的springboot在项目配置中不需要配置tomcat&#xff0c;原因是springboot框架内置了tomcat&#xf…

万界星空科技云MES生产管理系统和ERP的对接

万界星空云MES管理系统的应用比较广&#xff0c;在和ERP连接时&#xff0c;必须先掌握下什么模块是和MES业务流程有关的。在ERP诸多模块中&#xff0c;有MM(物料管理方法模块)、PP(生产计划模块)、QM(质量控制模块)模块和MES有同时的关联&#xff0c;因此&#xff0c;这种模块造…

spring cloud之网关

Gateway网关(*) 什么是网关 # 1.说明 - 网关统一服务入口&#xff0c;可方便实现对平台众多服务接口进行管控。 - 网关 路由转发 过滤器路由转发&#xff1a;接收一切外界请求&#xff0c;转发到后端的微服务上去过滤器&#xff1a;在服务网关中可以完成一系列的横切功能&a…

信号发生器为什么输出信号和配置参数对不上?

1.问题&#xff1a; 今天在调试时遇到信号发生器输出信号与我实际输入的参数不符的问题。 我原本打算输出一个中心点是2.5V然后上下偏移1.5V的信号。刚操作信号发生器的时候&#xff0c;调节到正弦波输出&#xff0c;参数部分&#xff0c;必须要输入High,Low电平。这个很不方…

Linux使用Docker完整安装Superset,同时解决please use superset_config.py to override it报错

文章目录 Docker安装Superset流程1. 首先获取镜像2. 生成SSL3. 创建Superset容器4. 更新数据库5. 测试访问Superset Docker安装Superset流程 1. 首先获取镜像 docker pull amancevice/superset2. 生成SSL 接下来我们运行一些额外的程序&#xff1a; openssl rand -base64 4…

龙讯旷腾PWmat:新的催化反应机理——瞬态相变,对多相电催化剂的设计和多相电催化机理的研究具有重要意义

研究背景 众所周知&#xff0c;材料的性质&#xff0c;包括催化活性都是相敏感的。而材料的相与外界条件有关&#xff0c;电催化反应过程中的外部条件与反应前后的外部条件不同&#xff0c;这自然导致了一个问题&#xff1a;在反应过程中电催化剂的相是否可以与反应前后的相不…

基于萤火虫算法优化概率神经网络PNN的分类预测 - 附代码

基于萤火虫算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于萤火虫算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于萤火虫优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

demo(一)eureka----服务注册与提供

下面写一个简单的demo验证下eureka&#xff0c;实现服务注册、服务发现。 一、单节点&#xff1a; 1、api&#xff1a; 封装其他组件需要共用的dto 2、eureka-service服务注册中心&#xff1a; &#xff08;1&#xff09;pom: <?xml version"1.0" encoding&q…

Anaconda当前有几个python环境,Anaconda常用命令

通过下面的命令即可知道当前的conda拥有几个python版本环境。 conda env list常用命令 python版本 python --version or python --V当前conda可以使用那些python版本 conda search "^python$"创建一个新的python版本环境&#xff0c;例如python版本是3.8.3 cond…

问题 G: Girls and Boys(最大独立集)

由于未知编号对应性别&#xff0c;故进行两次作图 详细看下图&#xff0c; 该图为转载&#xff1a; AC代码&#xff08;较转载代码修改过&#xff0c;源代码无法AC&#xff09;&#xff1a; #include<iostream> #include<string.h> using namespace std; #define …

外包能做多久?这才是掩藏在虚假繁荣后的真实

讲一下我的故事和想法&#xff0c;你们自己寻思一下 我25岁&#xff0c;中级测试&#xff0c;外包&#xff0c;薪资13.5k&#xff0c;人在上海。 内卷什么的就不说了&#xff0c;而且人在外包那些高级精英年薪大几十的咱也接触不到&#xff0c;就说说外包吧。 假设以我为界限…

19 - 如何用协程来优化多线程业务?

近几年&#xff0c;国内很多互联网公司开始使用或转型 Go 语言&#xff0c;其中一个很重要的原因就是 Go 语言优越的性能表现&#xff0c;而这个优势与 Go 实现的轻量级线程 Goroutines&#xff08;协程 Coroutine&#xff09;不无关系。那么 Go 协程的实现与 Java 线程的实现有…

C语言入门——第15节课

目录 一、优化编写的strcmp函数 二、结构体对齐 三、memset函数 1.memset函数的使用 2.编写memset函数 四、memcpy函数 1.memcpy函数的使用 2.编写memcpy函数 五、函数 1.函数的编译链接和内存布局 2.可见性 ①块作用域 ②全局作用域 ③作用域解析符:: 3.生存期 …

springboot整合minio步骤

springboot整合minio步骤 springboot整合minio十分的简单&#xff0c;接下来使用springboot整合一下minio。 一、导入依赖 首先需要导入minio的依赖。 <!--maven引入minio排除okhttp依赖并添加高版本的okhttp依赖--><dependency><groupId>io.minio</g…

Git新建分支

修改代码之Git策略思考&#xff1a; 有三种办法&#xff1a; 需要在主分支上新建一个分支&#xff0c;不合并新建版本。其实也是先新建一个分支&#xff0c;然后合并到主分支&#xff0c;再删除分支。直接新建远程仓库。 考虑&#xff0c;3&#xff09;最浪费&#xff0c;其…

聚势启新,KaiwuDB 生态联盟沙龙首站落地长春

11月9日&#xff0c;由 KaiwuDB 联合和润集团、致远互联主办的“KaiwuDB 生态联盟沙龙”首站活动在吉林长春顺利举办。沙龙以“聚势&#xff0c;启新”为主题&#xff0c;邀请基础软硬件、应用软件、信息安全等产业链上下游伙伴企业到场&#xff0c;共同就产业数智化趋势下的新…

Nginx 是如何解决惊群效应的?

什么是惊群效应&#xff1f; 第一次听到的这个名词的时候觉得很是有趣&#xff0c;不知道是个什么意思&#xff0c;总觉得又是奇怪的中文翻译导致的。 复杂的说&#xff08;来源于网络&#xff09;TLDR; 惊群效应&#xff08;thundering herd&#xff09;是指多进程&#xff…

红黑树的概念和简单实现

目录 红黑树的概念红黑树的结构红黑树的插入红黑树的验证 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑…

二进制原码、反码、补码、移码

机器数&#xff1a;一个数在计算机中的二进制表示形式&#xff0c;称为这个数的机器数。符号位&#xff1a;机器数是带符号的&#xff0c;在计算机中用最高位作为符号位&#xff0c;0为正数&#xff0c;1为负数。真值&#xff1a;机器数由于含有符号位&#xff0c;所以机器数的…