首页 / 知识
Python 小工具 FFmpeg
2023-11-12 13:31:00
FFmpeg是一套强大的音视频处理程序,也是很多音视频软件的基础,事实上,FFmpeg已经成为业界音视频处理的标准了。但命令行使用FFmpeg是有一定学习成本的,而ffmpeg-python库则很好的解决了这个问题。
通过pip简单安装之后即可在python代码中使用ffmpeg。
pip3installffmpeg-python
获取视频信息
path='main.mp4'probe=ffmpeg.probe(path)video_stream=next((streamforstreaminprobe['streams']ifstream['codec_type']=='video'),None)width=int(video_stream['width'])height=int(video_stream['height'])print(width,height)
我们可以通过stream来获取视频的一些基础信息,比如尺寸、时长、帧率等。
镜像处理
#左右镜像ffmpeg.input(path).hflip().output('output.mp4').run()#上下镜像ffmpeg.input(path).vflip().output('output.mp4').run()
可以简单的理解为英文单词横向(horizontal)和纵向(vertical)的首字母缩写。
添加水印
main=ffmpeg.input(path)logo=ffmpeg.input('logo.webp')ffmpeg.filter([main,logo],'overlay',0,500).output('out.mp4').run()
这条命令的意思是,将logo水印图片放置在main视频的上方,坐标为(0,500)。可以把视频的左上角理解为原点(0,0)的位置,从原点向右和向下分别表示x轴和y轴。
当然,如果把logo做的足够大,比视频还要大,然后换一下双方的位置,那就会变成将视频放到logo上了,其实相当于给视频加了一个背景图。
ffmpeg.filter([logo,main],'overlay',0,500).output('out.mp4').run()
视频截取
ffmpeg.input(path).trim(start_frame=10,end_frame=20).output('out3.mp4').run()
这条命令看起来就很容理解,start_frame和end_frame分别代表起始结束帧。
视频拼接
base=ffmpeg.input(path)ffmpeg.concat(base.trim(start_frame=10,end_frame=20),base.trim(start_frame=30,end_frame=40),base.trim(start_frame=50,end_frame=60)).output('out3.mp4').run()
视频拼接使用concat函数即可。
以上内容为大家介绍了Python小工具FFmpeg,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规如何提速优化python代码?
如何提速优化python代码?,代码,时间,数据,新增,写法,包装,情况,下来,面临,工作,Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方Python标准库之collections模块
Python标准库之collections模块,名字,标准,信息,电话号码,培训,工厂,位置,简介,异常,对象,collections模块简介collections是Python标准库里Python标准库的学习准备
Python标准库的学习准备,标准,概念,网络,基础,系统,工作,培训,数据,基础知识,信息,Python标准库是Python强大的动力所在,我们已经在前文中有所python强大的标准库
python强大的标准库,标准,网络,系统,时间,通信,数字,管理,培训,文本,功能,Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串python阅读代码有助于养成优秀的代
python阅读代码有助于养成优秀的代码风格,代码,培训,统一,项目,名字,风格,注释,可读性,顾名思义,成份,“优秀的代码不需要文档”,这句话虽然说Python基础
Python基础,工具,名字,情况,基础,标准,模块,培训,系统,第三,代码,什么是模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些Python基础之numpy中的常见函数有
Python基础之numpy中的常见函数有哪些,数组,基础,培训,元素,方向,矩阵,函数,乘积,维度,索引,有些Python小白对numpy中的常见函数不太了解,今天python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方python怎么导入图片?
python怎么导入图片?,图片,培训,文件,前缀,文件夹,符号,命令,以上,方法,更多,python导入图片的方法:一、直接从源图片中导入(图片位于images文如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保Python写完代码怎么用
Python写完代码怎么用,代码,下来,数字,概念,培训,文本,模式,文件,程序,路径,python运行有两种方式,一种是在python交互式命令行下运行;另一种