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.