什么是FFmpeg?

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg官网:https://ffmpeg.org

强大的功能

FFmpeg有非常强大的功能包括:视频采集、视频格式转化、视频截图、视频添加水印、视频切片(m3u8、ts)、视频录制、视频推流、更改音视频参数(编码方式、分辨率、码率、比特率等)功能,等等...

FFmpeg主要构成

FuncNamesFeatures

libavformat用于各种音视频封装格式的生成和解析

libavcodec用于各种类型声音/图像编解码

libavutil包含一些公共的工具函数

libswscale用于视频场景比例缩放、色彩映射转换

libpostproc用于后期效果处理

FFmpeg常用参数

主要参数

  • i 设定输入流
  • f 设定输出格式

音频参数

  • ar 设定采样率
  • ac 设定声音的Channel数
  • acodec 设定声音编解码器,未设定则使用与输入流相同的编解码器
  • an 不处理音频

视频参数

  • b 设定视频流量,默认为200Kbit/s
  • r 设定帧速率,默认为25
  • s 设定画面的宽与高
  • aspect 设定画面的比例
  • vn 不处理视频
  • vcodec 设定视频编解码器,未设定则使用与输入流相同的编解码器

FFmpeg命令分析