Esta es la continuación y final del artículo anterior sobre Edición multimedia: MEncoder y MPlayer (Parte I).
Recortar imagen del video (Cropping)
Al final de la primera parte del artículo anterior, hablé sobre las opción que se utiliza para recortar la imagen del video, y sobre el problema que se presenta en los DVDs con las lineas negras pequeñas que aparecen en los costados de la imagen (derecha, izquierda, arriba y abajo). Esta opción también es útil para cualquier tipo de recorte de imagen, prácticamente se puede remover la mitad de la imagen del video si uno quisiera.
Menciono que la mejor forma de previsualizar un video antes de su codificación (encodeo) con MEncoder, es reproduciendo el video con MPlayer, así tendremos una clara idea sobre como quedará finalmente el video con la imagen recortada.
La opción del filtro de video "crop" se activa gracias al filtro de video: "-vf", y se utiliza de la siguiente forma en su previsualización, para ver como como quedará:
mplayer video.avi -vf crop=w:h:x:yAhora explicaré que significa cada letra: crop=w:h:x:y
w: Ancho de la imagen del video que quedará al final.
h: Alto de la imagen del video que quedará al final.
x: Moviendo la imagen de derecha a izquierda, para dejarla centrada.
y: Moviendo la imagen de abajo hacia arriba, para dejarla centrada.
A la hora de tener recortada la imagen es muy recomendable agregar la opción "scale", que sivre para escribir la nueva resolución con la que quedará finalmente el video.
En este caso estaremos recortando la imagen de un video con una resolución de 720x480, y que finalmente quedará con una resolución de 640x480. Y notar que solamente recortaremos el ancho de la imagen, y moveremos de derecha a izquierda la imagen para que quede centrada:
mplayer video.avi -vf crop=699:480:12:0,scale=640:480Encodeando el resultado
Para el resultado final del video, solamente se cambiara por mencoder, y se agregaran algunas opciones como la salida del nombre del video (-o), la salida del codec de audio (-oac), y la salida del codec de video (-ovc), y agregaremos las opciones simples de Xvid que expliqué en la Parte I para no gastar espacio, y el audio lo dejaremos intacto, sin encodear:
mencoder video.avi -o video_imagen_recortada.avi -vf crop=699:480:12:0,scale=640:480 -oac copy -ovc xvid -xvidencopts pass=1:bitrate=2050
Resolución y aspecto proporcional del video
Como nombré más arriba, el filtro de video "scale", sirve para cambiar la resolución de la imagen de un video, esto sirve para disminuir o aumentar la resolución del tamaño de la imagen del video.
Al cambiar la resolución, el aspecto proporcional del video lo ajustará automáticamente en MPlayer y MEncoder, pero para utilizarlo como un profesional es mejor seguir los siguientes consejos:
Si queremos una imagen de pantalla ancha (widescreen), y no sabemos que resolución se utiliza para ello, es mejor tener una idea solamente del ancho en que queremos que quede.
La opción "-2" determina automáticamente el alto del video en que quedara nuestra imagen de video a pantalla ancha, y la opción "dsize=16/9" se encargara de dejarla en el aspecto 16:9 que es propio de los videos con una imagen de pantalla ancha (widescreen) para televisores del tipo LCD, Plasma o OLED, en que casi siempre vienen con pantalla ancha. El resultado de esto será una imagen de 704x396:
mplayer video.avi -vf scale=704:-2,dsize=16/9Ahora haremos lo mismo, pero con una imagen semicuadrada con un aspecto proporcional de 4:3, que es común en televisores convencionales CRT. El resultado de esto será una imagen de 640x480:
mplayer video.avi -vf scale=640:-2,dsize=4/3Encodeando el resultado
En este caso ocuparemos las opciones de encodeo simple para no gastar mucho espacio en el artículo:
mencoder video.avi -o video_imagen_aspecto_escalado.avi -vf crop=699:480:12:0,scale=640:-2,dsize=4/3 -oac copy -ovc xvid -xvidencopts pass=1:bitrate=2050
Cortar u dividir un video
Para dividir un video, solamente se requiere de dos opciones: "-ss" y "-endpos" y se utilizan de la siguiente manera...
Primero previsualizaremos lo que cortaremos del video, eso se realiza seleccionando desde que segundo queremos que empiece a cortar y cuantos segundos queremos que encodeé. Con "-ss
O sea; que parta desde el segundo 180 y se muestren solamente o encodeé (si es el caso de MEncoder) 240 segundos:
mplayer video.avi -ss 180 -endpos 240Esos si, los tiempos no siempre son precisos, MEncoder/MPlayer sólo pueden empezar o terminar una codificación en una keyframe (llave de un fotograma) ya estipulada en el video.
Copia directa del resultado
En el caso de cortar un video no es necesario volver a encodear un video, y dejaremos el audio y video intactos en lo que respecta a calidad o cambio en la tasa de bits.
Tengo un video de 10 minutos y quiero encodear solamente desde el minuto 3 al 7, perdiendo el resto:
mencoder -nobps video.avi -o video_cortado.avi -ss 180 -endpos 240 -oac copy -ovc copy
Unir varios videos
Lo siguiente solo funciona si los videos a unir tienen la misma resolución (obvio), y el mismo codec de video y audio. También si tiene el mismo contenedor, ya sea .AVI, .WMV, .MP4, etc.
Dicho y entendido lo de arriba, se pueden unir la cantidad que uno quiera de videos en uno solo, y dejando intactos, sin encodear, los codecs de audio y video:
mencoder -nobps -forceidx video1.bla video2.bla -o video_unido.bla -oac copy -ovc copy
Copias directas de audio o video
En algunos casos, como DVDs o videos con contenedor .AVI, vienen con múltiples pistas de audio, y si queremos seleccionar una determina, solamente emplearemos lo siguiente, y como dice el subtitulo, haremos copias directas sin encodear el audio o el video:
mencoder video1.avi -o video2.avi -oac copy -aid 1 -ovc copyAhora haremos lo mismo, pero encodearemos solo el audio, y dejando el video intacto:
mencoder video1.avi -o video2.avi -oac -aid 1 mp3lame -lameopts cbr:br=192 -ovc copyAhora lo haremos al revés, encodearemos solo el video con una opción simple de encodeo de Xvid, y dejando el audio intacto:
mencoder video.mp4 -o video.avi -oac copy -ovc xvid -xvidencopts bitrate=2050MKV
En el caso de utilizar el contenedor MKV, y quieran extraer las pistas, instalan "mkvtoolnix", ese paquete vendrá con la aplicación "mkvextract", la cual permite extraer pistas de los MKV. Y por una termianl sería:
mkvextract tracks video.mkv 1:video.avi 2:audio.aac 3:subtitulo.srtArriba primero se muestra el archivo MKV que se tiene (video.mkv), luego el número de la pista en que se encuentra el video a extraer (1:video.avi), luego el número de pista del audio (2:audio.aac), y luego el número de la pista del subtitulo (3:audio.srt), usualmente es en ese orden.
Si trae más pistas de audio, solamente se selecciona en que pista de audio se encuentra la que ustedes quieran. Si no quieren extraer el subtitulo o el video, solamente remueven esas opciones.
DVD
Ahora pasaremos su uso a DVD. Pasando el video DVD (MPEG-2) en bruto RAW y el audio PCM, a un video con contenedor .MPG (para pasar toda la película, hay que borrar la opción -chapter 1-1, y si queremos el audio AC-3, agregaremos la opción -aid 129, o el número en que se encuentre la pista del AC-3 visto con MPlayer):
mencoder dvd://1 -chapter 1-1 -ovc copy -oac pcm -o video.mpgEstas opciones también sirven para pasar copias directas... Y ahora pasaremos el video DVD (MPEG-2) más el audio deseado (AC-3 ó PCM) a un video con contenedor .MPG:
mplayer dvd://1 -aid 129 -dumpstream -dumpfile video.mpg
Extraer y juntar u agregar audio/video
En algunas ocasiones, nos dará por extraer solo el audio o el video de un archivo multimedia, para después agregarlo a otro archivo, eso es lo que haremos ahora...
Extrayendo solo el audio MP3 de un video (utilizar -aid por si hay mas de un audio). Esto también sirve para otros tipos de audio, como: AAC, Ogg, WMA, PCM, etc:
mplayer video_con_audio.avi -dumpaudio -dumpfile audio.mp3Extrayendo solo el video, sin audio.
mencoder video_con_audio.avi -nosound -ovc copy -o video_sin_audio.aviDejar una sola pista de audio en un video venga con múltiples pistas de audio (nº: especifica el número de pista de audio deseada)
mencoder entrada.avi -aid nº -oac copy -ovc copy -o salida.aviJuntando el audio más el video en un solo archivo.
mencoder video_sin_audio.avi -audiofile audio.mp3 -oac copy -ovc copy -o video_con_audio.aviTambién serviría utilizar FFmpeg:
ffmpeg -i video.avi -i audio.mp3 -acodec copy -vcodec copy video_con_audio.avi
DVD
Extrayendo audio PCM del primer capitulo de un DVD (para extraer todo el audio, hay que borrar la opción "-chapter 1-1")
mplayer dvd://1 -chapter 1-1 -vo null -aid 160 -ao pcm:file=track1.wavExtrayendo audio AC3 del primer capitulo de un DVD (para extraer todo el audio, hay que borrar la opción -chapter 1-1)
mplayer dvd://1 -chapter 1-1 -vo null -aid 129 -dumpaudio -dumpfile audio.ac3Extrayendo video del DVD (MPEG-2) a un video con contenedor MPG sin audio (para extraer toda la película, hay que borrar la opción -chapter 1-1)
mencoder dvd://1 -chapter 1-1 -nosound -ovc copy -o video_sin_audio.mpg
Suprimir logo en video
En muchos casos, los videos grabados desde la televisión o creados por otros usuarios, traen logos, animaciones en las esquinas del video, o en otros casos, traen leyendas en la parte bajar o arriba de la imagen del video.
Para tapar el logo, o lo que sea que moleste, se puede emplear el filtro de video "delogo", y que funciona de la siguiente manera: delogo=x:y:w:h:t
mplayer -vf delogo=x:y:w:h:tAhora explicaré que significa cada letra: delogo=x:y:w:h:t
x: La ubicación de la transparencia en el ancho del video.
y: La ubicación de la transparencia en el alto del video.
w: El ancho de la transparencia final.
h: El alto de la transparencia final.
t: Tono del color de la transparencia.
Y como ejemplo:
mplayer video.avi -vf delogo=624:29:42:25:0
Pegar subtitulos al video (Hardsub)
En el mundo de los Fansubs esto es muy común, pero para conservar el video intacto, sin ediciones que puedan arruinar la fuente original del video, esto, por si alguna vez quieres usar el video para otro propósito, no es muy recomendable. Pero si quieres "fansubear" o "hardsubear" un video, bienvenido seas. Aunque yo siempre dejo los subtitulo SubRip (SRT) por separados, dejando el subtitulo con el mismo nombre que el video.
La configuración que recomiendo es la siguiente, y mencionar que hay que escribir el nombre del subtitulo SRT:
mencoder video.avi -o video_harsubeado.avi -sub subtitulo.srt -subfont-text-scale 2.8 -subfont-blur 0 -subfont-outline 1.8 -ffactor 0.90 -subcp iso-8859-15 -font * -oac copy -ovc xvid -xvidencopts pass=1:bitrate=2050En el caso de un DVD que viene con los subtitulos seleccionable, y quisieramos encodearlo junto con los subtitulos, solo necesitamos la opción "-sid", para que haga todo el trabajo de pegado del subtitulo:
mplayer dvd://1 -o video_hardsubeado.avi -sid 0 -oac copy -ovc xvid -xvidencopts pass=1:bitrate=2050
Extras
En los casos de recortar la imagen de un video (cropping), o cambiar la resolución de este, es también aconsajable para algunos casos el filtro "harddup", el filtro forza los marcos de imagen duplicados para codificarse en la salida del video. Este filtro se agrega al final de la cadena de filtros para video "-vf".
Si quieren crear una imagen en movimiento GIF, eso se puede lograr facilmente según está linea de comandos:
mplayer video.avi -ss 10 -endpos 5 -vo gif89a -vf scale=100:100Ver video en blanco y negro:
mplayer video.avi -vf hue=0:0Efecto espejo, reflejar la imagen:
mplayer video.avi -vf mirrorDar vuelta el video:
mplayer video.avi -flipPoner el video parado:
mplayer video.avi -vf flip
mplayer video.avi -vf rotate=1Reproducir DVD con subtitulos y desentrelazado:
mplayer video.avi -vf rotate=2
mplayer dvd://1 -sid 0 -vf filmdintReproducir CD de audio:
mplayer cdda://1Pasar Track #1 de CD de audio a WAV:
mplayer cdda://1-1 -ao pcm:file=track1.wavVer los codecs de video que hay para encodear:
mencoder -ovc helpVer los codecs de audio que hay para encodear:
mencoder -oac helpY recordar nuevamente que los ejemplos que tengan la opción "pass=1" en el encodeo de Xvid fue explicada en la Parte I de este artículo, y que la segunda pasada se realizada después de terminar la primera pasada.
Y también recordar que en el sitio de MPlayer hay mucha documentación sobre todas las opciones que se pueden emplear, todo disponible en inglés y español. O también se puede ver el manual que viene incluido con MEncoder/MPlayer en Linux, ahí vienen todas las opciones para echarle un ojo. Solo tipear lo siguiente en una Terminal (las dos te llevaran al mismo manual):
man mplayerCon esto doy por finalizado (hasta el momento) las guías de Edición multimedia. La Parte I se encuentra acá.
man mencoder

Gracias por su colaboración, muy bueno este blog, me ha servido mucho
ResponderEliminarme ayudo mucho... gracias.
ResponderEliminarTengo una pregunta..con respecto a los subtitulos,
ResponderEliminarCuando intenta pegar subtitulos en formato .ass ,
en el video encodeado..los subtitulos me aparecen sin estilos ni nada..
Estoy haciendo algo mal..o solo se puede con subtitulos SRT??
Y que opciones puedo modificar para bajar el peso del video encodeado??
Gracias por tu respuesta..
Si no te aparecen las configuraciones ASS al encodear, puede ser que las opciones ASS no funcionen para MEncoder, pero si para MPlayer. Lee bien en el manual de mencoder/mplayer si se puede hacer eso: man mencoder ( http://tivo-mplayer.sourceforge.net/docs/mplayer-man.html )
ResponderEliminarPara bajar el peso de un archivo hay que bajar el bitrate del video o audio, con eso se puede ganar menos peso, también puedes disminuir la resolución por pixeles del video, pero haciendo eso se vería pequeña la imagen.
SI tienes razon...ya me lei el extenso!!!! manual de mplayer y mencoder...jajaj
ResponderEliminarlamentablemente no es posible el encodeo con subtitulos ASS...
Pero si es posible verlos en el Mplayer..agregando -ass ... Q pena..la calidad y la velcidad de encodeo son impresionantes...pero para mis propositos de fansub...necesito el ass...Gracias por el excelente tutorial!!
Saludos!!...