Термин
Open GOP
GOP, у которого финальные B-кадры ссылаются на I-кадр следующего GOP. Чуть меньше; неудобен на границах ABR-сегментов.
Open GOP – Group of Pictures, у которой финальные B-кадры ссылаются на I-кадр следующей GOP. Где `closed-gop` полностью самодостаточна (ни один её кадр не зависит ни от чего снаружи), open GOP позволяет последним B-кадрам «дотянуться вперёд» к началу следующей GOP за лучшими предсказаниями. Результат – чуть меньшие файлы (обычно экономия 2–5 %), потому что у B-кадров больше reference-кадров на выбор.
Trade-off в том, что open GOP не воспроизводится независимо с её начала. Если попробовать стартовать воспроизведение с первого кадра open GOP, финальные B-кадры в её конце не смогут быть декодированы, потому что им нужен I-кадр следующей GOP, которого ещё нет. Для standalone-скачивания или непрерывного воспроизведения это не важно – плеер движется вперёд и находит reference, когда тот придёт. Но для adaptive streaming (HLS, DASH), где каждый сегмент должен независимо декодироваться с начала, границы open GOP дают видимые сбои, когда плеер переключает rendition посреди стрима.
Для продуктовой команды выбор по сути такой: closed GOP для adaptive streaming, open GOP только если чистые границы сегментов не нужны. Экономия 2–5 % bitrate в open GOP просто не оправдывает проблем воспроизведения для VOD-стриминга. Большинство энкодеров форсирует closed GOP, когда вы настраиваете HLS- или DASH-выход. Open GOP выживает в несегментированных контекстах: progressive download, архивные мастера, contribution-фиды broadcast, где весь bitstream всё равно будет перекодирован дальше по цепочке.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.