Estaba tratando de compilar un código de ejemplo de FFmpeg AQUÍ que ilustra cómo usar filtros usando sus API de C.
Compilé el código (a través de un universal make
). Como sugiere el uso, estoy haciendo esto:
./filtering_video test.mp4
Pero produce una salida desordenada en la pantalla. Esperaba que produzca un .mp4
archivo de salida que se pueda reproducir.
¿Cómo ejecutarlo correctamente?
¿Y funciona con cualquier filtro de video dado que se pasa a través de FFmpeg -vf
, si simplemente cambio la descripción del filtro especificado?
const char *filter_descr = "scale=78:24,transpose=cclock";
No produce ningún archivo de salida.
Después de filtrar, display_frame()
se llama, que simplemente envía a la consola.
/* Trivial ASCII grayscale display. */
p0 = frame->data[0];
puts("\033c");
for (y = 0; y < frame->height; y++) {
p = p0;
for (x = 0; x < frame->width; x++)
putchar(" .-+#"[*(p++) / 52]);
putchar('\n');
p0 += frame->linesize[0];
}
fflush(stdout);
tina j
tina j
gian
tina j
freezedetect=n=-60dB:d=8
. Pero este filtro produce metadatos, no marcos (comolavfi.freezedetect.freeze_start: 10.01
). ¿Cómo puedo mostrar estos datos en su lugar?