Определить профиль и уровень h264 по идентификатору уровня профиля в sdp?

В видеовызове SIP получатель видеопотока отвечает возможностями своего декодера.

Параметр, который определяет это, - это profile-level-id. Вот пример значения параметра идентификатора уровня профиля: 428014

RFC 6184 определил это как

Представление base16 [7] (шестнадцатеричное) следующих трех байтов в блоке NAL набора параметров последовательности указано в 1: 1) profile_idc, 2) байт в данном документе, называемый profile-iop, состоящий из значений constraint_set0_flag, constraint_set1_flag, constraint_set2_flag, constraint_set3_flag, constraint_set4_flag, constraint_set_zerobits_2 и зарезервирован in constraint_set5_zerobits. - порядок значимости, начиная со старшего бита, и 3) level_idc.

В соответствии с этим можно выделить следующие параметры из значения примера:

  • profile_idc 42
  • профиль-iop 82
  • level-idc 14

Как связать эти числа с профилями и уровни определены для h264?


person TheMeaningfulEngineer    schedule 09.04.2014    source источник


Ответы (2)


Для таких вещей вам следует прочитать настоящую спецификацию H.264, а не Википедию. Используя его, вы можете проанализировать свой пример как

  • profile_idc 0x42 == 66, так что это базовый профиль
  • profile-iop 0x80 означает constraint_set0_flag = 1 (так что это ограниченный базовый профиль) и другие 0
  • level-idc 0x14 == 20, так что это уровень 2.0

Таким образом, результатом является ограниченный базовый профиль уровня 2.0.

person nobody555    schedule 09.04.2014
comment
В разделе 7.4.2.1.1 «Рекомендации H.264, Расширенное кодирование видео для общих аудиовизуальных услуг» говорится constraint_set0_flag equal to 1 indicates that the coded video sequence obeys all constraints specified in subclause A.2.1. constraint_set0_flag equal to 0 indicates that the coded video sequence may or may not obey all constraints specified in subclause A.2.1.. Где A.2.1 определяет базовый профиль. Как ты это расшифровал? Пожалуйста, ответьте здесь stackoverflow.com/questions/23494168/h264-profile-iop - объяснил - person TheMeaningfulEngineer; 06.05.2014
comment
Я смотрю на версию ISO / IEC 14496 10 от 2012 года, и в разделе A.2.1.1 определяется профиль ограниченного базового уровня, поскольку соответствие потока битов профилю ограниченного базового уровня обозначается значением profile_idc, равным 66, с constraint_set1_flag, равным 1. I полагаем, что constraint_set0_flag = 1 истинен только для базового профиля. Таким образом, пример в ответе - это просто базовый уровень. - person Joel Cunningham; 31.03.2017
comment
Также см. Здесь обсуждение различных битов ограничений: stackoverflow.com/questions / 23494168 / h264-profile-iop-объяснение - person Joel Cunningham; 31.03.2017

См. Следующую таблицу из RFC 6184: Таблица 5. Комбинации profile_idc и profile-iop, представляющие один и тот же суб-профиль, соответствующий полному набору инструментов кодирования, поддерживаемых одним профилем. Далее x может быть либо 0, либо 1, а имена профилей указаны следующим образом. CB: ограниченный базовый профиль, B: базовый профиль, M: основной профиль, E: расширенный профиль, H: высокий профиль, H10: высокий профиль 10, H42: высокий профиль 4: 2: 2, H44: высокий 4: 4: 4 Прогнозирующий профиль, H10I: High 10 Intra profile, H42I: High 4: 2: 2 Intra profile, H44I: High 4: 4: 4 Intra profile и C44I: CAVLC 4: 4: 4 Intra profile.

      Profile     profile_idc        profile-iop
                  (hexadecimal)      (binary)

      CB          42 (B)             x1xx0000
         same as: 4D (M)             1xxx0000
         same as: 58 (E)             11xx0000
      B           42 (B)             x0xx0000
         same as: 58 (E)             10xx0000
      M           4D (M)             0x0x0000
      E           58                 00xx0000
      H           64                 00000000
      H10         6E                 00000000
      H42         7A                 00000000
      H44         F4                 00000000
      H10I        6E                 00010000
      H42I        7A                 00010000
      H44I        F4                 00010000
      C44I        2C                 00010000

Это базовый уровень профиля 2.0.

person Chunbo Hua    schedule 23.07.2020