HarmonyOS HarmonyOS硬解码网络流的实现方式

通过私有协议将网络上的h264、h265原始码流(未使用mpeg4等封装格式)接收至本地后,怎样使用硬解码接口?参考demo文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/avcodec/video-decoding.md

结合demo上的示例,由demuxer读取文件fd的源数据得到OH_AVBuffer实例,但从头文件中未看到OH_AVBuffer的定义。只找到定义:typedef struct OH_AVBuffer OH_AVBuffer;没有更进一步的定义了。

问题:

  1. 从网络接收到视频数据buffer和length之后,怎样生成OH_AVBuffer实例?OH_AVBuffer_Create相关的接口也无法输入buffer和length参数;
  2. 由于我们拿到的是原始码流h264、h265,理论上不需要demuxer进行解封装,请问网络收流的场景,是否不需要使用demuxer对象;
  3. OH_AVBuffer_SetBufferAttr接口是针对OH_AVBuffer对象操作的,无法直接使用unsigned char *buffer和int length参数;
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

关于上面的问题,解答如下:

1、解码器Start后,输入回调OnNeedInputBuffer会不断被调起,每一次回调中能拿到一个OH_AVBuffer实例;因为编解码器给用户的buffer数量有限,需要用户及时调用OH_VideoDecoder_PushInputBuffer接口,将buffer及时送至解码器解码,实现buffer轮转。

2、不需要demuxer

3、强转一下只要能把网络流接受至本地这条路打通,之后的流程就按这个demo里的写法来就能调通的:https://gitee.com/openharmony/multimedia_av_codec/blob/master/test/unittest/video_test/video_test/sample/decoder/video_decoder_sample.cpp

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 解码视频能力如何
37浏览 • 1回复 待解决
HarmonyOS Native HEVC 解码问题
559浏览 • 1回复 待解决
HarmonyOS OH_AVCodec解码流程问题咨询
773浏览 • 1回复 待解决
【播放器】解码支持Demo
1877浏览 • 1回复 待解决
请提供HarmonyOS解demo
437浏览 • 1回复 待解决
HarmonyOS List瀑布实现方案
131浏览 • 1回复 待解决
解码播放大数据量问题
3188浏览 • 0回复 待解决
读取文件方式,有人知道吗?
1878浏览 • 1回复 待解决
HarmonyOS HarmonyOS视频和操作
33浏览 • 1回复 待解决
HarmonyOS 视频解输出
205浏览 • 1回复 待解决
解码数据帧送显三种方式
344浏览 • 1回复 待解决
HarmonyOS ArkTS 关于重载实现方式
36浏览 • 1回复 待解决
HarmonyOS 应用灰度设置实现方式
499浏览 • 1回复 待解决
HarmonyOS 分页列表实现方式
32浏览 • 1回复 待解决
瀑布场景推荐实现方案
1929浏览 • 1回复 待解决
实现文本编码和解码机制。
464浏览 • 1回复 待解决
HarmonyOS loading 跨页面实现方式?
35浏览 • 1回复 待解决
HarmonyOS JSBridge有哪些实现方式
46浏览 • 1回复 待解决