通过 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,使用 Adobe 的 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 录制音频的主要内容,如果未能解决你的问题,请参考以下文章
在 iPhone 上录制音频并使用 NSOutputStream 通过网络发送