Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 生产中使用Rails 4.2的FFMPEG_Ruby On Rails_Ffmpeg - Fatal编程技术网

Ruby on rails 生产中使用Rails 4.2的FFMPEG

Ruby on rails 生产中使用Rails 4.2的FFMPEG,ruby-on-rails,ffmpeg,Ruby On Rails,Ffmpeg,我正在使用FFMPEG将上传的wav文件转换为mp3格式 我的代码在开发模式下工作,但在生产模式下不工作,我找不到错误所在。据我所知,我认为这是tmp文件的路径问题。当我在终端上运行命令时,FFMPEG在生产(数字海洋)中工作 我的mp3工作: class Mp3UploadJob < Struct.new(:audiofile_id) def perform path = audiofile.wav_file.url.to_s mp3

我正在使用FFMPEG将上传的wav文件转换为mp3格式

我的代码在开发模式下工作,但在生产模式下不工作,我找不到错误所在。据我所知,我认为这是tmp文件的路径问题。当我在终端上运行命令时,FFMPEG在生产(数字海洋)中工作

我的mp3工作:

    class Mp3UploadJob < Struct.new(:audiofile_id)

      def perform
        path = audiofile.wav_file.url.to_s
        mp3_file = File.join(Rails.root, "tmp", "uploads", "#{audiofile.filename}.mp3")
        %x[ffmpeg -i "#{path}" -b:a 192k -ar 44100 -metadata title="#{audiofile.title}" -metadata artist="#{audiofile.mp3_artist_name}" -metadata album="#{audiofile.mp3_album}" -metadata date="#{audiofile.release_date}" -metadata genre="#{audiofile.genre}" "#{mp3_file}"]
        audiofile.mp3_file = open(mp3_file)
        audiofile.save!
        File.delete(mp3_file)
      end

    end
class Mp3UploadJob
注意:wav文件来自dropbox选择器框

我的wav作业(在mp3作业之前运行):

class WavUploadJob
如果您使用
回形针
将文件附加到您的模型上,您可以使用处理器-我使用的是具有与回形针等效的东西的载波。不幸的是,它不适用于远程URL。
    class WavUploadJob < Struct.new(:audiofile_id)

      def perform
        audiofile.remote_wav_file_url = audiofile.dropbox_wav
        audiofile.save!
      end
    end