FFmpeg: habilite todas las opciones de filtro de video (-vf) en un momento específico del video

FFmpeg: habilite todas las opciones de filtro de video (-vf) en un momento específico del video

¿Existe alguna opción que pueda pasar para que mis opciones -vfo -filter_complexsolo se activen en un momento determinado del video (es decir, 5 segundos después del inicio de un video) en un comando (sin combinar dos archivos de video diferentes)?

Algo como esto:

ffmpeg -i input.mp4 -vf "eq=contrast=250.0, time=start=5:end=15" output.mp4

Donde el contrastfiltro solo aparecería en el video de 5 a 15 segundos.

¿Quizás podría combinar dos videos separados en una línea? Cualquier orientación sería apreciada, gracias.

Editar:solo lee elEdición de línea de tiemposección en los documentos de ffmpeg, pero según tengo entendido, no todos los filtros admiten esto. ¿Existe un método universal?

Respuesta1

Si el filtro admite la edición de la línea de tiempo, puede configurar la palabra clave enable para ese filtro, por ejemplo

ffmpeg -i input.mp4 -vf "eq=contrast=250.0:enable='between(t,5,15)'" output.mp4

Si no es así, puede utilizar una combinación de filtros de división, recorte y concat para segmentar la entrada para el procesamiento selectivo.

ffmpeg -i input.mp4 -vf "split=3[pre][affected][post];[pre]trim=0:5,setpts=PTS-STARTPTS[pre];[affected]trim=5:15,setpts=PTS-STARTPTS,eq=contrast=250.0[affected];[post]trim=15,setpts=PTS-STARTPTS[post];[pre][affected][post]concat=n=3:v=1:a=0" output.mp4

información relacionada