gentoo linux, java, software libre y otras hierbas
Oct, 09 2008 - 5:55 am

Limitar la duración o tamaño de un video [ffmpeg]

Con el siguiente tip podrás limitar tus videos en función del tiempo o el espacio que ocupen en disco. Para poner un límite de tiempo sería algo así:

ffmpeg -i video_original.flv -t 8 video_salida.avi

El resultado es un video cuya duración es de 8 segundos (los primeros ocho segundos del video original). Esto es bastante útil si necesitas extraer partes específicas de un video. Además podemos usarlo junto con la opción -ss, de tal manera que podamos escojer entre un tiempo específico dentro del video.

Por ejemplo, si deseamos extraer desde el segundo 6 hasta el segundo 15 de un video, bien podríamos ejecutar el siguiente comando:

ffmpeg -i video_original.flv -ss 6 -t 9 video_salida.avi

Ahora bien, si lo que deseamos es limitar el espacio que ocupa en disco, podríamos hacer algo como esto:

ffmpeg -i video_original.flv -fs 400000 video_salida.avi

El resultado es un video cuyo tamaño es de 400 KiloBytes.

Explicación…

Siempre he pensado que parte importante del aprendizaje en Linux es entender cada instrucción, y no simplemente ejecutar comandos “porque sí”. Es por eso que me gusta explicar en lo posible cada parte de los comandos, por básicos que sean:

  • -i video_original.flv, esto indica el nombre del archivo fuente
  • -t duracion, limita la duración del video. Se expresa en segundos (y es posible colocar decimales, por ej.: 6.5), y además admite el siguiente formato hh:mm:ss[.xxx] (horas:minutos:segundos.[milisegundos])
  • -fs limit_size, limita el tamaño del archivo
  • -ss position, se posiciona en un momento exacto dentro del video de entrada, antes de procesarlo. También soporta el formato hh:mm:ss[.xxx]
Etiquetas: ffmpeg, limitar, video

5 Comentarios | deja el tuyo

2 enlaces entrantes

3 Comentarios en “Limitar la duración o tamaño de un video [ffmpeg]”

  1. albertoja dice:

    Precisamente es lo que estaba buscando.
    Muchas gracias

  2. mushasha. dice:

    ¿y si quiero dividir el video en partes de 12 minutos? o sea 720 segundos. he escrito el comando y sólo me ha escrito el primer trozo y yo quiero trozos de ese tamaño hasta que el video original se acabe.

    ¿cómo se hace?

    gracias por adelantado.

  3. Cristian dice:

    Pues debes jugar con las opciones -ss y -t.

    Deberías poner algo como:

    ffmpeg -i bla.avi -t 720 primero.avi

    Para el primer trozo. Para el segundo, le sumas 720 segundos al ss:

    ffmpeg -i bla.avi -ss 720 -t 720 primero.avi

    Y así sucesivamente:

    ffmpeg -i bla.avi -ss 1440 -t 720 primero.avi

    Un saludo!

¡Déjanos tu comentario!