自学内容网 自学内容网

Harmony OS原生端渲染RTMP流功能实现

前段时间公司收到鸿蒙的邀请,希望我们加入鸿蒙的生态应用。领导要求我们将原先安卓SDK实现的功能在鸿蒙生态上1:1还原。相信这也是当前很多公司在做的事情。

我们项目原先有获取硬件实时视频流展示的需求,这块功能也耗费了两周的时间才打通测试完毕,抽时间整理一下之鸿蒙上播放Rtmp流所经历的各个步骤及遇到的问题。

首先我们需要在建立一个native工程

原先在安卓项目中,我们渲染opengl的数据采用的是GLSurfaceView,依赖Render去逐帧渲染。在harmony os中,渲染这类数据只能依赖XComponent这个控件,或者直接采用三方播放器ijkplayer去播放。最终我们采用XComponent实现了rtmp流的播放。

首先准备工作:

我们要基于鸿蒙的交叉编译环境编译出我们所需要的ffmpeg库,我是基于ffmpeg4.2编译出来的库,对应链接地址:https://download.csdn.net/download/Crazy9599/89886706

下面是鸿蒙交叉编译的步骤,大家可参考自行编译:

按步骤从环境搭建到编译命令可按顺序操作

​​​​​​​https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/doc/ohos_use_sdk/OHOS_SDK-Usage.md

https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/README.md#/openharmony-sig/tpc_c_cplusplus/blob/master/lycium/template/HPKBUILD

https://gitee.com/openharmony-sig/tpc_c_cplusplus/tree/master/thirdparty/FFmpeg

这里注意集成的方式,编译出的.so文件并不是直接粘出来就能够使用的。在鸿蒙工程中需要有两处存放.so文件的地方,编译出的.so.1这样的文件需要通过命令判断使用的是哪个so文件

下面就是将XComponent控件与native侧的视图进行绑定即可渲染出相应的rtmp流,具体等后面一篇文档再详细说明XComponent与native侧的绑定及回调


原文地址:https://blog.csdn.net/Crazy9599/article/details/142924524

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!