gpt4 book ai didi

flash - 使用 RTMFP 与操纵的语音音频进行实时语音聊天

转载 作者:行者123 更新时间:2023-12-01 19:36:00 25 4
gpt4 key购买 nike

我们正在使用 Cumulus 构建实时 RTMFP 语音聊天应用程序.虽然使用 NetStreams 进行基本的语音传输非常容易,但我们有一个大问题:

似乎没有办法操纵 NetStream 发送的麦克风数据,也没有办法操纵监听 NetStream 在播放之前接收到的数据。

然而,这正是我们所需要的。我们不想传输普通的麦克风录制的音频,而是先投音,然后发送,然后播放。或者先发送,然后投球,然后播放。但似乎整个录音、speex编码、speex解码和音频播放都完全封装在NetStream类中。

实现我们想要的(并且所有这些都完全删除 NetStream)的唯一方法似乎是:

  1. 发送原始音调音频数据。这确实有效,但当然要发送大量数据,并且在我们的本地 LAN 测试之外可能无法足够快地工作。

  2. 调整音频数据,使用现有的 flash 编码器将其转换为 ogg/mp3,发送,解码 ogg/mp3 并播放。但这意味着对从麦克风接收到的每个样本数据包进行编码,添加 header 内容等。因此,与原始音频数据相比,这可能不会产生太多好处。

    2.1。如果有 Speex,这实际上是一个好方法闪光灯的编码器/解码器。但具有讽刺意味的是,除了内置的(用于在 NetStreams 中编码/解码音频)之外没有其他不能明确使用的。是的,非常感谢没有提供它,Adobe...

  3. 将数据发送到 Cumulus 服务器,在那里推销(并可能转换)并发送给收件人。这可能甚至不会比 1 快多少。而且还丢掉了 RTMFP、P2P 通信的确切优势。

对于这个问题,有没有比我在这里列出的解决方案更有效的解决方案,可能是一种在将麦克风数据传递到 NetStream 之前对其进行实际操作的方法?

最佳答案

为了获得可行的东西,音频数据必须以压缩格式转换,原始数据代表大量数据。我认为第二个选择更好;-)

我已经在 flash 中开发了一个 ogg vorbis 解码器/编码器,在使用 Alchemy 时,它消耗的 CPU 总是不到 10%!这是完全可能的。

如果您更喜欢 speex 格式,我认为通过坚持不懈的努力可以获得相同的结果,即使用炼金术构建 speex 代码。

如果我能给你更多,请联系我 cumulus.dev@gmail.com ;-)

关于flash - 使用 RTMFP 与操纵的语音音频进行实时语音聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com