|
|
本帖最后由 xusheng 于 2025-10-28 19:17 编辑
[问题确认]
接上文,Android媒体有两类播放通路,即:MediaPlayer通路 和 MediaCodec通路。两种通路情况,工作进程有哪些不同?
[问题分析]
1. proc文件节点分析
在没有播放媒体文件时,proc文件系统下的设备节点有:
1.1 通过腾讯视频APK播放流媒体视频时,proc文件系统下的设备节点有:
可以看到,多了vpss00 和 win0100 两个设备节点。
1.2 通过原生播放器播放本地媒体文件时,proc文件系统下的设备节点有:
可以看到,除了增加vpss00 、win0100两个节点外,还多了adec00、avplay00、player00、sync00、vdec00五个新的设备节点。
2. 进程分析
2.1 通过腾讯视频APK播放流媒体视频时,视频通路架构如下图:
对应的进程截图如下图,可以看到mediacodec进程运行中;
2.2 通过原生播放器播放本地媒体文件时,视频通路架构如下图:
对应的进程截图如下图,可以看到mediaserver进程运行中;
2.3 两种视频通路CPU的占用率如下。采用SDK原生播放器,媒体播放大部分会使用硬件模块实现,故CPU占用率低。
mediaserver 41.3%
44% user, 68% sys, 273% idle
mediacodec 5.6%
112% user, 68% sys, 212% idle
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|