问题标签 [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 回答
195 浏览

linux - 32位Linux程序中的作品

我正在将 opus 添加到使用 32 位库构建的程序(在 CentOS 服务器上运行)(即用于 gcc 编译和链接的“-m32”,出于历史原因,它是这样构建的)。我可以使用来自香草“./configure;make”的 libopus.a 还是我必须以某种方式强制 opus 也为 32 位?如果是这样,我该怎么做?

0 投票
2 回答
2833 浏览

voip - 将 .raw voip 数据解码为 opus

我有这个带有 RTP 数据包的捕获文件(pcap)似乎是由 opus 编码的。在wireshark中,分析流并保存为原始文件。现在我得到了音频的 .raw 文件。使用来自http://www.opus-codec.org/downloads/的 opus 工具, 我无法将其直接解码为 wav,因为该文件是原始文件,而不是 .opus。我无法将其编码为 .opus,因为此原始数据是已编码流的提取。我只需要播放这个声音。任何建议请

0 投票
2 回答
1941 浏览

rtp - 用ogg容器封装RTP包中提取的opus payload的实现

我们有捕获的 pcap 文件,其中包括每个 rfc6716 的 RTP opus 有效负载,现在我们可以切断 RTP 标头并提取 opus 有效负载,我们希望按照规范将有效负载封装到 ogg opus https://datatracker.ietf.org/doc /html/draft-ietf-codec-oggopus-07 (Ogg Encapsulation for the Opus Audio Codec) 并发送出去,以便 VLC 可以播放捕获的 opus,我们不想保存到 ogg 文件然后让 VLC 播放,一旦封装了一个数据包,我们将直接将ogg opus发送到VLC,任何有封装参考实现的人,或者我可以参考的第3方库?

0 投票
3 回答
7660 浏览

ios - 如何使用 opus 对音频进行编码和解码

我正在尝试将opus集成到我的应用程序中,编码和解码函数返回正值,表示成功,但输出音频无法播放。原始音频数据也可以播放。这是我对数据进行编码的方式。我使用 4 字节前缀与每个数据包分开。

这是解码功能:

请帮我指出我所缺少的。一个例子会很棒。

0 投票
1 回答
738 浏览

c++ - Avcodec : 为流生成 OPUS 标头

我正在使用带有 avcodec 的 OPUS 对声音进行编码并使用我自己的协议对其进行流式传输。

到目前为止,它适用于 MP2 编解码器,但是当我切换到 OPUS 时,我遇到了这个问题:

我想与 MP2 不同,我需要为我的 OPUS 编码数据流生成一个标头,但我不知道如何。

有人可以解释我该怎么做吗?谢谢。

0 投票
1 回答
2285 浏览

webrtc - 解析 VP8/OPUS 帧

我正在使用 C 语言在 Linux 环境中开发 webrtc 模拟器。在这里,我需要将媒体从一个 webrtc 模拟器发送到另一个 webrtc 模拟器。我需要使用 VP8 和 Opus 编解码器。现在我开始使用 VP8 编解码器。由于我是 VP8 的新手,请帮助我了解更多。

  1. 由于它是模拟器,我不想实时捕获/播放媒体。我需要从文件中读取音频/视频数据并将其发送到远程。在远程获取提取的媒体数据,将其保存到文件中。

  2. 哪种文件格式包含编码的 VP8 数据?是 webm 文件格式还是别的什么?

  3. 假设 webm 文件包含 VP8 和 OPUS 编解码器数据(我不确定),我该如何逐帧解析。例如,如果我阅读从 AMR-NB 文件中提取音频帧,我可以从文件中解析 amr 帧。同样,是否有任何帮助页面,我在其中学习 VP 框架的解析逻辑。

  4. 或者是否有任何开源使用我可以从 webm 文件中解析 VP8/OPUS 帧。

0 投票
1 回答
1206 浏览

ios - 在 iOS 8 中使用 Opus 将 PCMBuffer 编码为 Ogg

我需要使用 opus 编解码器将原始音频编码为 ogg 数据包。

我得到这样的原始音频:

我的项目中有 Ogg.framework 和 libopus.a。我似乎不了解如何将 Opus 与 Ogg 实际使用的文档。而且我没有找到任何可以复制我需要的示例。

任何帮助表示赞赏!

0 投票
1 回答
423 浏览

web-audio-api - 为什么 opus_encode_float 输出对 decodeAudioData 的输入不可接受?

Web 浏览器对 opus 音频编解码器的支持通常通过将整个 opus 编码文件传送到浏览器来使用,例如,众所周知,这适用于 firefox 和 chrome。我的场景不同,因为我将 opus 数据包从服务器流式传输到浏览器。在 linux 服务器上,我使用 opus_encode_float 对音频进行编码。它通过 WebSocket 传递给 Web 浏览器客户端。在浏览器中,我使用 Web Audio API 的 decodeAudioData 来尝试解码相同的数据。它在 Firefox 和 chrome 中失败,出现空异常。

在我看来,这应该可行,如果不是去年,那么现在就真的很快了。谁能告诉我浏览器中 opus 实现的状态,或者告诉我我做错了什么?提前致谢。

0 投票
1 回答
873 浏览

opus - 使用 E-Model 算法计算 opus 编解码器的 Mos 分数

现在我们想使用E-model算法来计算opus Mos分数,我们需要将一些参数输入E-model,例如bpl,即目前我在web中找不到opus这些参数的值,任何人都可以帮忙? 或者你知道任何其他广泛使用的 opus mos 算法吗?

0 投票
1 回答
882 浏览

webrtc - Webm (VP8 / Opus) 文件读写

我正在尝试用 C/C++ 开发一个 webrtc 模拟器。对于媒体处理,我计划使用libav。我正在考虑以下步骤来实现两个 webrtc 模拟器之间的媒体交换。假设我有两个 webrtc 模拟器AB

  1. 使用av_read_frame api从输入 webm 文件中读取 A 处的媒体。
  2. 我假设我将获得编码的媒体(音频/视频)数据,我在这里正确吗?
  3. 通过 UDP 套接字将编码的媒体数据发送到模拟器B。
  4. 模拟器B在 UDP 套接字中接收媒体数据作为 RTP 数据包。
  5. 模拟器B从刚收到的 RTP 数据包中提取音频/视频数据。
  6. 我假设在模拟器B处提取的媒体数据只是编码数据(我在这里正确吗)。我不想解码它。我想把它写到一个文件中。稍后我将播放该文件以检查我是否已正确完成所有操作。

为了简化这个问题,让我们去掉 UDP 套接字部分。然后我的问题减少到从 webm 输入文件读取数据,获取编码媒体,准备数据包并使用av_interleaved_write_frame或任何其他适当的 api写入输出文件。所有这些我想用 libav 做的事情。

有没有我可以参考的示例代码。
或者有人可以指导我开发它。

我正在尝试一个测试程序。作为第一步,我的目标是读取文件并写入输出文件。我有下面的代码,但它不能正常工作。

当我执行这个程序时,它输出“找不到编解码器”。现在确定出了什么问题,有人可以帮忙吗?

通过单独构建 libvpx1.4 版本解决了 Codec not found 问题。仍在努力从源文件中读取,并写入目标文件。

编辑 1:代码修改后,我只能将视频内容写入文件,尽管仍然存在更多错误。

编辑 2:使用修改后的代码(第二轮),我看到视频帧编写正确。对于音频帧,我在宏_AUDIO_WRITE_ENABLED_下添加了代码 ,但如果我启用此宏程序崩溃。有人可以指导音频写入部分有什么问题(宏_AUDIO_WRITE_ENABLED_下的代码)。