linux怎么查看本机内存大小
287
2022-11-14
OpenHarmony3.1媒体能力全景
一、背景
二、OpenHarmony3.1媒体能力全景
OH技术架构如下图所示,完成视频文件播放功能的是多媒体子系统。
多媒体子系统框架如下图所示:
三、H264视频播放道路
大象装进冰箱分几步,我们来看视频播放流程:
根据视频播放的步骤,我们在OH上每一个环节都能找到对应的插件来完成:
1、对于一个本地视频文件(比如uri=file:///data/h264-640x480.mp4),对应的filesrc插件来完成文件的解析,拿到MP4文件流;
2、拿到MP4文件流后,对应的qtdemux插件来解封装,完成音视频分流,输出H264裸码流和音频流;
4、处理H264帧数据,就由avdec_h264插件来完成,一般情况会输出NV12的像素数据,当然这个解码器是基于ffmpeg的软解插件,相信不久各个芯片厂商的硬件加速解码器都会加进来;
再加上audio的插件解码出音频数据,OH的player会完成音视频同步,至此一个视频文件就会播放显示在屏幕上。
在OH为了更好的用户体验,同时也引入了一些解决性能问题的插件,比如multiqueue插件来实现buffer队列,也使用decodebin高级插件来完成解码element的选择。
最终我们可以梳理出来一条播放的pipeline:
我们也可以使用gst-launch手动创建pipeline来验证:
gst-launch --gst-plugin-path=/system/lib/media/plugins filesrc location=/data/media/h264.mp4 ! qtdemux ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! surfacememsink
审核编辑 :李倩
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~