音视频学习流程

发布时间:2026/7/22 3:50:12
音视频学习流程 一、前置基础必须先搞定1. 数字媒体基础音频采样率、位深、声道、PCM 原始音频时域、频域基础傅里叶变换基础看懂原理即可不用手写 FFT响度、静音检测、重采样概念视频像素RGB、YUV重点YUV420P/422/444、full/limited range分辨率、帧率、逐行 / 隔行、色域 BT.601 / BT.709 / BT.2020图像采样、色彩空间转换公式目标能看懂原始 PCM、YUV 文件会用工具播放 raw 数据推荐工具前期必备ffplay播放 PCM/YUV、测试流Audacity音频波形分析YUV Player查看原始视频帧二、阶段 1容器封装 流媒体协议上层数据流解决问题音视频裸流怎么打包、怎么网络传输1. 封装格式容器MP4、FLV、TS、MKV、MOV 重点理解容器 ≠ 编码track、sample、pts/dts、duration、时间基 timebaseI/P/B 帧、关键帧、seek 原理2. 流媒体传输协议实时低延迟RTMP、WebRTC重中之重、SIP/RTP点播 / 直播分片HLS、DASH底层传输RTP/RTCP、UDP/TCP 差异网络基础jitter、丢包、延迟、抖动缓冲动手任务用 ffmpeg 推流、拉流抓包 wireshark 分析 RTP区分 “封装格式” 和 “传输协议”三、阶段 2音视频编解码核心难点音频编码AAC最常用ADTS、LC profileMP3、OPUS、AC3 概念熵编码、滤波器组、MDCT、声道耦合视频编码重点H.264 (AVC) NALU、SPS/PPS、帧类型、宏块、预测、熵编码 CAVLC/CABACH.265(HEVC)可选AV1、VP9不要一上来啃标准文档先看懂码流结构、NALU、帧时序关系动手练习分离 h264 裸流、分析 SPS解析 NALU 类型理解原始 YUV → 编码 → 码流 → 解码 → YUV四、阶段 3FFmpeg 体系工程最常用工具库学习顺序命令行 → API 开发1FFmpeg 命令先行录制、转码、裁剪、滤镜、推流、提取音视频、重采样、scale 缩放2libav API 架构avformat封装、avcodec编解码、avutil、swscale图像转换、swresample音频重采样 流程记忆plaintext打开输入 → 读取packet → 解码packet得到frame → 处理frame → 编码frame → 封装输出实操项目简易转码器播放器基础解封装 解码 渲染推流工具避坑不要直接复制网上过时 avcodec API 代码新旧接口差异很大五、阶段 4多媒体渲染 播放器架构音频播放SDL、OpenAL、ALSALinux、AudioTrack (Android)视频渲染OpenGL、Direct3D、Metal 核心概念音视频同步主音频时钟方案、缓冲队列、时钟同步模型可选学习 SDL FFmpeg 手写极简播放器行业经典练手项目六、阶段 5两大主流方向分支二选一深耕学完上面基础选择赛道方向 A实时通信 RTC直播、连麦、会议核心WebRTC学习清单RTP/RTCP、SRTP 加密JitterBuffer、拥塞控制、NACK、FECAEC 回声消除、AGC 降噪、VAD 静音检测多路混音、视频降噪、 simulcast 分层编码就业场景直播 SDK、视频会议、语音连麦方向 B媒体处理 转码 点播核心FFmpeg 深度定制、硬件编解码 学习清单VAAPI、NVENC、QSV、MediaCodec 硬编硬解滤镜开发、自定义滤镜分布式转码、码率控制 CRF/CBR/VBR自适应码率 HLS/DASH 打包就业场景云转码、短视频平台、点播系统七、阶段 6高阶底层进阶有需求再学编解码标准精读 H.264/H.265 specFFmpeg 源码阅读demuxer、解码器、滤镜DSP 音频算法、图像预处理OTN/IP 流媒体传输、NVR 安防媒体架构多线程媒体管线、内存模型、性能优化