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简介 FFmpeg命令行工具介绍 FFmepg类库介绍 参考 [1] FFmpeg官网介绍[ht...
    smallest_one阅读 1,461评论 0 1
  • ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分,其有很多...
    城市之光阅读 6,885评论 3 6
  • 一、FFmpeg推RTMP流准备工作 首先确保自已已经安装了nginx + rtmp服务器。 打开配置文件ngin...
    爱死了昨天阅读 2,351评论 0 5
  • 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_fi...
    XLAccount阅读 3,100评论 0 8
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,581评论 16 22