千锋教育-做有情怀、有良心、有品质的职业教育机构

Python 小工具 FFmpeg

来源:千锋教育
发布时间:2023-11-07 17:52:21
分享

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.png')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相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python 中闭包,闭包的实质 请大家跟我理解一下,如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。闭包:在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的
  • Python垃圾回收机制 pythonGC主要使用引用计数(referencecounting)来跟踪和回收垃圾。在引用计数的基础上,通过“标记-清除”(markandsweep)解决容器对象可能产生的循环引用问题,通过“分代
  • Python 函数式编程概述 1.1.什么是函数式编程?函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始终能产生同样的结果。在一个函数式的程序中
  • python 选择排序 原理选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理大致是将后面的元素最小元素一个个取出然后按顺序放置。步骤在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,再从
  • python 插入排序 原理插入排序(InsertionSort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。步骤从第一个元素开始,该元素可以认为
  • python 归并排序 原理归并操作(归并算法),指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。步骤1.迭代法申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列设定两个指针,最初