再进行OPUS编码与解码的时候,走了许多弯路。以下介绍一下实现OPUS编码与解码的步骤。

1. 去官网或者github找到能调通的源码,生成出相应的库opus.lib

2.在自己的项目中,把.h和.lib添加到工程里面(VS项目右键属性 VC++目录,然后库目录和包含目录)。

3.创建编码器或者解码器

enc = opus_encoder_create(kDefaultSampleRate, 2, OPUS_APPLICATION_AUDIO, &error);

dec = opus_decoder_create(kDefaultSampleRate, 2, &error);

参数具体含义可以去opus官网下载pdf或者直接在官网也可以看,比任何地方将的都详细。

4.编码或者解码数据

int encodeBack = opus_encode(enc, pcm_bytes, frame_size, opus_data_encoder, 960);

int de_frame_size = opus_decode(dec, opus_data_encoder, encodeBack, _ini_pcm_bytes, frame_size, 0);

你没看错,就是这么简单,创建,然后直接用。复用时,用它的init()函数。

5.记得释放。opus_decoder_destroy(dec);

走过的坑。 这是一个前后编解码数据相关联的编码解码方式,所以,编码解码的过程中,同一段音频,必须得用同一个编码或者解码器。只有真正结束了,才能释放,不然可能会出现意想不到得结果。

本人写了一个简单得入门得小demo,可以直接跑帮你快速上手。需要的购买。售后问题可沟通。

QQ:765490023

OPUS进行音频编码与解码相关推荐

  1. 音视频同步原理解析;音频编码和解码原理

    视频流中的DTS/PTS到底是什么? DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳.SCR可以理解为解码器应该开始从磁盘读取数据时的时间. ...

  2. 音频编码分析:AAC、MP3、Opus

    目录 AAC 一.定义 二.特点 1.优点 2.缺点 三.应用 MP3 一.定义 二.特点 1.优点 2.缺点 三.应用 OPUS 一.定义 二.特点 1.优点 2.缺点 三.应用 AAC 一.定义 ...

  3. 音频编码之opus(一)

    最近项目中用到了语音编码opus,在网上搜了一下,资料非常少,而且没有一个完整的教程,现在简单记录下来opus的使用方法. 首先介绍一下opus Opus Opus编码器 是一个有损声音编码的格式,由 ...

  4. opus 编码和解码完整demo代码,opus和wav互转(js源码)

    最近研究webRTC中的opus音频的解码.找了很多例子都不了.不是代码太老,就是运行环境有问题.因此,自己结合大神的示例,整理了编码和解码的完整demo源码. opus解码demo可将opus文件保 ...

  5. aac蓝牙编解码协议_蓝牙音频编码哪个音质好?今天我们来逐一解读

    家有影院致力于帮助渴望学习.热爱电影.希望通过自己双手搭建出适合自己的家庭影院的朋友.如果你是这样的人,我们和500位同样热爱家庭影院的伙伴愿意一起帮助你实现梦想.同时,我们还能帮助你找到价格优惠的靠 ...

  6. 基于 CoreAudio 的音频编解码(二):音频编码

    系列文章目录 基于 CoreAudio 的音频编解码(一):音频解码 基于 CoreAudio 的音频编解码(二):音频编码 前言 在 基于 CoreAudio 的音频编解码(一):音频解码 中,我们 ...

  7. 基于 FFMPEG 的音频编解码(三):音频编码

    音频编码 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译 基于 FFMPEG 的音频编解码(二):音频解码 基于 FFMPEG 的音频编解码(三):音频编码 在前面文章中 ...

  8. 音视频编解码技术之音频编码基本概念介绍

    音频编码基本概念介绍 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 1-1 什么是采样率 ...

  9. STM32的音频编码与在PC端的解码

    STM32的音频编码与在PC端的解码 简介 STM32F4移植 编码 PC移植 解码 结尾 简介 能看到这篇文章的基本上都是有迫切需求的人,话不多说,切入正题 编解码库:Speex 编码硬件平台:ST ...

最新文章

  1. 不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
  2. javascript实现页面滚屏效果
  3. python高阶_Python高阶学习
  4. 数控车椭圆编程实例带图_邹军:数控车床任意位置椭圆宏程序的编程
  5. 一键卡iPhoneQQ在线
  6. Quartz.net在线Cron表达式解析工具
  7. 数据库设计员工管理系统
  8. python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
  9. 《华为基本法》读书笔记
  10. win11系统完全使用ie浏览器的方法
  11. 【学术】论文返修时,能否增加作者或变更作者顺序?
  12. 手机浏览器播放mp3等音乐(chrome特殊)
  13. linux怎么查看hwaddr_怎么查询linux centos mac地址
  14. 「PKUSC2018」星际穿越
  15. tomcat自动化部署(拉取\备份、部署、更新、回滚)
  16. 经验分享:半桥电路的工作原理及注意问题
  17. Bootstrap5 文字排版讲解
  18. 这次把怎么做好一个PPT讲清-其他技巧篇
  19. B0505S-1WR3 隔离模块DC/DC
  20. Nodejs如何连接Mysql

热门文章

  1. 3-python 函数篇
  2. SpringBean篇 (2) 注解配置形式
  3. Vert.x安装指南
  4. js 模拟浏览器的并行请求限制
  5. 单精度浮点数转化为十进制数的原理
  6. 【区块链】深入剖析免费赚钱app的本质
  7. 小觅智能亮相CAIS 2019 荣登最具商业价值AI企业百强榜
  8. 关于订单功能的处理和分析
  9. MMA-mathematica绘图
  10. 最大子序列之和(C语言)