vidcutter tutorial cortar comprimir comandos linux video ffmpeg video-editing

linux - cortar - ffmpeg tutorial



Cortar los videos según la hora de inicio y finalización usando ffmpeg (5)

Intenté cortar el video usando la hora de inicio y finalización del video usando el siguiente comando

ffmpeg -ss 00:00:03 -t 00:00:08 -i movie.mp4 -acodec copy -vcodec copy -async 1 cut.mp4

Al usar el comando anterior, quiero cortar el video de 00:00:03 a 00:00:08 . Pero no está cortando el video entre esos tiempos, en lugar de eso, está cortando el video en los primeros 11 segundos. ¿Puede alguien ayudarme a resolver esto?

Edición 1:

He intentado cortar utilizando el siguiente comando sugerido por mark4o

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4

Pero se mostró el siguiente error.

el codificador ''aac'' es experimental pero los códecs experimentales no están habilitados

así que agregué el -strict -2 en el comando es decir,

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 -strict -2 cut.mp4

Ahora está funcionando bien.


Intenta usar esto. Es la manera más rápida y mejor de ffmpeg que he descubierto:

ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:00 -c copy output.mp4

Este comando recorta tu video en segundos!

Lo he explicado en mi blog here :

-i: Esto especifica el archivo de entrada. En ese caso, es (input.mp4).
-ss: usado con -i, esto busca en el archivo de entrada (input.mp4) para posicionar.
00:01:00: Este es el momento en que comenzará el video recortado.
-to: Esto especifica la duración desde el inicio (00:01:40) hasta el final (00:02:12).
00:02:00: Este es el momento en que terminará el video recortado.
-c copia: esta es una opción para recortar vía copia de secuencia. (NB: muy rápido)

El formato de tiempo es: hh: mm: ss

Tenga en cuenta que la respuesta actual altamente actualizada está desactualizada y el recorte sería extremadamente lento. Para más información, mira este article oficial de ffmpeg.


Para cortar según la hora de inicio y finalización del video de origen y evitar tener que hacer cálculos matemáticos, especifique la hora de finalización como la opción de entrada y la hora de inicio como la opción de salida.

ffmpeg -t 1:00 -i input.mpg -ss 45 output.mpg

Esto producirá un corte de 15 segundos de 0:45 a 1:00.

Esto se debe a que cuando -ss se da como una opción de salida, el tiempo descartado aún se incluye en el tiempo total leído desde la entrada, que -t utiliza para saber cuándo detenerse. Mientras que si -ss se da como una opción de entrada , la hora de inicio se busca y no se cuenta , que es de donde viene la confusión.

Es más lento que buscar, ya que el segmento omitido aún se procesa antes de ser descartado, pero esta es la única forma de hacerlo por lo que sé. Si está recortando desde un archivo grande, es más prudente simplemente hacer los cálculos y usar -ss para la entrada.


Probablemente no tenga un fotograma clave en la marca de 3 segundos. Debido a que los fotogramas clave no codifican las diferencias de otros fotogramas, requieren todos los datos que comienzan con el fotograma clave anterior.

Con el contenedor mp4 es posible cortar en un fotograma no clave sin volver a codificar utilizando una lista de edición. En otras palabras, si el fotograma clave más cercano antes de los 3s está en 0s, copiará el video comenzando en 0s y usará una lista de edición para decirle al jugador que comience a reproducir 3 segundos.

Si está utilizando el último ffmpeg de git master, lo hará utilizando una lista de edición cuando se invoque mediante el comando que proporcionó. Si esto no funciona para usted, es probable que esté usando una versión anterior de ffmpeg o que su reproductor no admita listas de edición. Algunos jugadores ignorarán la lista de edición y siempre reproducirán todos los medios en el archivo de principio a fin.

Si desea cortar con precisión comenzando en un fotograma no clave y desea que se reproduzca desde el punto deseado en un reproductor que no admite listas de edición, o desea asegurarse de que la parte de corte no esté realmente en el archivo de salida (por ejemplo, si contiene información confidencial), puede hacerlo recodificando para que haya un fotograma clave exactamente a la hora de inicio deseada. La recodificación es el valor predeterminado si no especifica la copy . Por ejemplo:

ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4

Cuando vuelva a codificar, es posible que también desee incluir opciones adicionales relacionadas con la calidad o un codificador AAC particular. Para obtener más información, consulte la Guía de codificación x264 para video de ffmpeg y la Guía de codificación AAC para audio.

Además, la opción -t especifica una duración, no una hora de finalización. El comando anterior codificará 8s de video a partir de 3s. Para comenzar en 3s y terminar en 8s usa -t 5 . Si está utilizando una versión actual de ffmpeg, también puede reemplazar -t con -to en el comando anterior para finalizar a la hora especificada.


ffmpeg -i movie.mp4 -vf trim=3:8 cut.mp4

Soltar todo excepto del segundo 3 al segundo 8.


ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 -c copy cut.mp4

Utilice -c copia para hacer en al instante. En ese caso, ffmpeg no volverá a codificar el video, solo lo cortará según el tamaño.