问题标签 [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.
audio - Web Audio API:decodeAudioData 不解码 Chrome 中的作品
我目前正在尝试使 Opus 数据包与 Web Audio API 一起使用。然而问题是,虽然 FireFox 和 Chrome 应该原生支持它,但只有 FireFox 可以使用来自 Web Audio API 的 decodeAudioData 解码 OPUS 样本流。当我将 opus 文件拖到浏览器中时,Chrome 确实可以识别该文件并且它也可以播放它!所以我想知道我可能在这里做错了什么,导致 Chrome 失败。
然后我使用了一些来自http://awm.jp/~yoya/js/audio/meow.html的示例代码,只需加载一个 opus 文件并尝试对其进行解码。Firefox 再次这样做,而 Chrome 没有。所以我想知道是否有人可以确认我的发现或告诉我我在这里做错了什么。以下是较早链接的修改版本。谢谢!
android - 在 Android 上调试 Opus 崩溃
我一直在尝试在我的 Android 应用程序中实现 Opus 编解码器,但我无法弄清楚它为什么会崩溃。该应用程序正确实现了其他编解码器(如 iLBC),所以我知道 java 音频实现是可靠的。Java 代码获取一帧音频,将其传递给 JNI 进行编码/解码,然后接收回音频。
我首先假设 JNI 实现是不正确的。
然而:
1)编码器/解码器的创建没有错误
2) 数据以与其他编解码器相同的方式传递,并且似乎正常运行(没有奇数返回值):
运行应用程序时,Opus 将处理几帧音频(调用编码/解码而不会崩溃),然后应用程序将抛出段错误。这是 JNI 堆栈跟踪的一部分:
看起来像然后我再次查看了libOpus的编译。我最初下载了源代码,并使用 Android NDK 和我的 Android.mk 中的这个模块描述对其进行了编译。编译很成功。我玩过一些标志,但无济于事。
这里会发生什么?
c++ - 加入 Portaudio 和 Opus
嗨,我正在尝试从开放的 PortAudio 流中获取声音,使用 opus 对其进行编码,对其进行解码并使用 portaudio 再次对其进行再现。
我这样做只是为了尝试理解这个系统的机制,所以对遵循这个具体流程没有真正的兴趣。
问题是,portaudio 在 OPUS 需要帧的地方提供缓冲区。Mi 认为在 portaudio 方面将我引向了这个:
这在 OPUS 方面:
没有编码和完美的声音就没有错误。使用编码,在 PA_Writestream 调用之前我没有收到任何错误,在那里我得到了“输出下溢”PaError。我想采取我实施的框架的方式一定是错误的,但找不到帮助我解决这个问题的信息。
audio-streaming - 基于 HTTP/TCP 的低延迟 Opus?
试图找到一种合适的技术/容器来通过 HTTP/TCP 流式传输实时低延迟 Opus?
Ogg 容器当然是显而易见的选择。但是,对于低比特率 Opus(<50 字节/帧),如果需要低延迟流式传输,开销就会变得巨大。例如,对于 20 ms 块中的 Opus @ 8 kbps,如果每个 Ogg 页中仅放置一帧,则开销将变为 58%。
audio - Opus 编解码器的 MS 格式标签
Opus 是否有定义的格式标签,应该与 WAVEFORMATEX 结构一起使用?见WAVEFORMATEX
结构,wFormatTag
。
c - Mingw 和 Eclipse 无法找到库 - 2
我面临的情况与 Gustavo 在以下链接中提出的问题完全相同。另外,我已经尝试了该链接和其他标签中发布的所有解决方案(例如将库名称从 opus.a 更改为 libopus.a,将“\”更改为“/”等等),但这些都没有解决我的问题. 通过打开库文件的属性,会显示以下内容:
路径: /demo/opusfile/libopusfile.a
类型:文件(静态库)
位置:U:\data\Jag\eclipse\wrksp\demo\opusfile\libopusfile.a
Mingw显示的错误信息如下:
有人可以让我知道我错过了什么吗?我无法解决此问题
java - 如何在 Java 中播放 Opus 编码的音频?
在播放解码后的音频时,我设法产生了从汩汩到尖叫再到恶魔圣歌的各种声音。其中最接近的声音类似于快进播放,播放仅持续约 15 秒。我已经尝试了解码和 AudioSystem API 方法的大量参数组合,似乎没有任何效果。
那么,是什么导致了这种音频失真?
此文件的 Opusinfo 显示以下内容:
此文件使用 VLC 正确播放。
要解码我正在尝试使用以下库的文件:
VorbisJava ( https://github.com/Gagravarr/VorbisJava/ ) - 从 OGG 容器中拉取帧
LibJitsi ( https://jitsi.org/Projects/LibJitsi ) - 它有一个用于 Opus 的 JNI 包装器,用于解码 opus 帧
SSCCE 下面
c++ - Portaudio + Opus:糟糕的音质
我目前正在开发一个 VOIP 应用程序。为此,我使用 PortAudio 库来检索和播放声音,并使用 Opus 库来编码和解码声音包。
目前,我成功地使用了 PortAudio。我的程序只是做:
- 从麦克风获取声音
- 播放声音
音质绝对好。
我现在正在尝试对声音数据包进行编码和解码。我编写了一个 EncodeManagerClass 来做到这一点,我的程序现在这样做:
- 从麦克风获取声音
- 编码声音
- 解码它
- 回放
但是现在,音质绝对是可怕的(而且在 VOIP 应用程序中显然是有问题的)。
这是我的EncodeManager
课:
这是源文件:
这是我的主要内容:
附加信息:
我尝试使用opus_encode_ctl
(带宽、比特率、VBR)配置 opus 编码器,但它根本不起作用:音质仍然很糟糕。
即使我更改了 SAMPLE_RATE 或 FRAME_PER_BUFFER,音质也不会提高...
我是否错过了有关 PortAudio/Opus 的内容?
webrtc - Chrome/Firefox 如何处理来自 WebRtc 连接的 SRTCP 报告?
SRTCP 跟踪发送和丢失的字节和数据包的数量、最后接收的序列号、每个 SRTP 数据包的到达间隔抖动以及其他 SRTP 统计信息。
在处理音频流时,提到的浏览器是否对 SRTCP 报告做了一些事情,例如,如果网络条件发生变化,则动态调整比特率?
plugins - gstreamer 的 opus 配置无效
我正在努力弄清楚如何为 gstreamer 安装 opus 插件。我已经通过 apt-get 安装了 opus-tools 和 libopus0(一切都发生在 Ubuntu 14.04 上)。我还安装了 gstreamer-plugins-bad。
经过多次试验、错误等。每次我尝试调用 gst-inspect-1.0 时,gstreamer 都会显示以下错误:
*(gst-plugin-scanner:17408):GStreamer-WARNING **:无法加载插件'/opt/gstreamer-1.4.0/lib/gstreamer-1.0/libgstopus.so':/opt/gstreamer-1.4.0 /lib/gstreamer-1.0/libgstopus.so:未定义符号:opus_multistream_encode*
在 opus 安装过程中可能出现什么问题导致此错误?
如果它有任何用处,这里是ldd /opt/gstreamer-1.4.0/lib/libgstopus.so的结果
安装 opus 时我一定错过了一些东西,但是我不知道该怎么做,所以我指望有人可以给我一些提示在哪里寻找,或者可能出了什么问题?
谢谢你的帮助 :)