I am trying to convert the bit rate of the Mp3 file before uploading to
S3,
I can able to create version for the mp3 file but the version is not
saving
in s3 instead original file is uploading to s3, any help would be really
appreciated
version :bitrate_96k do
process :resample => “96”
end
def resample(bitrate)
tmp_path
= File.join( File.basename(current_path), “tmpfile” )
File.rename current_path, tmp_path
audio_details = ffmpeg -i '#{tmp_path}' 2>&1.split(“,”).split(“\n”).flatten
file_bitrate =
audio_details.grep(/bitrate/).grep(/bitrate/).join.split(“bitrate:
“).last.split(”\s”).first
unless file_bitrate == bitrate ffmpeg -i #{tmp_path.shellescape} -acodec libmp3lame -y -ab 96k #{current_path.path}
File.unlink(current_path)
FileUtils.mv(temp_path, current_path)
end
end
Th temporary file is created with the reduced bitrate, but I am not able
to
find an way to save the temporary file to s3. Simply I am trying to
save
the converted file instead of original file,
Th temporary file is created with the reduced bitrate, but I am not able to find
an way to save the temporary file to s3. Simply I am trying to save the converted
file instead of original file,
If you specify the converted file as a style, then it will be saved
alongside the original. I am not sure how you would replace the original
with the converted file, I know I have done this before in Paperclip,
but I’m not sure how you do it in Carrierwave.
Walter
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.