Edición de video desde consola.
La edición de vídeo desde la consola aunque no es muy usada por los usuarios si es muy necesario para programadores o para trabajar con vídeos por medio de ssh. Aunque a algunos en un primer vistazo le parecerá bastante complejo la verdad es que con unos pocos comandos puedes cambiar el formato de un vídeo, añadirle subtitulos, cambiar el audio …
Cuando tienes unos vídeos alojados en algún servidor descargarlos y volverlos a subir es, simplemente, un coñazo, especialmente si tenemos en cuenta que todo eso se puede hacer desde un terminal con la siguiente información:
- ffmpeg nos permitirá cambiar el formato de un vídeo a través de la linea de comandos, también nos permitirá una codificación en tiempo real a traves de una targeta de TV
- ffserver es un servidor http servidor de streaming que permitirá transmisiones multimedia en vivo
- libavcodec , biblioteca que incorpora la gran mayoría de codecs.
- libavformat, otra biblioteca que contiene los analizadores y generadores de audio.
Para convertír un vídeo, lo primero que haremos será instalar ffmpeg, para ello usaremos el comando sudo apt-get install ffmpeg o equivalentes según la distribución de GNU/Linux que usemos.
Una vez instalado hay que tener en cuenta los datos que nos permitirán controlar la calidad del vídeo:
- -b . bitrate del vídeo, por defecto 200kb/s
- -ab . bitrate del audio, por defecto 64kb/s
- -ar . velocidad de muestreo, por defecto 44100 Hz
- -s . tamaño del frame por defecto 160*128
Ahora ya podemos probar a convertir un vídeo, por poner un ejemplo:
- ffmpeg -i videoentrada.flv -ab 80 -ar 44100 -b 600 -s 640×320 videosalida.mpg
También tenemos mencoder donde muchos comentan que es la navaja suiza de los vídeos, para instalarla al igual que ffmpeg, sudo apt-get install mencoder o equivalente según la distribución.
Mediante paraisolinux encontré una serie de listado de comandos que nos permitirán hacer maravillas con los vídeos:
Convertir AVI a DVD PAL
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800 :vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192 :aspect=16/9 -ofps 25 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a DVD NTSC
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf-vf scale=720:480,harddup -srate 48000 -af lavcresample=48000-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800 :vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI con audio AC-3 a DVD PAL
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,harddup -ofps 25 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800 :vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI con audio AC-3 a DVD NTSC
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800 :vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001-o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a SVCD PAL
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917: vrc_minrate=600:vbitrate=2500:vrc_maxrate=2500 :acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a SVCD NTSC
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917 :vrc_minrate=600:vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a VCD PAL
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152: vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a VCD NTSC
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=
1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 -o pelicula_destino.mpg pelicula_origen.avi
Convertir AVI a MPG
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video:vbitrate=1100 -ofps 25 -oac lavc -lavcopts acodec=mp2:abitrate=128 -srate 44100 -vf pp=hb/vb/dr/al/lb -o película_destino.mpg película_origen.avi
Convertir FLV a AVI
mencoder -ofps 15 -vf scale=300:-2 -oac lavc -ovc lavc -lavcopts vcodec=msmpeg4v2:acodec=mp3:abitrate=64 -o pelicula_destino.avi pelicula_origen.flv
Convertir AVI a FLV
mencoder -forceidx -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=250:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=360:240 -o pelicula_destino.flv pelicula_origen.avi
Convertir AVI a MP4
mencoder -oac copy -of lavf -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=
1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo -lavfopts format=mp4 -o pelicula_destino.mp4 pelicula_origen.avi
Convertir MOV a AVI
mencoder -oac mp3lame -srate 22050 -ovc lavc -lavcopts vcodec=mjpeg -o pelicula_destino.avi pelicula_origen.mov
Convertir WMV a AVI
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect -oac mp3lame -o pelicula_destino.avi pelicula_origen.wmv
Convertir MKV a AVI
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect -oac mp3lame -o pelicula_destino.avi pelicula_origen.mkv
Convertir OGM a AVI
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect -oac mp3lame -o pelicula_destino.avi pelicula_origen.ogm
Aumentar el volumen a un AVI
mencoder -ovc copy -oac mp3lame -lameopts abr:br=128:vol=7 -o pelicula_destino.avi pelicula_origen.avi
Incrustar Subtítulos
-sub archivo_subtitulo.srt -subcp latin1 -font ‘Bitstream Vera Sans’ -subfont-text-scale 3.8
-font «/usr/share/fonts/truetype/freefont/FreeSansBold.ttf» (con las comillas)
mencoder -oac copy -ovc lavc -sub archivo_subtitulo.srt -subcp latin1 -font ‘Bitstream Vera Sans’ -subfont-text-scale 3.8 -o pelicula_destino.avi pelicula_origen.avi
mencoder -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect -oac mp3lame -sub archivo_subtitulo.srt -subcp latin1 -font ‘Bitstream Vera Sans’ -subfont-text-scale 3.8 -o pelicula_destino.avi pelicula_origen.mkv
Cortar, Unir, Rotar
-Cortar un AVI desde el segundo 5 hasta los 30 segundos.
mencoder -ovc copy -oac copy -ss 5 -endpos 30 -o pelicula_destino.avi pelicula_origen.avi
-Rotar un AVI 90 grados a la derecha
mencoder -ovc lavc -oac copy -vf rotate=1 -o pelicula_destino.avi pelicula_origen.avi
-Rotar un AVI 90 grados a la izquierda
mencoder -ovc lavc -oac copy -vf rotate=2 -o pelicula_destino.avi pelicula_origen.avi
-Unir varios AVIS en uno solo
mencoder -oac copy -ovc copy -idx -o pelicula_destino.avi parte1.avi parte2.avi
Puedes conocer más sobre mencoder en el artículo Edición de vídeo usando la consola