При потоковой передаче видео через live555 при изменении разрешения кодера на 1 или 2 пикселя, декодер не изменяет разрешение до обновления - PullRequest
0 голосов
/ 26 ноября 2018

Я работаю над IP-камерой.Я знаю, что для работы кодера H.264 требуется разрешение видео, кратное 2.Всякий раз, когда я устанавливаю разрешение для кодера, скажем, 1280x720, пока идет потоковая передача, декодер динамически отображает мне обновленное значение.Проблема здесь в том, что когда я пытаюсь установить ширину всего на одну шкалу ниже, скажем, 1276x720, тогда она корректно устанавливается на кодере, но декодер не отображает изменение ширины, пока я не обновлю веб-страницу или в случае vlc, пока я не остановлюсь и не начнуПотоковое снова.То же самое я проверил на VLC.Если я установлю более низкое разрешение более чем на несколько пикселей, например 1272x720, тогда и мой webbrowser, и vlc обновят значение динамически.Я также проверил это с помощью кодека H.265, но, похоже, это не проблема.

У любого есть идея, что может быть причиной этого, потому что значения обновляются, даже если только поток был остановлен и запущен снова, и между ними ничего не меняется.

1 Ответ

0 голосов
/ 04 января 2019

H.264 требуется выравнивание 16x16.Например, 1920 x 1080 фактически кодируется как 1920 x 1088. Разрешение с точностью до пикселя достигается использованием значений frame_crop_ * в наборе параметров последовательности.Теперь - я могу только догадываться, что декодер (ваш сайт или VLC) не динамически оценивает значения frame_crop_ *.

...