Цитата(lexx @ Jun 3 2017, 17:00)
Не соглашусь, там на при передаче еще несколько этапов, куча буферов, так что декодер не влияет на скорость. Опять же, либо он успевает за 33 мс, либо нет.
Все этапы там указаны. Вот
чуть дополненная статья, ссылку на которую уже приводил. В ней полный бюджет задержки для кодирования с очень низкой задержкой сведен в таблицу. Кодер легко успеет за 33 мс. Успевает или нет -- этот вопрос вообще не рассматривается в этой теме. Не понятно, почему он Вами поднят. Если кодер не успевает кодировать в темпе (например x264), то он просто не используется для приложений реального времени. Далее, типовой хардверный кодер кодирует гораздо быстрее и может начать отдавать кадр гораздо раньше, чем 33 мс. И полный кадр будет закодирован тоже раньше. Значит ли это, что суммарный бюджет задержки, который складывается, повторюсь, на стороне декодера, будет немногим более 33 мс. Нет, не значит.
Даже если кодер кодирует 60 кадров в секунду, успевая обработать их все, это вовсе не означает, что декодирование и воспроизведение не произойдет с задержкой в секунду или более. Чем больше задержка, тем лучше можно сжать видео (2-pass еще лучше). Лучше сжимаются динамичные сцены, на которых будет выплеск информации. Как только эти всплески будут срезаться изменением уровней квантования, моментально заметно упадет качество. Посмотрите на любое решение с ультра-низкими задержками (например в статье), решение об изменении уровней квантования принимается по части фрейма. Естественно ценой уменьшения качества. Я бы даже сказал исходя из личного опыта -- ценой значительного уменьшения качества. И этот эффект очень сильно зависит от коэффициента сжатия. Чем жирнее битрейт, тем меньше увеличение степени сжатия заметно. Ибо на маленьких битрейтах PSNR и так невысокий.
Разумеется, должен оговориться, что имеется в виду канал с ограниченной пропускной способностью, когда она выбирается немногим более среднего битрейта, чтобы максимального использовать энергетику канала. Для уменьшения дисперсии мгновенного битрейта был придуман режим IRE, когда опорный кадр, как самый затратный с точки зрения объема информации, передается не целиком, а размазывается во времени.
Для гигабитного эзернета или оптоволокна бюджет задержки будет другим, и такой критичности нет.
Поэтому два раза оговорился, что в выборе кодека и параметров кодирования все зависит от задачи, которую этот кодек будет решать.
Цитата(lexx @ Jun 3 2017, 17:00)
Все эти режимы простая фикция, хороший алгоритм для motion estimation & rate control определяет все. Можно сказать, что референсный алгоритм кодирования (с full search) закрывает все
Простите, но это смешно. Попробуйте референсный алгоритм уложить в 90К, и так, чтобы этот референсный алгоритм работал в реалтайм режиме, а потом поговорим.
Все эти режимы и алгоритмы и есть один большой компромисс.
Цитата(lexx @ Jun 3 2017, 17:00)
... а потом ищутся методы как не сильно потерять при оптимизации или минимизации/поиск алгоритма, который был бы балансом между качеством, битрейтом и скоростью кодирования.
Вы сейчас выступаете в роли Капитана Очевидность.
Об этих методах, «как не сильно потерять при ...», и шла речь.