ffmpeg使用教程

#安装

ffmpeg是一款处理视频的软件,包含常用的转码,截图等功能。

转码部分包含转换成我们常用的mp4格式,m3u8格式,m3u8+key格式。m3u8直播格式等

官网:https://ffmpeg.org/

安装方法很简单,以windows为例,下载ffmpeg放到任意文件夹里即可。需要注意的就是如果需要用到加密key的m3u8,则需要将ffmpeg添加到环境变量中。

比如您将ffmpeg安装在D盘下,添加到环境变量中的路径应该为:D:\ffmpeg\bin,关于怎么添加环境变量,请自行搜索教程

如果不安装到环境变量,则使用时需要点击系统>运行,输入cmd,调出cmd窗口,输入d:(回车),输入 cd ffmpeg(回车),下面就可以执行下面的命令进行转码操作

#ffmpeg的简单使用

一:将input.avi转换成output.mp4:

ffmpeg -i input.avi output.mp4

二:增加一些要求:

ffmpeg -threads 4 -i input.avi -ab 32 -flags +loop  -vol 200 -vf yadif input.mp4

-ab:设置比特率

-vol:音量提高到200%

三:转码时修改尺寸:

ffmpeg  -i input.avi -s 640x320 input.mp4

四:将视频转成m3u8点播文件

ffmpeg.exe -i input.avi -strict -2  -hls_time 10 -hls_list_size 0 -c:v libx264 -c:a aac -f hls input.m3u8

-hls_time 10:每个ts文件10秒左右。这个会根据具体情况,尽量维系在10秒一个ts

-hls_list_size 0:m3u8索引里保留所有的ts路径

五:将视频转成加密的m3u8点播文件

ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -hls_time 10 -hls_list_size 0 -hls_key_info_file key_info input.m3u8

key_info需要替换成自己的路径,因为需要加密,所以需要准备二个文件一个是:key.key,一个是key_info。详细的不在这里作介绍,如果有兴趣可以看视频实际了解详细使用方法。

六:截图:

ffmpeg -ss 00:02:06 -i input.mp4 -f image2 -y poster.jpg

-ss:截图的时间点

七:连续截图:

ffmpeg -y -i input.mp4 -vf "fps=1/2,scale=iw/4:-1,tile=10x10" -an %d.png

fps=1/2:每2秒截一张图,如果是每秒截一张的话应该是fps=1

scale:所截图片大小,上面的代码是设置宽为原始的1/4大小,高度自动,相当于iw/4:ih/4,也可以设置成固定值如120:80

tile:网格化,自动将100张图合并成一张大图

八:连续截图的另外一个方法

ffmpeg -i my_dream.mp4 -vf fps=1/2 -q:v 2 -s 120x67 preview/%d.png

fps=1/2:每2秒截一张图,如果是每秒截一张的话应该是fps=1

-s:尺寸

这种方式截出来的是小图,需要自己再拼合。