OpenHarmony音视频—opus

简介

Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。

下载安装

直接在OpenHarmony-SIG仓中搜索opus并下载。

使用说明

以OpenHarmony 3.1 Beta的rk3568版本为例

  1. 将下载的opus库代码存在以下路径:./third_party/opus

  2. 修改添加依赖的编译脚本,路径:/developtools/bytrace_standard/ohos.build

    {
    "subsystem": "developtools",
    "parts": {
    "bytrace_standard": {
    "module_list": [
    "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "//developtools/bytrace_standard/bin:bytrace_target",
    "//developtools/bytrace_standard/bin:bytrace.cfg",
    "//developtools/bytrace_standard/interfaces/kits/js/napi:bytrace",
    "//third_party/opus:opus_targets",
    ],
    "inner_kits": [
    {
    "type": "so",
    "name": "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
    "header": {
    "header_files": [
    "bytrace.h"
    ],
    "header_base": "//developtools/bytrace_standard/interfaces/innerkits/native/include"
    }
    }
    ],
    "test_list": [
    "//developtools/bytrace_standard/bin/test:unittest"
    ]
    }
    }
    }

  3. 编译:./build.sh --product-name rk3568 --ccache

  4. 生成库文件和一些可执行测试文件,路径:out/rk3568/developtools/profiler

接口说明

  1. 解码多流Opus数据包: opus_multistream_decode()
  2. 使用浮点输出解码多流Opus数据包: opus_multistream_decode_float()
  3. 分配和初始化多流解码器状态: opus_multistream_decoder_create()
  4. 在多流Opus解码器上执行CTL功能: opus_multistream_decoder_ctl()
  5. 释放已分配的OpusMSDecoder: opus_multistream_decoder_destroy()
  6. 获取OpusMSDecoder结构的大小: opus_multistream_decoder_get_size()
  7. 初始化以前分配的解码器状态对象: opus_multistream_decoder_init()
  8. 对多流Opus帧进行编码: opus_multistream_encode()
  9. 从浮点输入对多流Opus帧进行编码: opus_multistream_encode_float()
  10. 分配和初始化多流编码器状态: opus_multistream_encoder_create()
  11. 在多流Opus编码器上执行CTL功能: opus_multistream_encoder_ctl()
  12. 释放已分配的OpusMSEncoder: opus_multistream_encoder_destroy()
  13. 获取OpusMSEncoder结构的大小: opus_multistream_encoder_get_size()
  14. 初始化以前分配的多流编码器状态: opus_multistream_encoder_init()

约束与限制

在下述版本验证通过:

DevEco Studio 版本:3.1 Beta1(3.1.0.200),SDK:API9 Beta5(3.2.10.6)

目录结构

复制代码
|---- opus
|     |---- celt                                 #低延迟CELT
|     |---- doc                                  #资源文件及说明文档
|     |---- include                              #头文件
|     |---- m4                                   #预处理文件
|     |---- scripts                              #脚本文件
|     |---- silk                                 #语音编解码器Silk
|     |---- src                                  #opus实现                      
|           |---- opus_decoder.c                 #opus解码器
|           |---- opus_demo.c                    #opus示例
|           |---- opus_encoder.c                 #opus编码器
|           |---- opus_multistream_decoder.c     #opus多流解码器
|           |---- opus_multistream_encoder.c     #opus多流编码器
|     |---- tests                        #测试文件
|     |---- win32                        #win32项目和生成自动化
|     |---- README.md                    #安装使用方法

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题

2.性能优化方向

3.架构方向

4.鸿蒙开发系统底层方向

5.鸿蒙音视频开发方向

6.鸿蒙车载开发方向

7.鸿蒙南向开发方向

相关推荐
马剑威(威哥爱编程)5 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
1***Q7845 小时前
HarmonyOS在智能汽车中的V2X通信
华为·汽车·harmonyos
p***c9495 小时前
HarmonyOS应用分发
华为·harmonyos
4***14907 小时前
HarmonyOS在智能电视中的语音交互
华为·harmonyos·智能电视
万能的小裴同学9 小时前
Android M3U8视频播放器
android·音视频
音视频牛哥9 小时前
轻量级RTSP服务的工程化设计与应用:从移动端到边缘设备的实时媒体架构
人工智能·计算机视觉·音视频·音视频开发·rtsp播放器·安卓rtsp服务器·安卓实现ipc功能
❀͜͡傀儡师10 小时前
Docker部署视频下载器
docker·容器·音视频
威哥爱编程13 小时前
鸿蒙6开发中,UI相关应用崩溃常见问题与解决方案
harmonyos·arkts·arkui
威哥爱编程13 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
harmonyos·arkts·arkui
EasyDSS13 小时前
视频推流平台EasyDSS无人机推流技术打造大型安保巡逻监控新模式
音视频·无人机