【发布时间】:2014-05-28 10:25:59
【问题描述】:
我正在尝试从网络浏览器捕获视频和音频并将其上传到服务器。问题是我不想在其中使用闪光灯。
所以我正在使用 HTML5 功能和一个名为 RecorderRTC 的库来实现它。我在后端使用 Ruby on Rails。虽然我觉得这个功能仍在实施中,但我面临着挑战。
遵循我编写的 javascript 代码:http://pastebin.com/KjwunFfD,这是我的 rails 代码:
uuid = UUID.generate
audio_file_name = "#{uuid}.wav" if params[:chrome]
audio_file_name = "#{uuid}.ogg" if params[:firefox]
video_file_name = "#{uuid}.webm"
directory = "#{Rails.root}/public/record"
directory = directory + "/chrome" if params[:chrome]
directory = directory + "/firefox" if params[:firefox]
audio_path = File.join(directory, audio_file_name)
video_path = File.join(directory, video_file_name)
#puts params[:audioBlob].tempfile.read
File.open(audio_path, "wb") { |f| f.write(params[:audioBlob].tempfile.read) } if params[:audioBlob]
File.open(video_path, "wb") { |f| f.write(params[:videoBlob].tempfile.read) } if params[:videoBlob]
output = `ffmpeg -i #{video_path} -i #{audio_path} -acodec copy -vcodec copy #{directory}/#{uuid}.mkv`
message[:video_url] = "/record/chrome/#{video_file_name}" if params[:chrome]
message[:video_url] = "/record/firefox/#{video_file_name}" if params[:firefox]
message[:audio_url] = "/record/chrome/#{audio_file_name}" if params[:chrome]
message[:audio_url] = "/record/firefox/#{audio_file_name}" if params[:firefox]
message[:audio_video_url] = "/record/chrome/#{uuid}.mkv" if params[:chrome]
message[:audio_video_url] = "/record/firefox/#{uuid}.mkv" if params[:firefox]
我的问题是当我尝试通过 Firefox 运行此代码时,ffmpeg 给出了未找到编解码器的错误。我不确定我错过了什么。有人可以帮忙吗?
【问题讨论】:
标签: javascript ruby-on-rails firefox ffmpeg webrtc