Ruby on rails 生产中使用Rails 4.2的FFMPEG
我正在使用FFMPEG将上传的wav文件转换为mp3格式 我的代码在开发模式下工作,但在生产模式下不工作,我找不到错误所在。据我所知,我认为这是tmp文件的路径问题。当我在终端上运行命令时,FFMPEG在生产(数字海洋)中工作 我的mp3工作: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
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