Linux desde 0 y más allá

Septiembre 2, 2008

Mencoder : Ejemplos de uso

Archivado en: linea de comandos — Etiquetas: — mohicano @ 12:46 am

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

Aún no hay comentarios »

Aún no hay comentarios.

Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Blog de WordPress.com.