#opus #codec #api-bindings #encoding

audiopus

Opus编解码库的高级绑定

6个版本

0.3.0-rc.02021年4月22日
0.2.0 2019年10月11日
0.1.3 2019年10月11日
0.1.2 2019年5月23日
0.1.1 2019年3月29日

#160 in 音频

Download history 1062/week @ 2024-03-14 1206/week @ 2024-03-21 1380/week @ 2024-03-28 1229/week @ 2024-04-04 1241/week @ 2024-04-11 1181/week @ 2024-04-18 1405/week @ 2024-04-25 1232/week @ 2024-05-02 1197/week @ 2024-05-09 1447/week @ 2024-05-16 1203/week @ 2024-05-23 1246/week @ 2024-05-30 1034/week @ 2024-06-06 1169/week @ 2024-06-13 1196/week @ 2024-06-20 949/week @ 2024-06-27

4,523 每月下载量
用于 11 个crate(10个直接使用)

ISC 许可证

72KB
1.5K SLoC

ci-badge docs-badge rust version badge crates.io version

关于

audiopus 是Opus 1.3版本的高级绑定。该crate底层使用 audiopus_sys

最初,这个crate是为了使 serenity-crate能够在Windows、Linux和Mac上构建音频功能而制作的。

欢迎所有人贡献,请查看 CONTRIBUTING.md 以获得进一步指导。

构建

要求

如果您想构建Opus,您将需要 cmake

如果您有 pkg-config,它将尝试在构建之前使用该工具。

您还可以链接预安装的Opus,请参见下面的 预安装的Opus

此crate提供预构建的绑定。如果您想自己生成绑定,您将需要 Clang,有关进一步说明,请参见下面的 预安装的Opus

链接

底层的crate,audiopus_sys,链接到Opus 1.3,并支持Windows、Linux和MacOS。默认情况下,我们为Windows、MacOS以及使用musl环境时静态链接。对于Linux,除非使用musl,否则我们将动态链接。

这可以通过使用具有相应名称的staticdynamic功能来更改。如果两个功能都启用,我们将选择您的系统默认设置。

名为 LIBOPUS_STATICOPUS_STATIC 的环境变量将优先于功能,从而覆盖行为。这些环境变量的值对结果没有影响:如果其中一个被设置,将选择静态链接。

Pkg-Config

默认情况下,audiopus_sys将在Unix或GNU系统上使用pkg-config。设置环境变量LIBOPUS_NO_PKGOPUS_NO_PKG将跳过通过pkg-config探测Opus。

预安装的Opus

如果您已经预安装了Opus,可以将LIBOPUS_LIB_DIROPUS_LIB_DIR设置为包含Opus的目录。

请注意,使用除1.3版本以外的Opus可能不会工作。

安装

将以下内容添加到您的Cargo.toml

[dependencies]
audiopus = "0.3"

依赖项

~3MB
~50K SLoC