1

Я пытаюсь транслировать шутер FPS из OBS 20.0.1 с минимально возможной скоростью передачи данных, сохраняя при этом наилучшее возможное качество (то есть меньшее количество пикселей).

Я обеспокоен тем, что больше опорных кадров увеличит мой битрейт. Так как это потоковое видео с высокой скоростью , я должен использовать -tune animation для усиления деблокирования? Или PSNR или SSIM бы более перспективными кандидатами?

Есть ли лучший / другой способ проверить, какой -tune -tune -option лучше, чем пробовать их с помощью test-streams?

Кроме того, есть ли другие x264-опции, от которых выиграл бы мой поток, но которые не включены в OBS?

Моя настройка OBS: Настройка OBS

Мое оборудование:

  • Процессор: Intel i7-4770k
  • Графический процессор: Nvidia GTX780 Ti
  • Оперативная память:12 ГБ, 1600 МГц

2 ответа2

1

Я пытаюсь транслировать шутер FPS из OBS 20.0.1 с минимально возможной скоростью передачи данных, сохраняя при этом наилучшее возможное качество (то есть меньшее количество пикселей).

Вы можете сделать это, но это займет много времени на кодирование. Поскольку вы работаете в режиме реального времени, я предполагаю, что вам нужен один проход кодирования, и желательно, чтобы он был быстрым, то есть максимизировал ресурсы вашего ЦП. Таким образом, вы должны поиграть с предустановкой скорости процессора - выбрать максимальную, которую вы можете терпеть.

Невозможно оптимизировать все эти параметры (скорость, качество, битрейт) одновременно, поэтому x264 (и другие кодировщики) предлагают способ выбора предустановки скорости (например, от ultrafast до очень veryslow в x264). Эти предварительные настройки включают / отключают определенные параметры, которые оптимизируют качество сжатия или минимизируют время кодирования, соответственно.

Я обеспокоен тем, что больше опорных кадров увеличит мой битрейт

Это в целом верно, так как они намного больше.

Так как это потоковое видео с высокой скоростью, я должен использовать анимацию -tune для усиления деблокирования? Или PSNR или SSIM были бы более перспективными кандидатами?

Посмотрите на этот другой пост, где объясняются режимы настройки.

Для вашего конкретного случая прямой трансляции с низкой задержкой, с одним проходом кодирования, не имеет смысла использовать film . Это для сохранения (зернистой) детали.

Ваши опасения по поводу блочности с низким битрейтом понятны, но предустановка animation не имеет смысла для потоковой передачи в реальном времени, поскольку это также увеличит количество B-кадров, которые вы в любом случае хотите установить на 0 (или низкое число), чтобы быстрое кодирование. B-кадры требуют кодирования прошлого и будущего кадров, что означает, что кодер / декодер должен сохранять больший буфер для хранения этих кадров. Чем больше B-кадров, тем лучше качество за счет времени кодирования.

psnr и ssim также бесполезны; они используются только при разработке / оптимизации кодировщика и могут привести к ухудшению субъективного качества.

Возможно, zerolatency лучше подходит для вашего случая использования?

Есть ли лучший / другой способ проверить, какой вариант -tune-option лучше, чем пробовать их с помощью test-streams?

Теоретически можно кодировать несколько исходных потоков, затем кодировать их с различными настройками и запускать их через анализатор качества видео с полным эталоном, такой как VQMT или VMAF. Это даст вам оценку качества для кодов. Но я думаю, что визуальной проверки результатов также достаточно в вашем случае.

-1

Параметр tune не сильно влияет на качество потока, что связано с отсутствием обсуждения и / или упоминания его параметров в руководствах. animation может использоваться с потоками с низкой скоростью передачи битов для увеличения деблокирования, а film может использоваться с потоками с высокой скоростью передачи битов, чтобы сохранить поток максимально точным для источника. Хотя насколько эффективен деблокинг или его отсутствие я не уверен.

PSNR и SSIM предназначены для целей тестирования и сравнения контроля скорости (CBR, ABR, VBR, CRF).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .