我正在尝试在上传到 S3 之前转换 Mp3 文件的比特率,我可以为 mp3 文件创建版本,但该版本没有保存在 s3 中,而是将原始文件上传到 s3。
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