Estoy metido en faena con mencoder y con distintas opciones de codificación. Teniendo en cuenta que debe ser uno de los programas en linux con mayor número de opciones y parámetros a veces se hace complicado leerse todas las opciones.
Encontrar buena información relativa a ejemplos también es complicado y pese al excelente archivo de recopilación que es delicious he decidido mostrar alguno de los ejemplos más comunes.
Convertir mkv a xvid empleando hilos (para cpus con más de 1 core):
mencoder -nosound -noskip -mc 0 entrada.mkv -ovc xvid -xvidencopts bitrate=1200:threads=3 -o salida.avi
en primer lugar, mencoder (o en su defecto una versión recompilada /usr/local/mplayer/bin/mencoder ya que sólo en el nuevo xvid build xvid-1.2.0-dev se permite codificación multihilo) , después nos saltamos la recodificación de las cadenas de audio ya que puede (en mi caso lo hizo) dar problemas , el archivo de entrada, la salida en xvid y sus opciones más típicas (bitrate y threads) y el archivo de salida.
Convertir de ac3 a mp3
transcode -i entrada.ac3 -a 0 -x null,ac3 -g 0×0 -s 4.47 -y raw -m salida.mp3 -E 44100
pasamos el fichero de entrada, le indicamos el tipo de archivo que es, le decimos el tipo de salida que queremos , le aplicamos la ganancia (4.47 en nuestro caso, subir si necesitáis más volumen) le decimos que la salida es un fichero mp3 a 441000 de tasa de muestreo.
Normalizar el audio mp3
Para normalizar el audio podemos emplear distintos programas , normalize , mp3gain o ffmpeg (aunque como hemos visto transcode también lo puede normalizar).
sudo apt-get install mp3gain normalize-audio
con mp3gain
mp3gain -r -d 2.0 entrada.mp3
con lo cual le decimos que normalice (por defecto lo hace a 89dB), a veces no será suficiente, con -d valor_numérico subiremos el nivel (ojo, nos pedirá que aceptemos los cambios).
Extraer pistas ( subtítulos, audio , video ) de un mkv
mkvextract tracks entrada.mkv numero_de_pista:salida.extensión
Le pasamos el comando mkvextract seguido de tracks y a continuación el fichero de entrada, le indicamos el nombre de:
- la pista de subtítulos que queremos extraer (mkinfo fichero nos lista esa información) y le pasamos la salida con extensión .srt (esto es valido si el fichero es de texto y srt).
- la pista de vídeo (generalmente el track 1) para lo cual bastará como salida.extensión poner por ejemplo video.extensión
- las pistas de audio a extraer con la extensión correspondiente, para un fichero dual español-inglés pondremos 1:audio_es.ac3 2:audio_en.ac3
Lo más interesante es que si lo hacemos todo junto la extracción de todos los componentes se realiza en una sóla lectura del archivo y es más rápido.
Crear un fichero mkv como container de distintos formatos
mkvmerge -o salida.mkv -A video.avi –default-language es audio_es.mp3 –language 0:en audio_en.ogg subs_forzados.srt subs_es.srt –language 0:en subs_en.srt
Creamos un fichero salida.mkv que contiene un fichero de video que es el original (al que le decimos con -A que no le copie el audio), asignamos los audios y los subtítulos.
Convertir un MOV de Quicktime a MPEG-2 (DVD)
ffmpeg -i entrada.mov -threads 3 -target dvd salida.mpg
Convertir un DVD de alta calidad a un vídeo de menor resolución MPEG-2 (SVCD)
ffmpeg -i entrada.mpg -threads 3 -target svcd salida.mpg
Extraer el audio de un MKV remuxearlo a MP3
mplayer -vc dummy -vo null -ao pcm:file=salida.wav entrada.mkv
extraemos el audio en pcm (wav)
normalize-audio salida.wav
lo normalizamos para asegurarnos de que no está muy bajo
lame salida.wav –cbr -b 128 salida.mp3
codificamos el WAV a MP3
mencoder entrada.mkv -ovc xvid -nosound -mc 0 -noskip -xvidencopts pass=1 -o entrada.avi
extraemos el video original
mencoder entrada.avi -oac copy -ovc copy -audiofile salida.mp3 -o salida.avi
muxeamos de nuevo con el audio.
Convertir un MKV a un AVI que pueda ser leido por la XBOX360
mencoder entrada.mkv -ffourcc XVID -ovc lavc -lavcopts vcodec=mpeg4:threads=8:vbitrate=$vbitrate:cmp=2:subcmp=2:trell=yes:v4mv=yes:mbd=2 -oac lavc -lavcopts acodec=ac3:abitrate=384 -channels 6 -o salida.avi
Para más referencias sugiero las páginas de manual de mencoder, transcode, ffmpeg y mkvextract o mkvmerge (mkvtools).
Es decir :
man mencoder , man transcode, man ffmpeg , man mkvextract , man mkvmerge