FFMPEG Copy HLS с высоким использованием процессора

303
Gordon A.

У меня есть набор пакетных сценариев (Windows 10) для создания «мгновенного воспроизведения» для некоторых (11) потоков HLS с использованием FFMPEG. Когда все работает, каждый экземпляр использует менее 1% ЦП. У меня проблема в том, что FFMPEG регулярно зависает и не продолжает цикл. Когда это происходит, экземпляр переходит на 10-15% загрузки процессора.

Когда я впервые столкнулся с этой проблемой, я обновил драйверы видеокарты и версию FFMPEG, и это работало некоторое время, но проблема вернулась. Я предположил, что видеокарта идет плохо. Теперь у меня новый компьютер (Precision 7520 с Xeon E3-1535M v6, Quadro M2200 и 32 ГБ ECC RAM), и проблема сохраняется. Я понятия не имею, в чем причина. Я попытался обновить FFMPEG снова безрезультатно.

Если у кого-то есть решение, которое будет лучшим; однако, если вы знаете способ контролировать использование процессора и автоматически уничтожать ffmpeg, когда он работает более 10 секунд, это было бы приемлемым решением.

Сценарий рекордера выглядит следующим образом:

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

0

0 ответов на вопрос