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.鸿蒙南向开发方向

相关推荐
melonbo2 小时前
使用FFmpeg将H.264码流封装为MP4
ffmpeg·音视频·h.264
遇到困难睡大觉哈哈2 小时前
HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
华为·harmonyos
aqi004 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
幽蓝计划5 小时前
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
开发语言·harmonyos
伍哥的传说6 小时前
鸿蒙系统(HarmonyOS)应用开发之实现电子签名效果
开发语言·前端·华为·harmonyos·鸿蒙·鸿蒙系统
慢行的骑兵6 小时前
Android音视频探索之旅 | CMake基础语法 && 创建支持Ffmpeg的Android项目
ffmpeg·音视频
Just_Paranoid6 小时前
华为云Flexus+DeepSeek征文|基于Dify构建音视频内容转录工作流
华为云·音视频·dify·maas·deepseek·flexusx
go54631584657 小时前
修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
人工智能·算法·机器学习·架构·音视频·无人机
Georgewu8 小时前
【HarmonyOS】应用开发拖拽功能详解
harmonyos
塞尔维亚大汉8 小时前
鸿蒙内核源码分析(构建工具篇) | 顺瓜摸藤调试鸿蒙构建过程
源码·harmonyos