提问人:Atul Vishwakarma 提问时间:11/6/2023 更新时间:11/6/2023 访问量:17
将音频语音数据与 Opus Ogg 库集成并将语音数据转换为 Ogg 格式
Integration Audio Voice data With Opus Ogg library and Convert Voice Data Into Ogg format
问:
我想在 Swift 中集成,与 Opus/Ogg-Vorbis 格式集成的音频语音数据,并在 icecast 服务器上传输/发送。在 Icecast 服务器端,我需要解码 Opus/Ogg-Vorbis 格式的语音数据,转换回录音数据以供收听。我搜索了很多,但仍然没有找到任何解决方案。请帮助并建议我。
所需库 - Libshout、LibCoolmic、LibIgloo、LibOGG 和 Opus 库。
我们想要实现的目标: - Subjam 是音频广播的一个应用,即在解压缩音频的另一端有一个压缩音频的发送方和多个接收器。该音频将通过 icecast 服务器传输并在 Opus、LibOgg、Libshout、libcoolmic 和 Libigloo 的帮助下进行压缩以管理其质量。 Opus 库是通过互联网传输或 VOIP 进行交互式音频或语音的编解码器。 应用程序内部的主要内容是对音频数据进行编码并在不降低其质量的情况下操纵其质量,现在解码其编码数据以接收所需的数据。
从我们学习的地方:- 我们遵循了将库导入 xcode 项目的 Cmake 教程。有 Cmake 工具可用于通过浏览保存 CMakeList.txt 文件的文件来创建 macosx 项目。但这对我没有帮助,因为需要一个 iOS 项目。 另一个找到适合创建和构建库的命令行语法。
cmake -G “Xcode” -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=XXXXXXX -bbuild
这是生成“lib.a”文件的静态库的 iOS 应用程序项目的生成命令行语法。
我们的整合方法:-- 我们以 Opus 库为例,从 github 下载 opus 和 Ogg 库,它们在 ios 中支持 Swift,但没有找到预期的输出,例如如何制作录音机以及如何保存录音数据以及如何在 opus 中发送,用于编码和解码的 ogg 库以及如何在其 icecast 服务器上发送它。 我们遵循的第二种方法是导入所有包含 CMakelist.txt 文件的依赖库,但没有可用于 Libshout、libCoolmic 和 libIgloo 的 cmakelist.txt 文件。我完全被困在那里。
在现有 xcode 项目中安装库的过程 首先,最重要的是,所有库都是开源库,可在 Opus 编解码器链接上获得,链接给定“https://opus-codec.org/”,Icecast 组织链接给定“https://www.icecast.org/download/”。其中,只有 Opus 和 Ogg 库包含 CMakelist.txt 文件,该文件是在 xcode 项目中安装库及其源类所需的。下面是将这两个库安装到 xcode 中的给定流程。
首先将 opus 存储库从开源下载到给定的名为 OpusFolder 的特定系统文件夹中。现在打开终端并将路径分配给其终端,然后通过点击终端上的构建命令生成 xcode 构建,命令给出为
cmake -G “Xcode” -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=XXXXXX -bbuild 成功执行命令后,一个新的“build”文件夹将显示在包含“Opus.xcodeproj”的OpusFolder的主目录中。这是主要的构建文件,它将内部的现有应用项目导入到项目目录中。 现在转到 Xcode 项目文件,在“常规”下单击“链接框架和库”的“添加”按钮。在弹出的对话框中,您应该会看到您的 Opus 项目显示出来。我需要添加它。 现在转到“目标依赖项”中构建 xcode 和 opus 库的 Phase 部分,它通常是带有灰色房屋状图标的图标,并且与此处显示的图像中的 Opus 项目名称完全相同。 但是,它的文件路径引用是在保存此库的 xcode 项目之外获取的。现在构建已成功安装的 xcode 项目。
**What I Want to Achieve**
我有一个应用程序,可以在 icecast 服务器上以压缩大小进行音频传输。但是,我们有语音录音数据,它需要将此音频数据转换为Ogg格式数据,并且此ogg格式数据需要通过opus发送。 所以我的问题是如何在 iOS 中将音频数据转换为 Ogg 格式,基本上是在 Swift 中,因为所有过程都在 swift 语言中进行。建议我一些iOS内置库来集成所有这些音频数据转换过程并将其发送到icecast服务器上。
以及如何将音频数据解码为 Ogg 格式并返回转换为音频语音的另一个过程。我需要一些有用的库来遵循所有这些过程。
答: 暂无答案
评论