FFmpeg No hay tal error de filtro

Estoy tratando de usar FFmpeg para crear un nuevo video con algunos cuadros repetidos y cuadros negros insertados dentro. Aquí está mi comando:

#! /bin/sh
fn="Drifting with Cars.mp4"

#
ffmpeg -y -i "${fn}" -ss 00:00:05 -to 00:00:06 -r 1/1 _05.png
ffmpeg -y -i "${fn}" -ss 00:00:10 -to 00:00:11 -r 1/1 _10.png
ffmpeg -y -i "${fn}" -ss 00:00:15 -to 00:00:16 -r 1/1 _15.png
ffmpeg -y -i "${fn}" -ss 00:00:20 -to 00:00:21 -r 1/1 _20.png
ffmpeg -y -i "${fn}" -ss 00:00:25 -to 00:00:26 -r 1/1 _25.png
ffmpeg -y -i "${fn}" -ss 00:00:30 -to 00:00:31 -r 1/1 _30.png
ffmpeg -y -i "${fn}" -ss 00:00:35 -to 00:00:36 -r 1/1 _35.png

#
ffmpeg -y -i "${fn}" \
-i _05.png \
-i _10.png \
-i _15.png \
-i _20.png \
-i _25.png \
-i _30.png \
-i _35.png \
-filter_complex "
[0:v]trim=0:5,setpts=PTS-STARTPTS[0v_1];
[1:v]loop=loop=25*3:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=2:d=1[pause1];
[0:v]trim=5:10,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_2];
[2:v]loop=loop=25*4:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=3:d=1[pause2];
[0:v]trim=10:15,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_3];
[3:v]loop=loop=25*5:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=3:d=2[pause3];
[0:v]trim=15:20,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_4];
[4:v]loop=loop=25*6:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=3:d=3[pause4];
[0:v]trim=20:25,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_5];
[5:v]loop=loop=25*7:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=3:d=4[pause5];
[0:v]trim=25:30,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_6];
[6:v]loop=loop=25*5:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=3:d=2[pause6];
[0:v]trim=30:35,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_7];
[7:v]loop=loop=25*3:size=2
,drawtext='fontsize=40:fontcolor=0x0000FF@0.7
:text=pause -> fade-out':x=920:y=20:shadowcolor=black@0.7:shadowx=1:shadowy=1
,fade=t=out:st=2:d=1[pause7];
[0:v]trim=35,setpts=PTS-STARTPTS
,fade=t=in:d=1[0v_8];

[0v_1][pause1]
[0v_2][pause2]
[0v_3][pause3]
[0v_4][pause4]
[0v_5][pause5]
[0v_6][pause6]
[0v_7][pause7]
[0v_8]
concat=n=15:a=0:v=1[v]
" -map '[v]' -an "DriftingWithCars_pf.mp4"

Pero cuando ejecuto (la parte del filtro), aparece el siguiente error:

[AVFilterGraph @ 0x2261560] No such filter: 'loop'
Error initializing complex filters.
Invalid argument

¿Cuál es el problema? ¿De dónde viene? Estoy usando una versión actualizada de ffmpeg:version 2.8.15 Copyright (c) 2000-2018

Respuestas (1)

La rama 2.8 es demasiado antigua. El filtro de bucle se agregó el 2016-02-18. La rama 2.8 se cortó de la rama principal el 2015-09-05. Las ramas de lanzamiento no obtienen nuevas funciones respaldadas (solo correcciones de errores ocasionales).

No uses un FFmpeg tan antiguo. Compile o descargue una compilación reciente.

Puede ver una lista de filtros disponibles para su compilación con ffmpeg -filters.

¡Sí, mi actualización funcionó! ¡No sabía que el bucle se agregó recientemente! Gracias.
@TinaJ Se agregó hace más de tres años, que son algunas épocas en términos de desarrollo de FFmpeg. Utilice siempre una versión reciente.
Gracias. Ahora el problema es que su freezedetectcomando en la otra pregunta no detecta ninguno en este video generado :-/
@TinaJ Experimente con los valores de las dos opciones. Mi ejemplo solo usó los valores predeterminados.
oh no... lo siento, lo hizo. La entrada fue el video original! jajaja
¿Sabes cuál es la licencia para el filtro freezedetect? ¿Podemos usarlo desde el código fuente?
@TinaJ De acuerdo con el contenido, libavfilter/vf_freezedetect.ctiene licencia LGPL 2.1 o posterior. No estoy seguro de lo que está preguntando en su segunda pregunta.
sí, quise decir, si podemos usar este código fuente de filtro en un nivel empresarial.
@TinaJ Por supuesto que puedes. Solo necesita cumplir con la LGPL.