问题标签 [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.
c++ - 如何将 ogg 音频文件解码为原始音频数据?
我有.ogg
文件,我想将其解码为原始音频数据。我阅读了文档libvorbis
,但它非常简短且不清楚。我不明白!我应该使用libvorbis
什么libogg
?或者是其他东西?
audio - 如何在 ogg vorbis 文件中查找而不将所有文件加载到内存中?
我正在尝试找到一种方法来移动到轨道中所需的位置,而无需将所有文件加载到内存中。并且没有使用vorbisfile
,因为文件存储在远程服务器中。我阅读了文档中关于寻求但无法理解的段落。
audio - ogg 广播流媒体如何工作?
最近我试图了解ogg vorbis
内部是如何工作的,所以我为ogg vorbis
. 现在我正试图了解所有互联网 ogg 广播电台的工作原理。我不明白的事情是:如果您需要处理所有 3 个vorbis
标头以了解如何解码音频(通道、速率等),它们如何永久流式传输音频并从轨道的随机位置流式传输?
windows - 使用 Mingw 从源代码构建 libvorbis:“您必须安装 automake 才能编译 vorbis”
我正在尝试将我在 gnu/linux 上制作的项目移植到 Windows。该项目使用 vorbis 库来解码“.ogg”文件。
我需要从源代码构建项目,因为我找不到任何预构建的 Windows 二进制文件。在 linux 上,我刚刚安装了“libvorbis-dev”包。
自述文件告诉我,我应该键入./autogen.sh
后跟make
才能构建库。
当我输入./autogen.sh
msys 终端时,我得到以下输出:
我试过安装这个http://gnuwin32.sourceforge.net/packages/automake.htm但我仍然得到同样的错误。
任何可以让这个库在 Windows 上工作和链接的帮助都将不胜感激。
c++ - Ogg vorbis 读取回调——C++ 中的语法差异
我遇到了 Ogg Vorbis 回调不起作用的问题,特别是 read_func 回调,其他的似乎都起作用了。我只是做了这个(在我看来毫无意义)的改变,突然它开始起作用了。有谁知道确切的原因,因为我很难在这里看到确切的区别。似乎需要对函数指针进行显式强制转换?
之前(尽管尝试过,Ogg 无法读取有效的标头数据):
之后(按预期完美工作):
编辑:更多信息
当我解决问题时,结构初始化确实发生了变化,因为它是使用括号中的内容构建的,但我不知何故怀疑真正的问题是缺乏显式转换。我以为我对 C++ 有很好的了解,但我决定当我遇到这些奇怪的东西时,我需要真正尝试找出它们。需要注意的一点是,我的代码是用 C++ 编写的,而 Vorbis 库是用纯 C 编写的。我还决定强制这些函数指针使用 C 原型声明样式,但这也无济于事。结构是这样初始化的(对于不起作用的旧方法):
下面是 ogg_read_func 的函数定义:
以下是原型:
ogg_read_func 只是我调试问题时的一个包装器,尽管在更改结构初始化和执行强制转换之前返回的错误始终是“Not ogg vorbis”,或者在代码术语中这个值:
#define OV_ENOTVORBIS -132
heroku - 使用 ffmpeg 将 mp4 音频转换为 webm - 无法为 webm 找到合适的输出
我有一个自定义的 heroku buildpack,它正在安装 ffmpeg、libvorbis 等。
当我运行时,ffmpeg
我得到以下输出:
我正在尝试将 mp4 音频转换为 webm 音频。
这是我正在使用的命令:
和输出:
这在我的 OSX 安装上运行良好,但在 Ubuntu 14.04 上我遇到了这些错误。
我需要做什么才能使 .webm 文件成为目标?
audio - 如何无损连接ogg vorbis文件?
我正在尝试将多个 ogg vorbis 文件连接成一个。
我知道理论上应该足够了:
但这有缺点:
- 并非所有播放器都支持这样创建的文件(gstreamer 不支持)
- 这样做的玩家不会顺利连接它们,而是会造成难看的瞬间停顿
- 寻找似乎是不可能的
我不想降低质量,所以我可以将它们重新编码为像 flac 这样的无损格式,但这会让文件大小爆炸。
似乎没有工具可以做到这一点。例如,oggCat 将重新编码音频,从而导致质量略有下降,并且 ffmpeg concat demuxer不适用于所有输入文件。我打开这个超级用户问题是为了找到一个工具,但是当我发现没有工具时我自己写了。
所以我尝试使用 libogg 和 libvorbis 将输入文件中的 ogg 数据包手动连接到输出文件的 ogg 页面中。假设是,所有 ogg 输入文件都使用完全相同的参数进行编码。
我想出了以下代码:
这几乎可以工作,但在 vorbis 流连接的点插入几乎听不见的咔嗒声。
如何正确执行此操作?
可以做到吗?
ffmpeg - ffmpeg 捕获中低质量源引起的 ALSA 缓冲区 xrun
我正在尝试通过 Ubuntu 上的 EasyCap USB 记忆棒和主板的声音输入将一些旧的 Video 8 磁带传输到我的计算机。我相信下面的参数正确地列出了从两个独立的流中捕获,并将它们都编码到输出 MP4 文件中。
编辑:
我现在可以稍微简化一下这个问题。
ALSA 缓冲区溢出(或欠载?)是由不可靠/嘈杂的音频源引起的。例如,如果 ffmpeg 捕捉到磁带播放的开始,这会导致“buffer xrun”远远超出磁带加速并且播放应该正常的时间。
有趣的是,ffmpeg 日志中显示的比特率在产生垃圾输出时会比正常值高!(这个比特率是音频和视频比特率的总和吗?)
我已经尝试了几个音频编码编解码器,并且遇到了同样的问题。
使用libfdk_aac
:
使用libvorbis
:
ffmpeg 对 ALSA 流的检测似乎被磁带的不一致性搞砸了。在失败的情况下,输出 MP4 中只存在磁带音频的短点。输出文件的音频比特率小于 10 kbps,在整个文件中平均。输出视频似乎很好,即使下面的故障案例日志中的每秒帧数较低。
在发生源错误之前,可以在短时间内很好地捕获音频和视频流;这提供了成功案例日志。故障案例日志是通过故意在源流中出错而创建的——打开相机会产生一个简短的嘈杂信号。
是否有一个设置需要强制保持 ffmpeg 记录音频流,即使磁带是空白或嘈杂的?
会不会是 libfdk_aac 音频编码器被低质量源绊倒了?
相关线路;rawvideo
流在底部的脚本中通过管道传输到此:
该ar
论点是一种强制记录的尝试。
ffmpeg 日志文件(短期)成功;每秒捕获的高帧数:
ffmpeg 失败日志;捕获的低 FPS:
整个脚本:
c# - 可以使用 TagLib# 将封面艺术存储在 Vorbis 评论标签的 METADATA_BLOCK_PICTURE 字段中吗?
是否可以使用 TagLib# 将封面艺术存储在 Ogg Vorbis 文件的 Vorbis 注释标签的 METADATA_BLOCK_PICTURE 字段中?
mediarecorder - Android MediaRecorder 音频编码器 VORBIS
录制音频编解码器 VORBIS 需要哪些额外设置?
现在只保留视频。