Alto uso de CPU con FFMPEG que copia el códec de video de HLS

Reenviado desde superusuario: https://superuser.com/questions/1340574/ffmpeg-copy-hls-high-cpu-usage

Tengo un conjunto de secuencias de comandos por lotes (Windows 10) para crear una "reproducción instantánea" para algunos (11) flujos HLS usando FFMPEG. Cuando todo funciona, cada instancia usa menos del 1 % de la CPU. El problema que tengo es que FFMPEG se cuelga regularmente y no continúa en bucle. Cuando esto sucede, la instancia salta al 10-15 % del uso de la CPU.

La primera vez que tuve este problema, actualicé los controladores de mi tarjeta gráfica y la versión FFMPEG y funcionó durante un tiempo, pero el problema volvió. Supuse que era la tarjeta gráfica que estaba fallando. Ahora tengo una computadora nueva (Precision 7520 con Xeon E3-1535M v6, Quadro M2200 y 32GB ECC RAM) y el problema persiste. No tengo idea de cuál es la causa. He intentado actualizar FFMPEG nuevamente sin éxito.

Si alguien tiene una solución, sería la mejor; sin embargo, si conoce una forma de monitorear el uso del procesador y eliminar automáticamente ffmpeg cuando aumenta durante más de 10 segundos, esa sería una solución aceptable.

El guión de la grabadora es el siguiente:

Set Event=%1 Set CamName=%4 ::SegLength is normally 30 to 60 seconds Set SegLength=%2 Set BasePath=%3

mkdir "%BasePath%\%Event%\%CamName%\" for /f %%i in ('yt-dl PATH_TO_master.m3u8 -f best --get-url') do set url="%%i"

:beg Set "FileName=%CamName%.%TIME::=-%.mp4" ffmpeg -n -i %url% -t %SegLength% -c:v copy -c:a copy -f mp4 "%BasePath%\%Event%\%CamName%\%FileName%" goto :beg

Respuestas (1)

Cambié a un binario de 32 bits y el problema desapareció.