音视频数据解析
前段时间拜读了雷霄骅大佬的音视频教程,并运行了相关实例代码。由于代码使用 VC++2011 版本开发,相对较老且 FFmpeg 版本较低。在运行的过程中,碰到了一些问题,顺便做了一些改动,主要是将工程改成由 CMake 来管理,并升级了 FFmpeg 版本。而这篇文章是其中的一篇,主题是关于音视频数据解析,在此记录下来方便后续查看。
改动
- 编译环境改为 CMake 来管理,支持 Clion IDE。
代码说明
功能说明
- 像素数据处理程序。包含RGB和YUV像素格式处理的函数。
- 音频采样数据处理程序。包含PCM音频采样格式处理的函数。
- H.264码流分析程序。可以分离并解析NALU。
- AAC码流分析程序。可以分离并解析ADTS帧。
- FLV封装格式分析程序。可以将FLV中的MP3音频码流分离出来。
- UDP-RTP协议分析程序。可以将分析UDP/RTP/MPEG-TS数据包。
文件说明
- simplest_mediadata_aac.cpp: ACC 解析函数。
- simplest_mediadata_flv.cpp: FLV 解析函数。
- simplest_mediadata_h264.cpp:H264 解析函数。
- simplest_mediadata_raw.cpp: YUV/RGB 解析函数。
- simplest_mediadata_udp.cpp:UDP-RTP 解析函数。
- simplest_mediadata_main.cpp:主函数。
源文地址
- 视音频数据处理入门:RGB、YUV像素数据处理
- 视音频数据处理入门:PCM音频采样数据处理
- 视音频数据处理入门:H.264视频码流解析
- 视音频数据处理入门:AAC音频码流解析
- 视音频数据处理入门:FLV封装格式解析
- 视音频数据处理入门:UDP-RTP协议解析
github地址:https://github.com/noahsarkzhang-ts/SimplestMediaDataTest