我正在浏览Android
Stagefright
中的流式播放用例,并且不清楚架构和实现。
我要求读者/专家解释负责流媒体用例的主要组件。我听说正在使用ACodec
代替OMXCodec
来实现流式播放。
ACodec
支持的额外实施/功能以及Stagefright
未重用OMXCodec
的原因。
请您指出Stagefright
代码中的重要链接。
答案 0 :(得分:1)
对于流式传输,Stagefright
框架有不同的处理方式。从广义上讲,有2个玩家和相应的工厂,即StagefrightPlayer
和NuPlayer
。
StagefrightPlayer
用作默认播放器,其中NuPlayer
用于NuPlayerFactory
中实现的rtsp
, m3u8
(MP3
playlist), sdp
播放。
NuPlayer
。
StagefrightPlayer
内部也会创建AwesomePlayer
which handles http
/https
and Widevine
流媒体。
现在来ACodec
和OMXCodec
彼此非常接近,因为它们抽象了OMX
组件。 ACodec
是MediaCodec
的底层实现,它是Android在最近发布的版本中公开的模块化界面。
但有一点不同的是,prepending SPS
/PPS
to IDR
in case of Miracast
,Adaptive Playback
等新功能仅包含在ACodec
中,而不包含在OMXCodec
中。