Últimamente trabajo con vídeos: grabando, retocando, recortando, subtitulando…
En Linux hay distintas opciones para hacerlo, pero una herramienta imprescindible para la manipulación de los mismos (en concreto para convertir de un formato a otro, recortar, etc.) es ffmpeg.
Por ejemplo, éste es uno de los comandos que suelo usar para recortar un vídeo:
ffmpeg -y -i <INPUT_FILE_NAME> -ss <START_TIME> -t <DURATION> -s 320x240 -acodec libmp3lame -ar 22050 -ac 2 -f flv <OUTPUT_FILE_NAME> |
La orden anterior sirve para recortar el vídeo de entrada INPUT, a partir de START_TIME y extendiéndose DURATION segundos. El resultado final se guardará en OUTPUT. Con eso, teóricamente valdría, pero la cuestión es que tras hacer algunas pruebas, vemos que el recorte es correcto pero se pierde la sincronía entre audio y vídeo en el archivo final. Para evitarlo, basta con recodificar: pasamos el canal de audio a mp3 con -acodec libmp3lame, a una frecuencia de 22050 Hz y 2 canales (ac 2). El resultado final será una vídeo en formato flv (-f flv).
A veces tengo una canal de audio externo (sin vídeo adjunto) que quiero recortar. Se puede hacer con sox fácilmente:
sox entrada.wav salida.wav trim 9 574 |
Recortaría el audio, comenzando en el segundo 9 (extendiéndose el recorte hasta 574 segundos más allá)
Para grabar audio, la orden desde la línea de comandos sería:
rec -r 22050 -c 2 salida2.wav |
(dos canales, a 22050 Hz)
Por supuesto, todo lo indicado se puede hacer también desde herramientas con interfaz gráfico, pero la idea es disponer de comandos que me permitan automatizar el proceso.