有小伙伴说直接用 python 的 ffmpeg 库更香,刚好今天领导安排了一个给视频批量加水印的任务,咱就拿它来试试水。
简介
FFmpeg 是一套强大的音视频处理程序,也是很多音视频软件的基础,事实上,FFmpeg 已经成为业界音视频处理的标准了。但命令行使用 FFmpeg 是有一定学习成本的,而 ffmpeg-python 库则很好的解决了这个问题。
通过 pip 简单安装之后即可在 python 代码中使用 ffmpeg。
pip3 install ffmpeg-python
获取视频信息
path = 'main.mp4'
probe = ffmpeg.probe(path)
video_stream = next((stream for stream in probe['streams'] if stream['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)和纵向(verti