¿Cómo puedo usar FFMPEG para recortar un video?

FFMPEG ofrece varias formas de recortar un video, dependiendo de si desea recortar desde el principio y/o el final, o seleccionar una sección específica usando marcas de tiempo. Estos son los métodos más comunes:

Método 1:Recorte desde el principio y/o el final (usando `-ss` y`-to`)

Este es el método más simple para recortar un video desde el inicio y/o el final. `-SS` establece la hora de inicio, y` -To` establece la hora de finalización. Ambos aceptan una amplia variedad de formatos de tiempo (ver más abajo).

* Recorte desde el principio:

`` `Bash

ffmpeg -i input.mp4 -ss 10 -a 30 salidas.mp4

`` `` ``

Este comando recorta `input.mp4` a partir de 10 segundos y terminando a 30 segundos.

* Recorte desde el final:

`` `Bash

ffmpeg -i input.mp4 -ss 0 -a 20 salidas.mp4

`` `` ``

Este comando recorta `input.mp4` desde el principio hasta 20 segundos.

* Recorte tanto el inicio como el final:

`` `Bash

ffmpeg -i input.mp4 -ss 10 -a 60 salida.mp4

`` `` ``

Este comando recorta `input.mp4` de 10 segundos a 60 segundos.

Método 2:Seleccionar una sección específica usando marcas de tiempo (usando `-ss` y`--to` con un formato más preciso)

Para un control más preciso, puede especificar el tiempo usando el formato `HH:MM:SS.MS`:

`` `Bash

ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 salida.mp4

`` `` ``

Esto es equivalente al primer ejemplo en el Método 1. También puede usar segundos fraccionales (milisegundos).

Método 3:Recorte más eficiente (usando `-ss` antes de` -i`)

Para archivos más grandes, colocar `-ss` * antes * el archivo de entrada` -i` es significativamente más eficiente, ya que evita la decodificación de marcos innecesarios. Esto es muy recomendable para videos más largos. Sin embargo, buscar precisión podría ser un poco menos preciso.

`` `Bash

ffmpeg -ss 10 -i entrada.mp4 -a 30 salidas.mp4

`` `` ``

Formatos de tiempo aceptados por `-ss` y`--to`:

* `HH:mm:ss.ms` (horas:minutos:segundos. Millisegundos) E.G.,` 01:23:45.123`

* `Mm:ss.ms` (minutos:segundos. MilliseConds) E.G.,` 02:15.500`

* `Ss.ms` (Seconds.MilliseConds) E.G.,` 10.750`

* `Ss` (segundos) por ejemplo,` 10`

Consideraciones importantes:

* fotogramas de claves: FFMPEG intenta cortar en los fotogramas clave para una mejor calidad. Si especifica un tiempo que no es un cuadro de teclas, encontrará el cuadro de teclas más cercano, lo que podría dar como resultado una longitud de clip ligeramente diferente. El uso de la opción `-copyts` puede preservar las marcas de tiempo, pero puede que no siempre funcione perfectamente.

* Tamaños de archivo: Recortar un video crea un nuevo archivo. El tamaño del archivo de salida dependerá de la longitud del clip.

* Manejo de errores: Es una buena idea verificar los errores después de ejecutar el comando. Puede ver errores si las marcas de tiempo no son válidas o si el archivo de entrada no existe.

Recuerde reemplazar `input.mp4` y` output.mp4` con sus nombres de archivo reales. Elija el método que mejor se adapte a sus necesidades y siempre recuerde hacer una copia de seguridad de su video original antes de realizar cualquier edición.