#!/usr/bin/env ruby # # Simple script to extract the audio part of a video # and encode it to mp3. # Depends on 'mplayer' and 'lame' STDOUT.sync = true name = ARGV[0] abort("usage: #{$0} filename") if name.nil? abort("a file name 'audiodump.wav' already exist") if File.exist? 'audiodump.wav' ext = File.extname name dir = File.dirname name new_name = File.join dir, (File.basename(name,ext) + '.mp3') puts ':: Start encoding...' puts " The new file will be:\n => #{new_name}" puts ' Please wait.' unless system("mplayer -vo null -ao pcm:fast '#{name}'") abort("Encoding failed. Make sure you have mplayer installed") end unless system("lame -b 192 audiodump.wav '#{new_name}'") abort("Encoding failed. Make sure you have lame installed") end puts ':: Removing audiodump.wav' `rm -f audiodump.wav` puts ':: End'