将ogg vorbis文件重新编码到不同的质量级别
pyrogg的Python项目详细描述
这是什么?
pyrogg是一个简单的Ogg Vorbis音频文件记录库,用Cython实现。 它从提供的输入文件中读取Vorbis流并将其重新编码到所需的 质量等级(-1…10)。它带有一个方便的命令行界面。
示例
命令行用法:
$ recode.py -d outputdir --quality=1 --parallel=3 input1.ogg input2.ogg input3.ogg
python用法:
>>> from pyrogg import VorbisFileRecoder >>> rec = VorbisFileRecoder("input.ogg") >>> time = rec.recode("output.ogg", quality=1)
因为用于解码的时间比用于 编码时,可能需要设置以下环境变量以避免 正在等待OpenMP线程:
OMP_WAIT_POLICY=PASSIVE
我为什么要用它?
- 它可以重新编码文件系统上的文件以及类似文件的对象。
- 它使用openmp并行解码和编码输入流,以及 并行地重新编码多个文件的多处理。所以它可以使用 你的机器能提供的所有资源,这使得它非常快。
- 独立输入文件的并行重新编码是线程安全的,并释放gil。
为什么我不使用它?
- 目前,错误处理不是很详细,因此意外的错误可能 使你的系统崩溃。这应该很容易通过一点工作来解决,而且 我们非常感谢您的帮助(不用担心,这是用cython写的, 不是c.)
- 它并不意味着要在运行时重新编码流,而是像 物体。当前,输入文件/对象必须允许通过 搜索()这应该是可以修复的。
如何安装?
使用pip:
pip install pyrogg
请注意,这将生成一个源代码,因此需要正确配置 在您的系统上可以构建python扩展模块的c编译器 作为库包libogg、libvorbis及其对应的 开发包。大多数操作系统(包括所有常用的 Linux发行版)将允许您通过普通软件包安装它们 管理工具。对于开发包,请查找名为 libogg-dev或libogg-devel。
但是,对于windows和macos,您需要手动安装它们。请看这里: