将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编译器 作为库包libogglibvorbis及其对应的 开发包。大多数操作系统(包括所有常用的 Linux发行版)将允许您通过普通软件包安装它们 管理工具。对于开发包,请查找名为 libogg-devlibogg-devel

但是,对于windows和macos,您需要手动安装它们。请看这里:

https://www.xiph.org/downloads/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务