首页 > 编程语言 >python从大小上裁切视频

python从大小上裁切视频

时间:2024-04-20 21:04:52浏览次数:17  
标签:视频 裁切 python 裁剪 crop video 坐标 path 80

1.代码1

import subprocess

def ffmpeg_crop(input_path, output_path, width, height, x, y):
    # 构建ffmpeg命令
    cmd = [
        'ffmpeg',
        '-i', input_path,
        '-filter:v', f'crop={width}:{height}:{x}:{y}',  # 注意这里的参数顺序
        '-c:a', 'copy',  # 确保-c:a后面紧跟的是copy,而不是output_path
        output_path
    ]

    # 执行ffmpeg命令
    subprocess.run(cmd, check=True)

x1 = 240  # 裁剪区域左上角的x坐标
y1 = 0   # 裁剪区域左上角的y坐标
x2 = 1680  # 裁剪区域右下角的x坐标
y2 = 1080  # 裁剪区域右下角的y坐标
# 要裁剪的视频文件路径
video_path = r'E:\edge下载\80-\80-难度等级.mp4'
# 裁剪后的视频文件路径
output_path = r'E:\edge下载\80-\80-难度等级_caihou.mp4'

# 定义裁剪区域的宽度和高度
crop_width = x2 - x1  # 裁剪区域的宽度
crop_height = y2 - y1  # 裁剪区域的高度

# 使用示例
ffmpeg_crop(video_path, output_path, crop_width, crop_height, x1, y1)

 

2.代码2

from moviepy.editor import VideoFileClip

# 要裁剪的视频文件路径
video_path = r'E:\edge下载\80-\80-难度等级.mp4'
# 裁剪后的视频文件路径
output_path = r'E:\edge下载\80-\80-难度等级_caihou.mp4'

# 加载视频
video = VideoFileClip(video_path)

# 定义裁剪区域的左上角坐标 (x1, y1) 和右下角坐标 (x2, y2)
# 这些坐标是基于视频原始分辨率的
x1 = 240  # 裁剪区域左上角的x坐标
y1 = 0   # 裁剪区域左上角的y坐标
x2 = 1680  # 裁剪区域右下角的x坐标
y2 = 1080  # 裁剪区域右下角的y坐标

# 使用crop方法裁剪视频
cropped_video = video.crop(x1=x1, y1=y1, x2=x2, y2=y2)

# 将裁剪后的视频写入文件
cropped_video.write_videofile(output_path)

# 释放资源
video.close()
cropped_video.close()

 

标签:视频,裁切,python,裁剪,crop,video,坐标,path,80
From: https://www.cnblogs.com/jingzaixin/p/18148135

相关文章

  • 解决 macOS 下 Python 3.8 安装 mysqlclient 的问题
    环境背景Python版本:3.8macOS版本:14.4(M2芯片)在安装mysqlclient时遇到的问题我在网上找到的方案基本上都是通过brewinstallmysql-connector-c安装、修改mysql_config文件、安装openssl及gcc,这个解决方案对我并没有效果解决方案步骤一:配置环境变量#使用pkg-config......
  • Python Unittest
    1fromunittestimportTestCase2fromtriangleimportarea_of_a_triangle34classTestAreaOfTriangle(TestCase):56deftest_float_values(self):7"""Testareaswhenvaluesarefloats"""8se......
  • 回归问题求解 python---梯度下降+最小二乘法
      MSE=1/m*∑i=1m(yi−y^i)2 a=[1.,2.,3.,4.,5.,6.,7.,8.,9.]b=[3.,5.,7.,9.,11.,13.,15.,17.,19.]points=[[a[i],b[i]]foriinrange(len(a))]lr=0.001eps=0.0001m=len(......
  • C# ffmpeg m3u8 ts 视频拼接mp4
    准备拼接文件里面放的是需要拼接视频文件的路径concat_list.txt  准备代码 privatevoidCombineFile(stringfilesDir,stringtargetmp4fileName){stringbasedir=AppDomain.CurrentDomain.BaseDirectory;//ffmpeg的......
  • C# 解密m3u8 ts视频文件为mp4
    代码:try{//读取的加密视频ts文件路径byte[]encodeBuffer=File.ReadAllBytes("C:\\Users\\admin\\Downloads\\322251.ts");///A216DF0DA0082028163781ECC258BA5B代表winhex看到的字符串32734893fb097a767c9ea903936a6d8b代表m3u8文件中的iv偏移......
  • Python量化交易系统实战_Python常用库介绍
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢! 在量化开发过程中,有一些强大的库是必须学会使用和熟悉的,这里简单整理下。一、Pandas1、简介Pandas是Python语言的一个扩展程序库,用于数据分析。Pandas名字衍生自术语"paneldata"(面板......
  • 【Python】安装配置gym
    gym是python中的一个强化学习环境,想要完整配置并跑起来坑还是比较多的。下面记录一下Windows完整安装过程,Linux下过程基本类似。1.执行pipinstallgym直接安装的是0.26.2版本,网上常见的代码无法兼容,这里安装0.25.2版,并且安装对应的pygame。执行:pipinstallgym==0.25.2pip......
  • Python与Java数据结构语法区别
    数组参考链接:CS61BPythonzeroedLst=[0,0,0]lst=[4,7,10]lst[0]=5print(lst[0])print(lst)print(len(lst))Javaint[]zeroedArray=newint[3];int[]array={4,7,10};array[0]=5;System.out.println(array[0]);System.out.println(Ar......
  • Python量化交易系统实战_实现股票实盘交易
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢!这里以EasyTrader为例,感受下如何实现程序化交易。一、EasyTrader技术原理简介EasyTrader主要原理是利用pywinauto自动获取同花顺上相应控件的值,进行模拟自动化的操作,它给散户提供了一个强大......
  • 1.6K Star 微信自动化,weixin-python,一个与微信交互超强库
    简介提供微信登录,公众号管理,微信支付,微信消息的全套功能安装使用pipsudopipinstallweixin-python使用easy_installsudoeasy_installweixin-python用法参数WEIXIN_TOKEN 必填,微信主动推送消息的TOKENWEIXIN_SENDER 选填,微信发送消息的发送者WEIXIN_EXPIRES_IN......