Как обеспечить транскодирование ffmpeg со скоростью выше 1x

Как обеспечить транскодирование ffmpeg со скоростью выше 1x

Я пытаюсь транслировать тв с помощью hls. Моя настройка — ffmpeg и nginx (с модулем nginx-tx для трансляции hls). Я использую команду ниже, чтобы масштабировать видео до высоты 320 и повышать его резкость с использованием значений по умолчанию. Я использую команду ниже.

ffmpeg -report -f mpegts -i <input> -vf "scale=trunc(oh*a/2)*2:320,unsharp=lx=3:ly=3:la=1.0" -vcodec libx264 -crf 24 -preset medium -acodec aac -b:a 50k -f mpegts <output>

Проблема в том, что эта команда дает мне разные скорости. Изначально она начинается с высокой скорости, например 5x, а затем замедляется до 0,6x. Когда я перезапускаю ее через некоторое время, она начинается с высокой скорости, а затем замедляется, но остается выше 1x. Итак, как мне гарантировать, что скорость всегда будет выше 1x?

Если скорость опускается ниже 1x, моя прямая трансляция работает не так хорошо, videojs, который я использую в браузере, продолжает буферизироваться.

Редактировать: Я также должен сказать, что поскольку я транслирую 3 разных канала, у меня запущено 3 экземпляра ffmpeg. Первый в порядке, всегда выше 1x. Но в последних у меня проблемы с недетерминированным поведением (иногда >1x, иногда <1x по скорости)

Есть идеи?

Связанный контент