使用JavaScript捕获视频和音频

3
我正在尝试从Web浏览器捕获视频和音频,并将其上传到服务器。问题是我不想在其中使用Flash。
因此,我正在使用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会给出编解码器未找到的错误。我不确定我缺少了什么。有谁能帮忙吗?

1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接