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侧的绑定及回调

相关推荐
less_1213815 小时前
HarmonyOS WPS Open SDK:打开时配置水印与修订模式
华为·harmonyos·wps
HarmonyOS_SDK18 小时前
差异化推送消息能力,助力腕上支付业务闭环
harmonyos
小雨青年21 小时前
【HarmonyOS 7 沉浸光感深度实战】 03 五档 ImmersiveStyle 到底怎么选
华为·harmonyos
云端漫步19871 天前
HarmonyOS NEXT AI 智能生活助手:性能优化
华为·性能优化·生活·harmonyos
云端漫步19871 天前
HarmonyOS NEXT AI 智能生活助手:统一 AIService 封装
人工智能·华为·生活·harmonyos
深圳元器猫1 天前
从分立到集成:RX8130CE RTC时钟模块架构解析与选型实战
架构·实时音视频
云端漫步19871 天前
HarmonyOS NEXT AI 智能生活助手:设置中心开发
人工智能·华为·生活·harmonyos
用户0934077735141 天前
HarmonyOS WPS Open SDK 实践:关文档后怎么把结果拿回本应用
harmonyos
less_121381 天前
HarmonyOS WPS Open SDK:用 extraOptions 管住分享打印与导出
深度学习·harmonyos·wps
less_121381 天前
HarmonyOS WPS Open SDK:OpenFileRequest 只读与可编辑模式控制
深度学习·harmonyos·wps