跳转到主要内容

将Ogg-Vorbis文件重新编码到不同的质量级别

项目描述

这是什么?

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

为什么我要使用它?

  • 它可以重编码文件系统上的文件以及文件-like 对象。

  • 它使用OpenMP并行解码和编码输入流,以及多进程并行重编码多个文件。因此,它可以充分利用您的机器可以提供的所有资源,使其非常快速。

  • 单独输入文件的重编码是线程安全的,并释放了GIL。

为什么我不使用它?

  • 目前,错误处理不够详细,因此意外的错误可能会使您的系统崩溃。这应该很容易修复,并且对此类帮助当然会感激不尽。(不要担心,它是用Cython编写的,而不是C。)

  • 它不是为了实时重编码流而设计的,只是文件和文件-like 对象。目前,输入文件/对象必须通过seek()允许随机访问。这应该是可修复的。

我如何安装它?

使用pip

pip install pyrogg

请注意,这将执行源码构建,因此您需要在系统上配置一个能够构建 Python 扩展模块以及库包 libogglibvorbis 以及它们对应的开发包的 C 编译器。大多数操作系统(包括所有常用 Linux 发行版)都允许您通过正常的软件包管理工具安装它们。对于开发包,寻找名为 libogg-devlibogg-devel 的软件包。

然而,对于 Windows 和 MacOS,您需要手动安装它们。请参阅这里

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

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源码分发

pyrogg-0.3.tar.gz (65.0 kB 查看哈希)

上传时间 源码

构建分发

pyrogg-0.3-cp36-cp36m-manylinux1_x86_64.whl (378.6 kB 查看哈希)

上传时间 CPython 3.6m

pyrogg-0.3-cp36-cp36m-manylinux1_i686.whl (341.2 kB 查看哈希)

上传时间 CPython 3.6m

pyrogg-0.3-cp35-cp35m-manylinux1_x86_64.whl (378.4 kB 查看哈希)

上传时间 CPython 3.5m

pyrogg-0.3-cp35-cp35m-manylinux1_i686.whl (340.0 kB 查看哈希)

上传时间 CPython 3.5m

pyrogg-0.3-cp34-cp34m-manylinux1_x86_64.whl (377.5 kB 查看哈希)

上传时间 CPython 3.4m

pyrogg-0.3-cp34-cp34m-manylinux1_i686.whl (339.0 kB 查看哈希)

上传时间 CPython 3.4m

pyrogg-0.3-cp33-cp33m-manylinux1_x86_64.whl (377.4 kB 查看哈希)

上传于 CPython 3.3m

pyrogg-0.3-cp33-cp33m-manylinux1_i686.whl (339.1 kB 查看哈希值)

上传于 CPython 3.3m

pyrogg-0.3-cp27-cp27mu-manylinux1_x86_64.whl (375.7 kB 查看哈希值)

上传于 CPython 2.7mu

pyrogg-0.3-cp27-cp27mu-manylinux1_i686.whl (337.0 kB 查看哈希值)

上传于 CPython 2.7mu

pyrogg-0.3-cp27-cp27m-manylinux1_x86_64.whl (375.7 kB 查看哈希值)

上传于 CPython 2.7m

pyrogg-0.3-cp27-cp27m-manylinux1_i686.whl (337.0 kB 查看哈希值)

上传于 CPython 2.7m

pyrogg-0.3-cp26-cp26mu-manylinux1_x86_64.whl (375.7 kB 查看哈希值)

上传于 CPython 2.6mu

pyrogg-0.3-cp26-cp26mu-manylinux1_i686.whl (336.9 kB 查看哈希值)

上传于 CPython 2.6mu

pyrogg-0.3-cp26-cp26m-manylinux1_x86_64.whl (375.7 kB 查看哈希值)

上传于 CPython 2.6m

pyrogg-0.3-cp26-cp26m-manylinux1_i686.whl (336.9 kB 查看哈希值)

上传于 CPython 2.6m

由以下机构支持