#!/usr/bin/ruby -w

#==============================================================
# ogv2mpg.rb - convierte archivos multimedia Ogg a video mpeg2
#--------------------------------------------------------------
# Usa mencoder, que es un paquete de conversion de video.
# Dicho paquete viene incluido en la instalación del Mplayer
#==============================================================
# FJA - neocipres@gmail.com 		Julio de 2008 
#==============================================================

cmd = ''
sonido = 1
resp = ''

begin
 aogv, fps, escala, ampg = ARGV
 case ARGV.size
 	when 0
	 raise
	when 1
	 fps = "25"
	 escala = "800:600"
	 ampg = "out.mpg"
	when 2
	 escala = "800:600"
	 ampg = "out.mpg"
	when 3
	 ampg = "out.mpg"
	
 end
 print "\n\t Efectuamos una grabación con sonido? (S/n): "
 resp = STDIN.gets
 sonido = 0 if resp[0].chr.upcase == 'N'
 if sonido == 1
	cmd << "mencoder #{aogv} -oac mp3lame -of mpeg -ovc lavc -lavcopts vcodec=mpeg2video -ofps #{fps} -vf scale=#{escala} -o #{ampg}" 
	puts "\n\t Ejecutando: #{cmd} \n\n"
	system(cmd)
 else
	cmd << "mencoder #{aogv} -nosound -of mpeg -ovc lavc -lavcopts vcodec=mpeg2video -ofps #{fps} -vf scale=#{escala} -o #{ampg}" 
	puts "\n\t Ejecutando: #{cmd} \n\n"
	system(cmd)
 end
rescue
 if !aogv 
	print "\n\t", "="*73
  	print "\n\t Uso: ogv2mpg <archivo.ogv> [fps] [ancho:alto] [archivo.mpg]\n"
	print "\n\t\t ogv2mpg es un enlace simbólico a ogv2mpg.rb "
	print "\n\t", "-"*73, "\n"
	print "\n\t fps \t-> número de fotogramas por segundo, por defecto 25 "
	print "\n\t escala -> relación ancho:alto del video de salida, por defecto 800:600 \n"
	print "\n\t", "="*73, "\n\n"
 else
	puts "\n\t Error-> #{$!} \n\n"
 end

end