FFmpeg方法用法大全【欢迎补充】

发布时间 2023-07-31 20:44:47作者: cashjay

1.定义

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。——摘自百度百科

2.下载

进入官网下载页面,如下图,根据自己操作系统不同Archtecture,Linking选择Static后点击DownloadBuild开始下载。

3.使用

3.1 视频裁剪


示例:ffmpeg -i origin.mp4 -vcodec copy -acodec copy -ss 00:01:26 -to 00:01:30 output.mp4 -y
解释:ffmpeg -i 原始视频文件 -vcodec copy -acodec copy -ss 开始时间 -to 结束时间 处理后视频文件 -y


3.1 去除水印


示例:ffmpeg -i origin.mp4 -vf delogo=1000:32:260:86 output.mp4
解释:ffmpeg -i 原始视频文件 -vf delogo=x:y:w:h 处理后视频文件,x,y为距左上角坐标,w,h为水印的宽度和高度,如图3.1所示,我们想去除右上角的“字幕放送”的水印,可以使用ffmpeg -i origin.mp4 -vf delogo=1000:32:260:86 output.mp4,水印去除后如图3.2所示。

图3.1 包含水印的图图1

图3.2 去除水印后的图在这里插入图片描述


3.3 添加LOGO


示例:ffmpeg -i output.mp4 -i pptv.png -filter_complex overlay=W-w output1.mp4
解释:ffmpeg -i 原始视频文件 -i logo图片文件 -filter_complex overlay=W-w 处理后视频文件,logo图片最好是png类型的,如图3.3所示,我们添加了个pptv的logo在右上角,这里是把3.2中去除水印后的视频最为本节的原始视频,当然也可以将logo放在别处,如下所示:

左上角:ffmpeg -i output.mp4 -i pptv.png -filter_complex overlay output3.mp4
右上角:ffmpeg -i output.mp4 -i pptv.png -filter_complex overlay=W-w output4.mp4
左下角:ffmpeg -i output.mp4 -i pptv.png -filter_complex overlay=0:H-h output5.mp4
右下角:ffmpeg -i output.mp4 -i pptv.png -filter_complex overlay=W-w:H-h output6.mp4

图3.3 包含pptvLOGO的图
在这里插入图片描述


3.4 提取封面


示例:ffmpeg -i output.mp4 -ss 00:00:00 -t 1 -r 1 -q:v 2 -f image2 cover.jpg
解释:ffmpeg -i 原始视频文件 -ss 00:00:00 -t 1 -r 1 -q:v 2 -f image2 封面图片文件,-ss开始时间,-t共需多少时间,-r代表每秒的帧数,-q:v代表存储图片质量。这里为了简单,我们将第一帧的图片作为我们的封面。


3.5 提取音频


示例:ffmpeg -i origin.mp4 -acodec copy -vn voice.aac
解释:ffmpeg -i 原始视频文件 -acodec copy -vn 输出音频文件


3.6 提取视频


示例:ffmpeg -i origin.mp4 -vcodec copy -an video0.mp4
解释:ffmpeg -i 原始视频文件 -acodec copy -vn 输出视频文件