FFmpeg初识

什么是FFmpeg?

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

强大的功能

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

FFmpeg主要构成

FuncNames Features
libavformat 用于各种音视频封装格式的生成和解析
libavcodec 用于各种类型声音/图像编解码
libavutil 包含一些公共的工具函数
libswscale 用于视频场景比例缩放、色彩映射转换
libpostproc 用于后期效果处理

FFmpeg常用参数

主要参数

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

音频参数

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

视频参数

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

FFmpeg命令分析

在HLS-搭建Nginx流媒体服务器(3)一文中,Richy通过ffmpeg实现将RTMP流HLS流推流至Nginx+RTMP流媒体服务器上,命令如下:

ffmpeg -re -i input.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/rtmplive/test

分析:
对输入源 input.mp4 进行: libx264视频编码,aac音频编码,设定音频采样率44100,视频分辨率1280x720
输出格式:flv
推流至流媒体服务器地址:rtmp://localhost:1935/rtmplive/test

最后

欢迎大家关注我们团队微信公众号,以及博客地址,在这里我们会实时与大家分享优质的技术文章。大家也可以加入我们的技术交流群(QQ群:343640780),共同探讨,共同进步。

联系我们

团队博客地址:http://www.52learn.wang
团队GitHub:https://github.com/wu2LearnTeam

你可能感兴趣的:(FFmpeg初识)