Tengo un video .mov con 24 fps y audio 5.1.
¿Es posible cambiar la velocidad de fotogramas de 24 a 25 fps sin remuestreo de fotogramas (sin duplicación/eliminación de fotogramas, solo una nueva interpretación de la velocidad de fotogramas) y mantener el mismo tono de audio?
Normalmente, esto se hace sin volver a muestrear los datos del cuadro, sino configurando el indicador de video de 24 a 25 fps; sin embargo, existe la necesidad de ajustar el audio para que se acorte. ¿Es posible hacerlo todo en una línea de comando ffmpeg o tal vez en más de una y preparar un archivo por lotes/bash para eso?
Además, ¿las capacidades de procesamiento de audio de ffmpeg son de calidad profesional o son de baja calidad en comparación con algoritmos profesionales como Avid Pro Tools y Adobe Audition?
Nota: Esta pregunta es diferente de esta . Convierta el video de 24 a 25 fps mientras mantiene la duración del video y el audio y también corrige el tono del audio .
Aquí quiero saber cómo hacer lo mismo pero acortando la duración real del video y ajustando el audio en consecuencia manteniendo el tono de manera profesional.
Si su flujo de entrada no tiene B-pyramid, es decir, B-frames utilizados como referencias para otros B-frames, y su compilación ffmpeg tiene librubberband vinculado, entonces use los siguientes comandos:
#1 Extraer video a transmisión sin formato
ffmpeg -i in.mkv -c copy in.h264
#2 Reprogramar y procesar audio
ffmpeg -r 25 -i in.h264 -i in.mkv -map 0 -map 1:a -af rubberband=tempo=1.04166 -c:a pcm_s16le out.mkv
Si su flujo H264 tiene marcos B de referencia, entonces tendrá que usar mp4box como intermediario.
es decir
#2a Reprogramar video
mp4box -add in.h264#fps=25 -new in25.mp4
#2b Procesar audio y agregar video
ffmpeg -i in25.mp4 -i in.mkv -map 0 -map 1:a -af rubberband=tempo=1.04166 -c:a pcm_s16le out.mkv
ffmpeg -i input.mov -r 25 -c:v libx264 -preset ultrafast -crf 18 -c:a libfdk_aac -filter:v "setpts=0.96*PTS" -filter:a "atempo=1.0417" output.mov
Sin embargo, no estoy seguro sobre el tono... De todos modos, disculpe la confusión inicial sobre h264 como video de entrada... generalmente mi entrada es un códec ProRes, DNxHD... (sería genial tener un comando que podría funcionar para cualquier tipo de entrada aunque)atempo
alterará el tono. Hay un nuevo filtro nativo que pronto se agregará a ffmpeg que permitirá cambios de tempo sin cambios de tono, pero su calidad no es tan buena como la banda elástica.
Michael Liebmann
usuario3450548
gian
usuario3450548