ffmpeg: ¿Por qué disminuyó mi velocidad de captura? (ya no se puede capturar usando el mismo comando)

He estado usando el siguiente comando para capturar video con ffmpeg durante los últimos dos meses usando mi tarjeta de captura Blackmagic Intensity Pro 4K:

ffmpeg -bm_v210 1 -rtbufsize 1500M -threads 4 -f decklink -i "Intensity Pro 4K@20" -c:a copy -c:v prores -profile:v 1 movie1.mov

Esto ha estado bien, aunque de vez en cuando recibo un mensaje de "desbordamiento del búfer de entrada de Decklink". error, en cuyo caso tengo que reiniciar la captura.

Sin embargo, a partir de ayer, recibo un mensaje de "¡Desbordamiento del búfer de entrada de Desklink!" error cada vez.

[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=479405.2kbits/s speed=0.849x
    Last message repeated 1 times
[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=480001.5kbits/s speed=0.842x
    Last message repeated 8 times
[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=480685.0kbits/s speed=0.842x
    Last message repeated 15 times

Entonces parece que mi SSD ya no es lo suficientemente rápido para escribir los datos, pero ¿por qué? Funcionó bien durante los últimos dos meses.

Estoy capturando en un Sandisk Extreme Pro SSD (960 GB). La unidad solo tiene 10 GB de datos. Ejecuté TRIM manualmente hace un momento, pero eso no ayudó. El SanDisk SSD Dashboard muestra que le queda un "99 %" de vida útil.

También deshabilité OneDrive, Dropbox y todos los demás software que pude encontrar que podrían escribir en el sistema durante la captura.

Reemplace movie1.movcon -map 0 -f null -para ver si está relacionado con el disco. Nota: no se guardará ningún archivo, por lo que esto es solo para fines de prueba.
@Mulvya Cuando realizo el reemplazo, aparece el mismo error. ¿Que significa eso?
Más información: cuando capturo en dnxhr (hq) en lugar de prores (lt), aunque la tasa de bits de dnxhr es ~850000 kbit/seg frente a ~450000 kbit/seg para prores, dnxhr funciona, pero no prores.
¿Cuál es tu versión de ffmpeg?
3.2.0. No se pueden usar las versiones 3.2.2 o 3.2.4 porque el indicador "enable_decklink" no está activado, por lo que la tarjeta de captura no funciona.

Respuestas (1)

Como también ocurre con -f null, pero no con otro Codec, la carga de la CPU durante la captura es una posible explicación. No lo mencionaste en tu pregunta. ¿Hay alguna razón específica para usarlo -threads 4? Intente aumentar ese número u omita el parámetro.