ffmpeg 简介
FFmpeg 是一款免费的、开源的跨平台音视频处理工具,旨在提供高质量、高速度的多媒体处理功能,FFmpeg 设计以流式处理音视频。
FFmpeg 目前已成为业界公认的最强大、最全面的音视频处理工具之一,得到了广泛的应用。绝大多数的音视频相关应用和工具库,都直接或间接地引用了 FFmpeg。
FFmpeg 的开发始于2000年,最初由法国程序员 Fabrice Bellard 发起,后来有越来越多的开源贡献者参与。目前 FFmpeg 由一支由多名开发者组成的团队维护和开发。
音视频开发要掌握图像,视频,音频的基础知识,并学会如何对他们进行采集,渲染,处理,传输等一系列开发和应用。
采集解决了数据从哪里来的问题,渲染解决的是数据怎么崭新的问题,处理解决的是数据怎么加工的问题,传输解决的是数据怎么共享的问题。这里的每一个门类都可以深挖,衍生出一 个个充满技术挑战的话题。
1、音视频基础
1.1 音频基础知识
-
如何采集声音-模数转换原理
-
为什么高品质音频采样率>=44.1Khz
-
什么是PCM
-
一个采样点用多少位表示
-
采样值用整数还是浮点数表示
-
音量大小和采样值大关系
-
多少个采样点作为一帧数据
-
左右通道的采样数据如何排列
-
什么是PCM(脉冲编码调制)
-
音频编码原理
1.2 视频基础知识
-
RGB彩色原理
-
为什么需要YUV格式
-
什么是像素
-
分辨率、帧率、码率
-
YUV数据存储格式区别
-
YUV内存对齐问题
-
为什么画面显示绿屏
-
H264编码原理
-
H264 I P B帧的关系
1.3 解复用基础知识
-
什么是解复用,比如MP4格式
-
为什么需要不同的复用格式MP4/FLV/TS
-
常见的复用格式MP4/FLV/TS
1.4 FFmpeg6.0开发环境搭建
-
Windows、Ubuntu、MAC三大平台
-
QT安装
-
FFmpeg命令行环境
-
FFmpeg API环境
-
FFmpeg编译
-
vs2019安装(win平台)
1.5 音视频开发常用工具
-
MediaInfo,分析视频文件
-
VLC播放器,播放测试
-
EasyICE,分析TS流
-
flvAnalyser,分析FLV
-
mp4box,分析mp4
-
audacity,分析音频PCM
-
Elecard_streamEye,分析H264
-
海康YUVPlayer,分析YUV
2、FFmpeg6.0基石
2.1 FFmpeg命令
-
音频PCM/AAC文件提取
-
视频YUV/H264文件提取
-
解复用、复用
-
音视频录制