通过 RTMP/Rails 录制音频

Posted

技术标签:

【中文标题】通过 RTMP/Rails 录制音频【英文标题】:Recording Audio through RTMP/Rails 【发布时间】:2010-04-26 21:22:01 【问题描述】:

我正在构建一个 rails/flex 应用程序,该应用程序需要录制音频,然后将其存储在我们的 amazon s3 帐户中。我发现除了使用某种形式的 RTMP 服务器通过 Flash 录制音频之外别无选择,但是我们的托管环境不允许我们安装 FMS、Red5 等任何东西。

是否有任何允许录音的现有 Ruby/Rails RTMP 解决方案?如果没有,Rails 是否有可能至少拦截 RTMP 流,然后我可以希望参考 red5 的源或其他东西来解析数据(我知道,远射)?

我能想到的另一种选择是在另一台主机上托管 red5 服务器,并在保存/上传完成后与我们的 rails 应用程序通信,这不是首选。

我会在这里碰运气吗?

【问题讨论】:

另外,亚马逊的 S3 服务不允许通过 RTMP 直接录制吗? 【参考方案1】:

我能够让它工作

1) Flash Player 10.1 可以获取麦克风的ByteArray

2) 我捕获了这个 ByteArray,使用 Adob​​e 的 WavWriter 类(来自他们放在一起的麦克风教程)以正确的 wav 格式创建一个新的 ByteArray

3) 通过 RubyAMF 将其发送到 rails

4) 使用了类似

的东西
wav_data = rubyamf_params[0][:wav_data]

f = File.new('c:/hello.wav')
f << wav_data.pack('c'*wav_data.length)
f.close

一旦我得到了这个 wav 数据,将它转换成 mp3 就不会太费力了,呜呜

【讨论】:

以上是关于通过 RTMP/Rails 录制音频的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPad/iPhone 上通过蓝牙耳机录制音频?

如何通过 iPhone 应用录制音频?

在 iPhone 上录制音频并使用 NSOutputStream 通过网络发送

HTML5 音频 - 录制保存文件正常,但通过音频控制播放时没有声音

从无线耳机录制音频并通过蓝牙扬声器播放

通过 MediaRecorder 录制音频