![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NuPlayer
文章平均质量分 95
SuperDali
写写博客,记记生活
展开
-
NuPlayer源码分析一:播放器创建
摘要原创 2019-05-20 00:28:41 · 1968 阅读 · 5 评论 -
NuPlayer源码分析二:解封装模块
NuPlayer解封装模块 解封装模块的重要作用,是将封装好的音视频源文件,通过不同的封装协议,解析成码流后,送到解码器解码。 NuPlayer中和解封装相关的类有: NuPlayer::Source:解封装模块的基类,定义了解封装的基本接口。 GenericSource:本地文件相关。 HTTPLiveSource:HLS流媒体使用的解封装类。 RTSPSource:SDP协议媒体流使用的解封...原创 2019-05-27 23:33:33 · 1988 阅读 · 5 评论 -
NuPlayer源码分析三:解码模块
解码模块 NuPlayer的解码模块相对比较简单,统一使用了一个基类NuPlayerDecoderBase管理,该类中包含了一个MediaCodec的对象,实际解码工作全靠MediaCodec。 如果你不会知道MediaCodec是什么,推荐去官网看看:MediaCodec 尽管解码工作都被MediaCodec接管,我还是会按照播放器的一般步骤,来分析一下NuPlayerDecoderBase...原创 2019-05-27 23:37:38 · 1712 阅读 · 0 评论 -
NuPlayer源码分析四:渲染模块&音视频同步
渲染模块&音视频同步 渲染模块的作用是,将音频、视频数据安装一定的同步策略通过对应的设备输出。这是所有的播放器都不可或缺的模块。 NuPlayer的渲染类为Renderer,定义在NuPlayerRenderer.h文件中。它的主要功能有: 缓存数据 音频设备初始化&数据播放 视频数据播放 音视频同步功能 缓存数据 在表明缓存逻辑之前,先介绍一下NuPlayerRenderer...原创 2019-05-27 23:41:54 · 1998 阅读 · 10 评论