Python 小工具 FFmpeg
推荐
在线提问>>
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培训机构:千锋教育。