1. 为iOS和Mac开发支持rtmp和flv的低延迟、秒开直播流播放器。
2. 可以通过打开rtmp或者flv的url来播放对应的视频直播流。
3. 通过获取西瓜视频的直播列表,来展示player核心功能。用苹果的原生网络框架实现了rtmp的协议,并且提供了低版本没有网络框架的降级方案。
1. 整体架构
播放器核心功能划分为【管线】和【渲染器】两部分
【管线】部分划分为
【解码器(Decoder)】解码音频和视频编码。
【解复用(Demuxer)】从直播流中解出视频和音频流
【加载器(Loader)】从网络或者文件中加载不同格式的流。
【渲染器】部分
将解码出来的视频和音频帧渲染到系统硬件。
2. 所有代码都由我独立开发。
3. 问题和解决方案
A. 用PT.H简化了复杂的flv协议解析状态机。让解析过程用同步代码流描述。
B. 根据社区和业界共识,在flv和rtmp格式的流中支持HEVC压缩编码格式。