OPUS进行音频编码与解码
再进行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进行音频编码与解码相关推荐
- 音视频同步原理解析;音频编码和解码原理
视频流中的DTS/PTS到底是什么? DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳.SCR可以理解为解码器应该开始从磁盘读取数据时的时间. ...
- 音频编码分析:AAC、MP3、Opus
目录 AAC 一.定义 二.特点 1.优点 2.缺点 三.应用 MP3 一.定义 二.特点 1.优点 2.缺点 三.应用 OPUS 一.定义 二.特点 1.优点 2.缺点 三.应用 AAC 一.定义 ...
- 音频编码之opus(一)
最近项目中用到了语音编码opus,在网上搜了一下,资料非常少,而且没有一个完整的教程,现在简单记录下来opus的使用方法. 首先介绍一下opus Opus Opus编码器 是一个有损声音编码的格式,由 ...
- opus 编码和解码完整demo代码,opus和wav互转(js源码)
最近研究webRTC中的opus音频的解码.找了很多例子都不了.不是代码太老,就是运行环境有问题.因此,自己结合大神的示例,整理了编码和解码的完整demo源码. opus解码demo可将opus文件保 ...
- aac蓝牙编解码协议_蓝牙音频编码哪个音质好?今天我们来逐一解读
家有影院致力于帮助渴望学习.热爱电影.希望通过自己双手搭建出适合自己的家庭影院的朋友.如果你是这样的人,我们和500位同样热爱家庭影院的伙伴愿意一起帮助你实现梦想.同时,我们还能帮助你找到价格优惠的靠 ...
- 基于 CoreAudio 的音频编解码(二):音频编码
系列文章目录 基于 CoreAudio 的音频编解码(一):音频解码 基于 CoreAudio 的音频编解码(二):音频编码 前言 在 基于 CoreAudio 的音频编解码(一):音频解码 中,我们 ...
- 基于 FFMPEG 的音频编解码(三):音频编码
音频编码 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译 基于 FFMPEG 的音频编解码(二):音频解码 基于 FFMPEG 的音频编解码(三):音频编码 在前面文章中 ...
- 音视频编解码技术之音频编码基本概念介绍
音频编码基本概念介绍 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 1-1 什么是采样率 ...
- STM32的音频编码与在PC端的解码
STM32的音频编码与在PC端的解码 简介 STM32F4移植 编码 PC移植 解码 结尾 简介 能看到这篇文章的基本上都是有迫切需求的人,话不多说,切入正题 编解码库:Speex 编码硬件平台:ST ...
最新文章
- 不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
- javascript实现页面滚屏效果
- python高阶_Python高阶学习
- 数控车椭圆编程实例带图_邹军:数控车床任意位置椭圆宏程序的编程
- 一键卡iPhoneQQ在线
- Quartz.net在线Cron表达式解析工具
- 数据库设计员工管理系统
- python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
- 《华为基本法》读书笔记
- win11系统完全使用ie浏览器的方法
- 【学术】论文返修时,能否增加作者或变更作者顺序?
- 手机浏览器播放mp3等音乐(chrome特殊)
- linux怎么查看hwaddr_怎么查询linux centos mac地址
- 「PKUSC2018」星际穿越
- tomcat自动化部署(拉取\备份、部署、更新、回滚)
- 经验分享:半桥电路的工作原理及注意问题
- Bootstrap5 文字排版讲解
- 这次把怎么做好一个PPT讲清-其他技巧篇
- B0505S-1WR3 隔离模块DC/DC
- Nodejs如何连接Mysql