问题标签 [opus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
873 浏览

codec - 在 Freeswitch 中将默认(传出)编解码器更改为 OPUS

我是 Freeswitch 的新手。我想将默认编解码器更改为 OPUS。我根据 https://freeswitch.org/confluence/display/FREESWITCH/Codecs+and+Media对 vars.xml,dingaling.xml 进行了更改。我也加载了 mod_opus 模块。

但我仍然按照链接在 PCMA/PCMU 中接收 RTP。当我执行 eval $${global_codec_prefs} 时,我得到 OPUS、PCMA、PCMU、VP8。请让我知道我错过了什么。

另外,我使用 PJSIP 作为 SIP 客户端之一。我是否也需要对 PJSIP 进行任何更改?

0 投票
0 回答
1290 浏览

android - 使用 Opus 编解码器的 Android 语音活动检测 (VAD)

据我了解,Android 从 5.0 开始支持 Audio Codec Opus。( https://developer.android.com/guide/appendix/media-formats.html ) 这个编解码器应该存储 VAD 数据,可以解析。

有没有人设法在 Android 中实现这一点,并且有任何在线示例吗?我专门寻找音频的记录/保存,然后从这些文件中解析 VAD 数据。

0 投票
1 回答
4357 浏览

ffmpeg - ffmpeg 不尊重作品输出中的采样率

我正在捕获 Opus 的实时音频流,无论我为音频采样率选择什么,我都会得到 48khz 的输出。

这是我的命令行

./ffmpeg -f alsa -ar 16000 -i sysdefault:CARD=CODEC -f alsa -ar 16000 -i sysdefault:CARD=CODEC_1 -filter_complex join=inputs=2:channel_layout=stereo:map=0.1-FR\|1.0- FL,asetpts=expr=N/SR/TB -ar 16000 -ab 64k -c:a opus -vbr off -compression_level 5 output.ogg

这就是 ffmpeg 的回应:

输出 #0,ogg,到“output.ogg”:元数据:编码器:Lavf57.48.100 流 #0:0:音频:opus (libopus),16000 Hz,立体声,s16,延迟 104,填充 0,64 kb/s (默认)元数据:编码器:Lavc57.54.100 libopus

但是,似乎 ffmpeg 撒了谎,因为再次分析文件时,我得到:

输入 #0,ogg,来自“output.ogg”:持续时间:00:00:03.21,开始:0.000000,比特率:89 kb/s 流 #0:0:音频:opus,48000 Hz,立体声,s16,延迟 156 ,填充0元数据:编码器:Lavc57.54.100 libopus

我尝试了很多采样率的排列,简化为单个音频输入等 - 总是得到相同的结果。

有任何想法吗?

0 投票
1 回答
1824 浏览

opus - 如何使用来自开源 OPUS 演示二进制文件的 opus DTX

我需要 OPUS DTX 的帮助

1.OPUS DTX 是如何工作的。2. opus 编码器和解码器如何在 dtx 上工作 3. OPUS 中是否有 DTX 的位表示

从 rfc 启用 DTX 时,每 400 毫秒只编码一帧,它不适用于 opus_demo 二进制文件。请帮助 OPUS DTX。

0 投票
1 回答
1451 浏览

c# - 如何找到正确的缓冲区大小以使用 Concentus 解压缩 Opus 文件

我正在尝试编写一个 Android 应用程序(使用 Xamarin),我可以在其中录制然后播放 .opus 文件。我以前从未使用过 Opus,所以请多多包涵……

我正在使用 Concentus NuGet 包来压缩/解压缩音频。Concentus 的示例代码建议进行以下记录:

使用这些信息,我创建了以下记录方法:

看着thisPacketSize,我可以看到它是可变的。

Concentus 建议使用以下代码进行解码:

我最初的播放想法如下:

我的问题是......鉴于帧大小必须与压缩期间使用的帧大小相同(如果我理解正确),我如何确定compressedPacket解压缩为正确帧大小所需的大小?

0 投票
1 回答
1557 浏览

android - Opus Codec Android 转换流

我正在使用https://github.com/louisyonge/opus_android 来录制和播放作品音频。

我真正想要的是,将输入音频缓冲区转换为 opus 流以发送到服务器。

将编码帧写入文件。我想获取编码数据,而不是写入文件。

任何帮助将不胜感激。

问候,
约瑟夫

0 投票
2 回答
941 浏览

c - 使用 opus_decode_float 使用 Opus API 进行解码

我正在尝试将 OPUS api 的基本编码和解码功能与以下主要功能一起使用:

问题是我试图在编码中传递 0.32 浮点数并使用 opus_decoder_float 对其进行解码,但是当我试图打印我的结果时,我只得到 0.00 并且我找不到任何使用这个特定函数的例子。

我没有收到任何有关 ret 值的错误消息,程序打印:

如何在返回的 float 中获得 0.32 ?

0 投票
1 回答
680 浏览

ios - iOS 上的 Opus 解码器在没有明显原因的情况下崩溃

我有简单的代码将作品帧解码为音频样本。它适用于 Android,但它在 Unity3D iOS 项目中崩溃并且在常规 iOS 项目中不会崩溃。

两个项目共享相同的 opus 静态库和头文件。

celt中的xcode opus崩溃

堆栈跟踪:

我比较了构建设置并使它们几乎相同。

错误听起来像 - 分配有问题。

opus_decoder_create能够分配 OpusDecoder 但出现错误opus_decode

0 投票
2 回答
1678 浏览

c - Gstreamer - 收听 RTP 流时延迟过多

我是 Gstreamer 的新手,我想用它来收听 RTP 流。

为此,我使用此管道:

我不知道为什么,但我有一些延迟(~1s),我想尽量减少它。我确信这不是来自源头和运输。

如果有人有任何想法:)

0 投票
1 回答
208 浏览

webrtc - 哪种编解码器用于在线视频流?

我正在将 WebRTC 与 kurento 媒体服务器一起使用,据我所知,WebRTC 支持 VP8 进行视频流式传输并使用 opus 进行音频流式传输,所以我的问题是我是否要压缩包含音频和视频的流,我也是需要同时使用(VP8 和 opus)?