Sé que esta es una vieja pregunta, pero ninguna de las respuestas actuales es la forma recomendada.
Remuxing sin pérdida (video)
Como se señaló en los comentarios, hay una manera de hacer esto donde el video no
tiene que volver a codificarse. Requiere la remezcla del archivo a un formato de contactor diferente MKV y luego volverlo a mezclar en un MP4. Aquí hay un ejemplo que cambia un video a 12 cuadros / segundo:
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4
Si el video contiene audio también se puede reducir la velocidad que abajo sin cambiar el tono, pero es no una conversión sin pérdidas. El siguiente ejemplo asume que el video fuente era de 24 cuadros / segundo, por lo que el audio debía reducirse a la mitad (0.5) de velocidad usando el filtro atempo de ffmpeg .
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4
Orientación Wiki FFMPEG
Esta es la guía del wiki de ffmpeg . Tenga en cuenta que todas estas opciones requieren volver a codificar el video.
Acelerar / ralentizar el video
Puede cambiar la velocidad de una transmisión de video usando el filtro de video setpts. Tenga en cuenta que en los siguientes ejemplos, la transmisión de audio no cambia, por lo que idealmente debería deshabilitarse con -an.
Para duplicar la velocidad del video, puede usar:
ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
El filtro funciona cambiando la marca de tiempo de presentación (PTS) de cada cuadro de video. Por ejemplo, si se muestran dos cuadros sucesivos en las marcas de tiempo 1 y 2, y desea acelerar el video, esas marcas de tiempo deben ser 0.5 y 1, respectivamente. Por lo tanto, tenemos que multiplicarlos por 0.5.
Tenga en cuenta que este método soltará cuadros para lograr la velocidad deseada. Puede evitar la pérdida de fotogramas especificando una velocidad de fotogramas de salida más alta que la entrada. Por ejemplo, para pasar de una entrada de 4 FPS a una que se acelera hasta 4 veces que (16 FPS):
ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv
Para ralentizar su video, debe usar un multiplicador mayor que 1:
ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv
Suave
Puede suavizar el video lento / rápido con el filtro de video minterpolate. Esto también se conoce como "interpolación de movimiento" o "flujo óptico".
ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv
Otras opciones incluyen slowmoVideo y Butterflow. Acelerar / ralentizar el audio
Puede acelerar o ralentizar el audio con el filtro de audio atempo. Para duplicar la velocidad del audio:
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
El filtro atempo se limita al uso de valores entre 0.5 y 2.0 (por lo que puede reducirlo a no menos de la mitad de la velocidad original y acelerar a no más del doble de la entrada). Si lo necesita, puede sortear esta limitación al unir varios filtros atempo. Lo siguiente con cuadruplica la velocidad del audio:
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
Con un filtro gráfico complejo, puede acelerar el video y el audio al mismo tiempo:
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv