2.0 Подробные данные
2.1 Обзор
Метаданные переносят в транспортных потоках MPEG 2, как описано в разделе 2.12 из ссылки [1]. HTTP Живые метаданные Потоковой передачи переносят в элементарном потоке (PES) вместо, например, в карусели. Поток метаданных должен быть в той же программе как основной материал программы (т.е. аудио/видеоконтент).
Метаданные ID3 самоописывают и не нуждаются ни в какой конфигурационной информации, таким образом, не используются условия для данных конфигурации декодера метаданных.
Остаток от раздела 2 из этой спецификации описывает подробные данные синтаксиса и значений полей от раздела 2 из ссылки [1] для метаданных формата ID3, используемых с HTTP Живая Потоковая передача.
В синтаксических таблицах в разделе 2.3.2 из этой спецификации структура синтаксиса (левый столбец) показана с только именами полей и частью схемы, имеющей силу для метаданных ID3, как описано в этой спецификации. Опущены условные блоки, для которых условие является ложью. Правый столбец в синтаксических таблицах указывает значение, необходимое для каждого поля в этом контексте, или содержит объяснение того поля.
Со спецификацией [1] MPEG 2 нужно консультироваться для полного синтаксиса, размеров поля и приемлемых значений.
2.2 Сводка используемых кодовых точек
ID3 определяет и формат и семантическое, и таким образом, зарегистрированное то же format_identifier используется для обоих metadata_format_identifier и metadata_application_format_identifier.
Зарегистрированное значение для них, в регистрационных полномочиях (ссылка [4]), является четырьмя символьными строками ‘ID3 ’ (символы I D 3 space, или 0x49 0x44 0x33 0x20).
Указать, что зарегистрированное значение используется, metadata_format и metadata_application_format поля принимают значения 0xff и 0xffff соответственно.
Метаданные ID3 переносят в частном потоке, не потоке, отформатированном как Устройства доступа метаданных (MAUs), как определено в 12.4 из [1]. stream_id значение, используемое для потока, поэтому private_stream_id_1, 0xbd, как указано в 2.12.3 из [1]. stream_type установлен в 0x15, указание каретки метаданных в потоке PES, как указано в 2.12.9.1 из [1].
Так как только один поток метаданных обычно переносят, metadata_service_id обычно устанавливается в 0; однако, любое подходящее значение может использоваться для различения этого потока метаданных от других потоков метаданных, если существующий.
2.3 Используемые дескрипторы
2.3.1 Введение
Формат и содержание дескрипторов метаданных документируются в разделы 2.6.58 к 2.6.61 из [1].
2.3.2 Цикл дескриптора PMT для программы
Объявить присутствие потока метаданных, a metadata_pointer_descriptor (2.6.58 из [1]), помещается в PMT, в program_info цикл для программы. Метаданные должны быть в той же программе как основная программа (аудио/видео) содержание; использование этого дескриптора для обращения к другой программе не поддерживается.
Синтаксис | Значение |
|---|---|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
| |
|
|
| |
|
Элементарный поток, переносящий метаданные, должен быть объявлен в цикле элементарных потоков, в карте программы (разделите 2.4.4.8 из [1]):
Поле | Значение |
|---|---|
|
|
|
|
|
|
|
|
|
|
2.3.3 Цикл дескриптора PMT для элементарного потока
Объявить формат потока метаданных, a metadata_descriptor (2.6.60 из [1]), помещается в PMT, в es_info цикл для элементарного потока.
Синтаксис | Значение |
|---|---|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
|
|
2.4 Потоковый формат PES
Метаданные ID3 сохранены, поскольку полный ID3v4 структурирует в пакете PES, включая полный заголовок ID3.
Тег ID3 должен сразу запуститься после заголовка PES; этот заголовок PES должен содержать PTS (PTS_DTS_flags набор к '10'). PTS должен быть на той же временной шкале как аудио и видеокадры. data_alignment бит должен быть установлен в 1. Заголовок PES должен содержать a PES_packet_length это является ненулевым.
Если тег ID3 более длинен, чем 65 535 байтов, он должен иметь больше чем один заголовок PES. Второе и после заголовков PES должно иметь data_alignment набор к 0, и должен иметь PTS_DTS_flags набор к ‘00’ (и следовательно никакой PTS).
Заголовок PES отформатирован, как задокументировано в 2.4.3.7 из [1].
Синтаксис PES | Значение |
|---|---|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Поток метаданных включен в транспортный поток таким же образом как аудио, или видео. Например, в a transport_packet() (см. 2.4.3.2 из [1]), payload_unit_start_indicator установлен в 1 только, когда следует заголовок PES. (Заголовок PES, в свою очередь, указывает, следует ли запуск данных ID3, или было ли это разделено на многократные пакеты PES).