MPEG-TS: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8 |
Grain (обсуждение | вклад) |
||
Строка 20:
=== Пакет ===
<!--{| align="right" border="1" width="49 %"
|+ Формат пакета транспортного потока
!Название
Строка 52 ⟶ 53 :
Пакет, базовая единица транспортного потока.
Заголовок пакета:
[[Файл:MPEG-TS header.png]]
* заголовок начинается с предопределённого байта синхронизации (8 бит) 0x47 (0100 0111).
* Следующие три битовых флага используются, чтобы указать, как должна быть обработана полезная нагрузка.
** 1. Первый флажок указывает на транспортную ошибку
** 2. Второй флажок указывает начало полезной нагрузки (
** 3. Третий флажок указывает транспортный приоритетный бит
* флажки сопровождаются идентификатором пакета (13 бит) — PID. Используется, чтобы однозначно определить поток, которому принадлежит пакет (например, пакеты PES, соответствующие ES), сгенерированный мультиплексором. PID позволяет получателю дифференцировать поток, которому принадлежит каждый полученный пакет. Некоторые значения PID предопределены и используются, чтобы указать различные потоки информации контроля. От пакета с неизвестным PID, который не требуется получателю, просто отказываются. Специфическое значение PID 0x1FFF зарезервировано, чтобы указать, что пакет — нулевой пакет (и должен быть проигнорирован получателем).
* два следующих служебных бита используются процедурами условного доступа к зашифрованной полезной нагрузке некоторых пакетов TS (Transport Scrambling Control):
** 1. 00 — Не зашифрованный пакет.
** 2. 01 — ЗАРЕЗЕРВИРОВАННЫЙ для будущего использования.
Строка 69 ⟶ 74 :
** 3. 11 — поля адаптации (adaptation_field) и далее следует полезная нагрузка (payload_data)
** 4. 00 — ЗАРЕЗЕРВИРОВАННЫЙ ISO/IEC для будущего использования
* Наконец есть Счётчик Непрерывности (Continuity Counter; 4 бита)
Остальная часть пакета состоит из полезной информации. Пакеты составляют 188 байт в длине, но среда коммуникации может добавить некоторые байты для устранения ошибок пакета. DVB-ASI использует 204 байта и 208 байтов ATSC как транспортный пакет потока. (DVB t=8 и ATSC t=10 то есть дополнительные байты = 2*t). Передача ATSC добавляет 20 байтов Reed-Solomon передовое устранение ошибок, чтобы создать пакет, который является 208 байтов длиной. 188-байтовый размер пакета был первоначально выбран для совместимости с системами ATM.
Строка 107 ⟶ 112 :
|stuffing bytes||variable||
|}-->
Поле адаптации (Adaptation Field)
Заголовок AF:
[[Файл:MPEG-TS AF header.png]]
* DI (Discontinuity indicator) - устанавливается в 1 если на этом пакете нарушилась непрерывность потока по СС или PCR.
* RAI (Random Access Indicatior) - устанавливается в пакете, с которого возможно начать декодирование без ошибок
* Elementary stream priority indicator - устанавливается, для элементарного потока, который должен обрабатываться как "высокоприоритетный"
* PCR present - устанавливается, если AF содержит поле PCR (Program clock reference, 48 бит)
* OPCR present - устанавливается, если AF содержит поле OPCR (Original Program clock reference, 48 бит), используется при копировании TS
* Splicing point flag - устанавливается, если AF содержит поле Splice countdown (8 бит)
* Transport private data flag - устанавливается, если AF содержит private data (поле длины 8 бит + данные)
* Adaptation field extension flag - устанавливается, если в пакете присутствует расширение AF (заголовок + данные)
=== PID ===
|