当前位置: 首页 > 后端技术 > Python

Python小工具:五分钟搞定一天的工作量,真香

时间:2023-03-26 17:19:10 Python

介绍FFmpeg是一个强大的音视频处理程序,也是很多音视频软件的基础。事实上,FFmpeg已经成为业界音视频处理的标准。但是在命令行使用FFmpeg有一定的学习成本,而ffmpeg-python库很好的解决了这个问题。通过pip简单安装后,ffmpeg可以在python代码中使用。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)我们可以通过流获取视频的一些基本信息,比如大小,时长,帧率等镜像处理#左右镜像ffmpeg.input(path).hflip().output('output.mp4').run()#上下镜像ffmpeg.input(path).vflip(.output('output.mp4').run()可以简单理解为英文单词horizo??ntal(水平)和vertical(垂直)的首字母缩写。添加水印main=ffmpeg.input(path)logo=ffmpeg.input('logo.png')ffmpeg.filter([main,logo],'overlay',0,500).output('out.mp4').命令run()表示将logo水印图像放在主视频上方,坐标为(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库,希望能给大家的工作/副业带来一些效率提升。以上就是本次分享的全部内容。觉得文章还不错的话,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能收到海量学习资料,涵盖Python电子书和教程,数据库编程、Django、爬虫、云计算等。或者去编程学习网了解更多编程技术知识。