[HowTo] Trocear un video desde línea de comandos con ffmpeg o mencoder
Posted: sábado, 9 de noviembre de 2019 by Termita in Etiquetas: cli, edición de video, ffmpeg, línea de comandos, mencoder, multimedia, partir, trocear, video¿Para qué podemos querer trocear un video?
Por ejemplo, para subirlo a nuestra "nube" de Telegram, que sólo admite un máximo de 1'5gb por archivo.
Debo señalar que cuando a veces he troceado con ffmpeg -probablemente a causa de las características del "ripeo" del video- el resultado tiene un desfase audio-video. Esto es francamente desagradable.
Por otro lado, mencoder a día de hoy ya no es una herramienta que esté siendo mantenida activamente, al contrario de ffmpeg. Esto no resta potencia a mencoder, mas cabe señalarlo.
A. Mediante mencoder
mencoder -noskip -mc 0 -ss hhmmssDeInicio -endpos hhmmssDeFin -oac copy -ovc copy nombredelvideoOrigen.avi -o nombredelvideo_fragmento_xdey.avi
(*) Los tiempos que se asignarán han de ser dados en el formato hh:mm:ss
(**) El parámetro -noskip -mc 0 sirve para que no se salte los frames duplicados ("duplicate frames"). Esto es útil para evitar desincronía audio-video.
---------------------------
por ejemplo:
mencoder -noskip -mc 0 -ss 00:00:00 -endpos 00:40:00 -oac copy -ovc copy historiadelinux.avi -o nombredelvideo_fragmento_1de2.avi
mencoder -noskip -mc 0 -ss 00:40:00 -endpos 01:15:08 -oac copy -ovc copy historiadelinux.avi -o nombredelvideo_fragmento_2de2.avi
De esta forma, dado un video llamado historiadelinux.avi lo partiremos en 2 fragmentos, teniendo en cuenta los frames duplicados. Un fragmento será de exactamente 40' y el otro de 35' y 8''.
---------------------------
B. Mediante ffmpeg
ffmpeg -i nombredelvideoorigen.avi -ss hh:mm:ssDeInicio -to hh:mm:ssDeFin -c:v copy -c:a copy nombredelvideo_fragmento_xdey.avi