问题标签 [vorbis]

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 投票
0 回答
526 浏览

directshow - 用 VP8 和 vorbis ogg 将音视频压缩到 avi 容器中

我正在开发一个程序来录制电影。我从网络摄像头抓取视频,从麦克风抓取音频。我想使用Webm VP8 DirectShow 过滤器进行视频和Xiph Vorbis Ogg 过滤器进行音频录制。

据我了解 - 复用这些流的唯一方法是将其放入 Webm Muxer 容器并获取 *.webm 文件作为输出。但我也想使用 AVI 容器。

AVI 真的不能与 VBR 音频一起工作吗?我应该使用什么音频编解码器与 VP8 一起将所有内容放入 AVI 容器中?

谢谢!

0 投票
2 回答
733 浏览

macos - MAC OSX Intel LLVM Assembler 错误(导致 Vorbis OGG 加载程序崩溃)

我在 Mac OSX 上加载 Vorbis Ogg 文件时遇到了神秘的错误。第一个文件正确加载,第二个文件在一些代码中崩溃,表明文件已损坏,即使我两次加载相同的文件也会发生同样的情况。

在 Vorbis 内部进行长时间的深度调试后,我发现这个错误是由系统函数“pow”(双重幂)返回一个完全有效的输入的 (nan) 引起的,并且这只发生在第二次调用 (ov_read ),在第一次调用时,传递给“pow”的完全相同的值返回有效结果。

8 小时后,阅读大量 Intel x87 文档后,我发现了问题。长话短说,在 vorbis "vorbis_ftoi" 内部有一个函数使用这个汇编代码:

哪个应该在英特尔 FPU 堆栈上推送和弹出。但是在 LLVM 上,它会生成以下代码:

它压入堆栈但从不弹出导致 FPU 堆栈溢出。这显然是 LLVM 中的一个错误

GCC 生成的正确代码如下所示:

我浪费了一天半的时间和我的布莱恩的一些字节学习一些垃圾(x87指令集和寄存器),所以我想分享它。

奥代

0 投票
1 回答
524 浏览

c# - 用于 DirectShow 的 Matroska Muxer 过滤器

我正在尝试创建图形 AudioCapture -> Vorbis Encoder -> Matroska Muxer,但 graphedit 在 Matroska Muxer 之前插入 Vorbis Decoder。我希望这个图在没有 Vorbis 解码器的情况下工作。我怎样才能做到这一点?

0 投票
2 回答
674 浏览

gstreamer - 使用 GStreamer 播放保存在数组中的原始 PCM

我正在使用 ogg/vorbis 使用 C++

我有一个数组,其中包含从 vorbis 文件 (.ogg) 解码的原始 PCM 数据。.ogg 文件已使用 libvorbis 使用 vorbis_synthesis_pcmout 进行解码。这将使用每个通道的原始 PCM 填充多维数组。

我确信 Gstreamer 能够读取纯 PCM,我已经搜索了 pluginto 但无济于事。我确定我只是在这里忽略了一些简单的事情。

0 投票
1 回答
472 浏览

java - Vorbis查找文件的解压缩大小

我正在使用 JNI 和 Android NDK 绑定来包裹 Tremor 版本的 Vorbis。到目前为止,我已经成功地将声音从文件传输到扬声器。

但是,我还希望能够在字节数组中“缓存”小声音,所以当我经常使用这些声音时没有多余的解压缩。

我的问题是我不知道数组需要多大才能保存 vorbis 文件中的所有 PCM 数据。

我尝试了以下这些方法,但没有一种方法能 100% 有效。

以上内容非常适用于某些文件,并且准确地确定了所需的大小。然而,对其他人来说则不然。它大大低估了所需的大小(通常大约 1-2kb),显然会导致超出范围的异常。

以下是推荐的解决方案,但存在完全相同的问题。它产生与上述相同的结果。

我应该使用什么方法来找出保存 Ogg Vorbis 文件所需的实际字节大小?

编辑;

我知道我可以在文件的整个长度上执行 ov_reads,并将这些读取的总和作为解压缩后的大小。但是我不希望双重解压缩,因为我在 Android 中工作,而且它首先具有有限的 CPU 能力,这是一个非常丑陋的解决方案。这不是对任何答案的回应,我只知道我可以做到但不希望这样做。

0 投票
1 回答
1135 浏览

android - 有没有办法在 Android API 中播放原始音频/视频流?

我有一个 Vorbis 流,我可以在必要时将其解码为 PCM,并且我有一个原始 h264 流,所有这三个流在容器中都受 Android 支持。想知道是否有任何方法可以在没有任何容器的情况下手动将视频和音频样本输入 android MediaPlayer。我想我将不得不覆盖 MediaPlayer 中的方法。有没有人有这方面的经验或有更简单的方法来做到这一点?我无法想象这是不可能的...

0 投票
0 回答
2482 浏览

audio - 在 Xcode 项目中玩 ogg

我正在 Xcode 中开发一个需要 ogg 和 vorbis 框架来播放 ogg 文件的应用程序。我已经用谷歌搜索了一些关于此的信息,但我没有达到任何目的,我不知道如何使这个框架工作。我已经下载了这些库并将它们添加到我的项目中,但是即使文件已经存在,我也无法编译它,它会抱怨缺少文件。

谁能指点我一本关于如何完成此任务的好手册?

任何帮助表示赞赏。

0 投票
0 回答
276 浏览

c# - 拆分/分块 Ogg Vorbis 文件

有没有简单的方法来分块 Ogg Vorbis 文件,以便我能够对这些块进行转码?文档太少了,libogg 接缝对我来说太过分了,因为将其合并到 C# 项目中会很痛苦。是否有一种简单的方法可以在十六进制中查找一些段分隔符并将其拆分出来?

0 投票
2 回答
9242 浏览

video - avconv mp4 到 webm libvorbis 缓冲区溢出

试图将一堆 mp4 文件转换为 webm。所以我运行以下命令。我用ffmpeg尝试了一个类似的命令。

结果是:

注意漂亮的错误。libvorbis 中的缓冲区溢出。

有什么帮助吗?替代转换命令?

更新

第一遍看起来像这样:

谢谢!

0 投票
1 回答
562 浏览

ogg - 在没有 Ogg 的情况下使用 Vorbis?

我想知道为什么 Vorbis 需要任何容器?我知道您可以将 Vorbis 放在 Ogg 容器或 Matroska 容器中,但如果我不打算将它与任何视频或任何其他多媒体捆绑在一起,为什么 Vorbis 数据不能单独存在于自己的文件中?

有没有人有这样做的经验?我在搜索之前用谷歌搜索,我只在 oggvorbis 邮件列表中找到了一个没有详细信息的提及。