返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何利用ffmpeg处理视频素材
  • 546
分享到

Python如何利用ffmpeg处理视频素材

2024-04-02 19:04:59 546人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、安装二、subprocess调用三、ffmpy3转码解复用复用拆分成图片四、最后前言 第一次处理视频素材可以手动用剪映来处理,然后再用代码进行自动化处理,不然连朝哪个方向

前言

第一次处理视频素材可以手动用剪映来处理,然后再用代码进行自动化处理,不然连朝哪个方向自动化处理可能都不知道

那清楚处理流程之后,怎么用python来处理视频素材呢?

FFmpeg!

ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序

使用这个神器,便可以处理各种视频素材内容,极度舒适

下面一行来分享一下如何使用这个神器

一、安装

首先需要在ffmpeg的官网下载最新版本,不然可能会出现各种奇怪的问题

因为ffmpeg是个命令行工具,所以安装时需要注意将ffmpeg加入环境变量中,安装完之后,可以在终端里输入下面命令查看是否安装成功


ffmpeg -version

二、subprocess调用

因为ffmpeg是命令行工具,可以通过subprocess的调用来使用

先查看使用文档,例如拆分视频文件的命令是:


ffmpeg -i [filename] -ss [starttime] -t [length] -c copy [newfilename]
  • i 为需要裁剪的文件
  • ss 为裁剪开始时间
  • t 为裁剪结束时间或者长度
  • c 为裁剪好的文件存放

好了,用 Python 写一个调用:


import subprocess as sp

def cut_video(filename, outfile, start, length=90):
    cmd = "ffmpeg -i %s -ss %d -t %d -c copy %s" % (filename, start, length, outfile)
    p = sp.Popen(cmd, shell=True)
    p.wait()
    return
  • 定义了一个函数,通过参数传入 ffmpeg 需要的信息
  • 将裁剪命令写成一个字符串模板,将参数替换到其中
  • 用 subprocess 的 Popen 执行命令,其中参数 shell=True 表示将命令作为一个整体执行
  • p.wait() 很重要,因为裁剪需要一会儿,而且是另起进程执行的,所以需要等待执行完成再继续执行后面工作,不然可能找不到文件

三、ffmpy3

ffmpy3是ffmpeg的python包装器,以可以用这个包来进行处理视频

需要先用pip进行安装


pip install ffmpy3

例如修改文件格式这种操作就可以使用ffmpy3直接输出


import ffmpy3
ff = ffmpy3.FFmpeg(
     inputs={'input.mp4': None},
     outputs={'output.avi': None}
     )
ff.run()

转码

如果同时我们想使用不同的编解码器重新编码视频和音频,在输出文件同时必须指定额外的输出选项:


ff = FFmpeg(
    inputs={'input.ts': None},
    outputs={'output.mp4': '-c:a mp2 -mpeg2video'}
)
ff.cmd
ff.run()

解复用

还可以将文件的音频和视频输出成两个mp4格式的文件


ff = FFmpeg(
    inputs={'input.ts': None},
    outputs={
         'video.mp4': ['-map', '0:0', '-c:a', 'copy', '-f', 'mp4'],
         'audio.mp4': ['-map', '0:1', '-c:a', 'copy', '-f', 'mp4']
     }
 )
ff.cmd
ff.run()

复用

复用就是将输入的mp4文件和mp3文件合成同一个视频文件

这里使用 OrderedDict 来保留输入的顺序,以便它们与输出选项中的流的顺序相匹配:


from collections import OrderedDict
inputs = OrderedDict([('video.mp4', None), ('audio_1.mp3', None), ('audio_2.mp3', None)])
outputs = {'output.ts', '-map 0 -c:v h264 -map 1 -c:a:0 ac3 -map 2 -c:a:1 mp2'}
ff = FFmpeg(inputs=inputs, outputs=outputs)
ff.cmd
ff.run()

拆分成图片

处理视频素材内容还需要将视频拆成一张张图片,对图片进行处理,然后再合并成视频

在输出的文件类型改成.png结尾即可


import ffmpy3
ff = ffmpy3.FFmpeg(
     inputs={'data.MP4': None},
     outputs={'1/%d.png': None}
     )
ff.run()

四、最后

通过ffmpeg处理视频主要还是要了解它的命令用法,可以在官方文档里进行查看

然后再去了解各种热门视频的模版,自动化生成自己想要的视频指日可待 

到此这篇关于Python 如何利用ffmpeg 处理视频素材的文章就介绍到这了,更多相关Python ffmpeg 视频素材处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python如何利用ffmpeg处理视频素材

本文链接: https://lsjlt.com/news/158546.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python如何利用ffmpeg处理视频素材
    目录前言一、安装二、subprocess调用三、ffmpy3转码解复用复用拆分成图片四、最后前言 第一次处理视频素材可以手动用剪映来处理,然后再用代码进行自动化处理,不然连朝哪个方向...
    99+
    2024-04-02
  • Python怎么利用ffmpeg处理视频素材
    这篇文章主要介绍“Python怎么利用ffmpeg处理视频素材”,在日常操作中,相信很多人在Python怎么利用ffmpeg处理视频素材问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么利用ffm...
    99+
    2023-06-21
  • 如何使用FFmpeg视频处理
    这篇文章给大家分享的是有关如何使用FFmpeg视频处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。FFmpeg 是视频处理最常用的开源软件。它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube...
    99+
    2023-06-26
  • 如何利用FFmpeg合并音频和视频(多种方式)
    目录一、FFmpeg 多个音频合并的2种方法一种方法是连接到一起另一种方法是混合到一起音频文件截取指定时间部分音频文件格式转换二、FFmpeg合并视频文件的4种方法1.使用conca...
    99+
    2023-02-20
    FFmpeg合并音频和视频 FFmpeg合并音频 FFmpeg合并视频
  • Golang与FFmpeg: 利用命令行工具进行音视频处理
    Golang是一种编程语言,而FFmpeg是一个开源的音视频处理工具。在Golang中,我们可以利用命令行工具来调用FFmpeg进行...
    99+
    2023-10-08
    Golang
  • php如何利用ffmpeg获取视频第一帧为缩略图
    目录phpffmpeg获取视频缩略图1.环境2.centos7安装ffmpeg3.项目安装ffmpeg包4.php代码附Fmpeg读取视频信息总结php ffmpeg获取视频缩略图 ...
    99+
    2024-04-02
  • FFmpeg:如何制作 MP4 CENC(通用加密)视频
    要制作一个使用CENC(通用加密)的MP4视频,您可以使用FFmpeg工具来完成。下面是一些基本的步骤:1. 安装FFmpeg工具:...
    99+
    2023-09-27
    FFmpeg
  • 如何使用使用python+opencv解析视频并处理视频中的水印
    本篇内容主要讲解“如何使用使用python+opencv解析视频并处理视频中的水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用使用python+opencv解析视频并处理视频中的水印”...
    99+
    2023-06-02
  • 如何利用python处理原始音频数据
    目录一、基础知识二、转换函数三、片段特征函数四、片段操作一、基础知识 PCM(pulse code modulation) ,即脉冲编码调制,是将模拟信号转为数字信号的一种编码系统。...
    99+
    2024-04-02
  • javaCV视频处理之如何提取人像视频
    这篇文章主要为大家展示了“javaCV视频处理之如何提取人像视频”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javaCV视频处理之如何提取人像视频”这篇文章吧。效果图对比左侧的为原视频,右侧为...
    99+
    2023-06-22
  • 音视频处理工具FFmpeg与Java结合的简单使用
    一、什么是FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavco...
    99+
    2023-09-03
    ffmpeg 音视频
  • 如何利用Python观看爱奇艺VIP视频
    这篇文章主要介绍如何利用Python观看爱奇艺VIP视频,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、前言在现在这个快节奏的社会,人们所面临的压力日渐增大,一般人们会利用听歌看视频来舒缓下紧张的情绪,众所周知,很...
    99+
    2023-06-15
  • 如何使用PHP进行视频处理?
    随着网络技术的飞速发展,视频已经成为人们日常生活中不可或缺的一部分。在这个数字时代,如何使用PHP进行视频处理已经成为了一个热门话题,本文将介绍PHP的一些基本功能和工具,以帮助大家更好地处理视频。一、认识PHPPHP是一种高级程序设计语言...
    99+
    2023-05-22
    PHP 视频处理 多媒体应用
  • php如何处理视频不卡
    本文操作环境:Windows7系统、PHP7.1、Dell G3。php如何处理视频不卡?php如何切片处理视频大文件PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。file_uploads=on/off 是否允许通过ht...
    99+
    2019-12-23
    php
  • 如何使用Python的OpenCV库处理图像和视频
    目录介绍计算机视觉OpenCV应用:安装使用 OpenCV 处理图像1. 从文件中读取图像2. 调整图像大小:3. 旋转图像4. 翻转图像:5. 重写图像6. 裁剪图像7. 绘制形状...
    99+
    2024-04-02
  • 如何在JAVA中使用ffmepg处理视频
    如何在JAVA中使用ffmepg处理视频?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。FFmepg安装路径:然后在使用的类中生命一个全局变量就好 pr...
    99+
    2023-06-15
  • python环境下OPenCV处理视频流局部区域像素值
    参考我之前写的处理图片的文章:Python+OpenCV实现【图片】局部区域像素值处理(改进版) 开发环境:Python3.6.0 + OpenCV3.2.0 任务目标:摄像头采集图...
    99+
    2024-04-02
  • 如何使用PHP进行视频文件处理?
    视频文件处理是现代网络应用程序中必不可少的一部分,它包括裁剪、压缩、转码、添加水印和合并等操作。PHP 作为一种流行的服务器端编程语言,可以用于处理这些要求。在本文中,我们将介绍如何使用 PHP 处理视频文件。安装 FFMPEG 库FFMP...
    99+
    2023-05-14
    PHP 视频文件处理 处理技巧
  • 如何使用 PHP 函数处理视频数据?
    php 提供一系列视频处理函数,包括 ffmpeg_exec()、videoinfo()、vcodec() 和 acodec(),可用于转换格式、提取信息和获取编解码器信息。实战案例展示...
    99+
    2024-05-04
    php 视频处理
  • 如何利用VUE创建视频流应用
    目录前言插件配置srccontrolsautoplay视频播放控制总结前言 前面在文章《创建 Node.js 视频流应用之后端》展示了构建一个用于在线流媒体视频传输后端服务。本文将继...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作