Расширение имени файла | .ts, .tsv, .tsa, .m2t |
---|---|
Тип интернет-СМИ | видео / MP2T [1] |
Разработан | MPEG |
изначальный выпуск | 1995 [2] |
Тип формата | Медиа-контейнер |
Контейнер для | Аудио, видео, данные |
Расширен до | M2TS , TOD |
Стандарт | ИСО / МЭК 13818-1, Рекомендация МСЭ-Т H.222.0 [2] |
Транспортный поток MPEG ( MPEG-TS , MTS ) или просто транспортный поток ( TS ) - это стандартный цифровой контейнерный формат для передачи и хранения данных аудио , видео , а также данных протокола программной и системной информации (PSIP). [3] Он используется в системах вещания, таких как DVB , ATSC и IPTV .
Транспортный поток определяет формат контейнера, инкапсулирующий пакетированные элементарные потоки , с функциями исправления ошибок и шаблонов синхронизации для поддержания целостности передачи, когда канал связи, несущий поток, ухудшается .
Транспортные потоки отличаются от одноименного программного потока MPEG несколькими важными способами: программные потоки предназначены для достаточно надежных носителей, таких как диски (например, DVD ), тогда как транспортные потоки предназначены для менее надежной передачи, а именно наземного или спутникового вещания . Кроме того, транспортный поток может нести несколько программ.
Транспортный поток определен в MPEG-2 Часть 1, Системы , официально известном как стандарт ISO / IEC 13818-1 или ITU-T Rec. H.222.0 . [2]
Обзор [ править ]
Транспортный поток инкапсулирует ряд других подпотоков, часто пакетированных элементарных потоков (PES), которые, в свою очередь, обертывают основной поток данных с использованием кодека MPEG или любого количества кодеков, отличных от MPEG (например, AC3 или DTS audio и MJPEG или JPEG 2000. видео), текст и изображения для субтитров, таблицы, идентифицирующие потоки, и даже информацию, относящуюся к вещательной компании, такую как электронная программа передач . Многие потоки часто смешиваются вместе, например, несколько разных телевизионных каналов или несколько ракурсов фильма.
Каждый поток разбивается на (самое большее) 188-байтовые секции и чередуется вместе; из-за крошечного размера пакета потоки могут чередоваться с меньшей задержкой и большей устойчивостью к ошибкам по сравнению с программными потоками и другими распространенными контейнерами, такими как AVI , MOV / MP4 и MKV , которые обычно объединяют каждый кадр в один пакет. Это особенно важно для видеоконференцсвязи, где большие кадры могут вызвать недопустимую задержку звука.
Транспортные потоки, как правило, транслируются с постоянным битрейтом (CBR) и заполняются байтами заполнения, когда данных недостаточно. [а]
Элементы [ править ]
Пакет [ править ]
Сетевой пакет является основной единицей данных в транспортном потоке, и транспортный поток является лишь последовательность пакетов. Каждый пакет начинается с байта синхронизации и заголовка , за которым могут следовать необязательные дополнительные заголовки; остальная часть пакета состоит из полезной нагрузки . Все поля заголовка читаются с прямым порядком байтов . Пакеты имеют длину 188 байт, но среда связи может добавлять дополнительную информацию. [b] Размер пакета 188 байт был первоначально выбран для совместимости с системами с асинхронным режимом передачи (ATM) . [5] [6]
Имя | Количество бит | Битовая маска ( прямой порядок байтов ) | Описание |
---|---|---|---|
4-байтовый заголовок транспортного потока | |||
Байт синхронизации | 8 | 0xff000000 | Битовый шаблон 0x47 (символ ASCII 'G') |
Индикатор транспортной ошибки (TEI) | 1 | 0x800000 | Устанавливается, когда демодулятор не может исправить ошибки из данных FEC; означает, что пакет поврежден. [7] |
Индикатор запуска блока полезной нагрузки (PUSI) | 1 | 0x400000 | Устанавливается, когда пакет PES , PSI или DVB-MIP начинается сразу после заголовка. |
Транспортный приоритет | 1 | 0x200000 | Устанавливается, когда текущий пакет имеет более высокий приоритет, чем другие пакеты с тем же PID. |
PID | 13 | 0x1fff00 | Идентификатор пакета, описывающий данные полезной нагрузки. |
Управление скремблированием транспорта (TSC) | 2 | 0xc0 | '00' = не зашифровано. Только для DVB-CSA и ATSC DES : [8] |
Контроль поля адаптации | 2 | 0x30 | 01 - нет поля адаптации, только полезная нагрузка, 10 - только поле адаптации, без полезной нагрузки, |
Счетчик непрерывности | 4 | 0xf | Порядковый номер пакетов полезной нагрузки (от 0x00 до 0x0F) в каждом потоке (кроме PID 8191) Увеличивается для каждого PID, только если установлен флаг полезной нагрузки. |
Необязательные поля | |||
Поле адаптации | Переменная | Присутствует, если поле адаптации равно 10 или 11. Формат см. Ниже. | |
Данные полезной нагрузки | Переменная | Присутствует, если управление полем адаптации равно 01 или 11. Полезной нагрузкой могут быть пакеты PES, информация о программе (ниже) или другие данные. |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Длина поля адаптации | 8 | Количество байтов в поле адаптации сразу после этого байта | |
Индикатор прерывания | 1 | 0x80 | Устанавливается, если текущий пакет TS находится в состоянии прерывания по отношению либо к счетчику непрерывности, либо к эталонному тактовому сигналу программы. |
Индикатор произвольного доступа | 1 | 0x40 | Установите, когда поток может быть декодирован без ошибок с этого момента |
Индикатор приоритета элементарного потока | 1 | 0x20 | Установите, когда этот поток следует считать "высокоприоритетным" |
Флаг PCR | 1 | 0x10 | Устанавливается при наличии поля PCR |
Флаг OPCR | 1 | 0x08 | Устанавливается, когда присутствует поле OPCR |
Флаг точки сращивания | 1 | 0x04 | Устанавливается при наличии поля обратного отсчета сварки |
Флаг передачи приватных данных | 1 | 0x02 | Устанавливается при наличии приватных данных транспорта |
Флаг расширения поля адаптации | 1 | 0x01 | Устанавливается при наличии данных расширения адаптации |
Необязательные поля | |||
ПЦР | 48 | Опорная частота программы, хранящаяся как 33-битная база, 6 бит зарезервированы, 9-битное расширение. Стоимость рассчитывается как основание * 300 + расширение. | |
OPCR | 48 | Исходные часы программы. Помогает при копировании одного TS в другой | |
Обратный отсчет времени сварки | 8 | Указывает, сколько пакетов TS из этого возникает в точке соединения ( дополнение до двух со знаком ; может быть отрицательным) | |
Транспортная длина частных данных | 8 | Длина следующего поля | |
Перенос личных данных | Переменная | Личные данные | |
Расширение адаптации | Переменная | Смотри ниже | |
Набивка байтов | Переменная | Всегда 0xFF |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Длина удлинителя адаптации | 8 | 0xff00 | Длина заголовка |
Флаг временного окна (LTW) | 1 | 0x0080 | |
Флаг кусочной ставки | 1 | 0x0040 | |
Флаг бесшовной сварки | 1 | 0x0020 | |
Зарезервированный | 5 | 0x001f | |
Необязательные поля | |||
Установлен флаг LTW (2 байта) | |||
LTW действительный флаг | 1 | 0x8000 | |
LTW смещение | 15 | 0x7fff | Дополнительная информация для ретрансляторов для определения состояния буферов, когда пакеты могут отсутствовать. |
Установлен кусочный флаг (3 байта) | |||
Зарезервированный | 2 | 0xc00000 | |
Кусочная ставка | 22 | 0x3fffff | Скорость потока, измеряемая в 188-байтовых пакетах, для определения времени окончания LTW. |
Установлен флаг бесшовного сращивания (5 байтов) | |||
Тип соединения | 4 | 0xf000000000 | Указывает параметры сращивания H.262. |
Следующий блок доступа DTS | 36 | 0x0efffefffe | PES DTS точки стыка. Разделить на несколько полей, 1 бит маркера (0x1), 15 бит, 1 бит маркера, 15 бит и 1 бит маркера, всего 33 бита данных. |
Идентификатор пакета (PID) [ править ]
Каждая таблица или элементарный поток в транспортном потоке идентифицируется 13-битным идентификатором пакета (PID). Демультиплексор извлекает элементарные потоки из транспортного потока в части путем поиска пакетов , идентифицированных одним и тем же PID. В большинстве приложений мультиплексирование с временным разделением будет использоваться для определения того, как часто конкретный PID появляется в транспортном потоке.
Десятичный | Шестнадцатеричный | Описание |
---|---|---|
0 | 0x0000 | Таблица ассоциации программ (PAT) содержит список каталогов всех таблиц карты программ. |
1 | 0x0001 | Таблица условного доступа (CAT) содержит список каталогов всех Рек. Потоки сообщений управления правами H.222, используемые таблицами сопоставления программ |
2 | 0x0002 | Таблица описания транспортного потока (TSDT) содержит дескрипторы, относящиеся к общему транспортному потоку. |
3 | 0x0003 | Таблица управляющей информации IPMP содержит список каталогов всех управляющих потоков ISO / IEC 14496-13, используемых таблицами карты программ. |
4–15 | 0x0004-0x000F | Зарезервировано для использования в будущем |
16–31 | 0x0010-0x001F | Используется метаданными DVB [10]
|
32-8186 | 0x0020-0x1FFA | Может быть при необходимости назначен для программирования таблиц карты, элементарных потоков и других таблиц данных |
8187 | 0x1FFB | Используется метаданными DigiCipher 2 / ATSC MGT |
8188–8190 | 0x1FFC-0x1FFE | Может быть при необходимости назначен для программирования таблиц карты, элементарных потоков и других таблиц данных |
8191 | 0x1FFF | Нулевой пакет (используется для заполнения фиксированной полосы пропускания) |
Программы [ править ]
Транспортный поток имеет понятие программ . Каждая программа описывается таблицей программной карты (PMT). У элементарных потоков, связанных с этой программой, есть PID, перечисленные в PMT. Другой PID связан с самим PMT. Например, транспортный поток, используемый в цифровом телевидении, может содержать три программы для представления трех телевизионных каналов. Предположим, каждый канал состоит из одного видеопотока, одного или двух аудиопотоков и любых необходимых метаданных. приемникжелающий декодировать один из трех каналов просто должен декодировать полезные данные каждого PID, связанного с его программой. Он может отбросить содержимое всех остальных PID. Транспортный поток с более чем одной программой называется многопрограммным транспортным потоком (MPTS). Однопрограммный транспортный поток называется однопрограммным транспортным потоком (SPTS).
Информация о программе [ править ]
Имеется 4 таблицы информации о программе (PSI): ассоциация программ (PAT), карта программ (PMT), условный доступ (CAT) и сетевая информация (NIT). Спецификация MPEG-2 не определяет формат CAT и NIT.
ПЦР [ править ]
Чтобы дать возможность декодеру представлять синхронизированный контент, такой как аудиодорожки, соответствующие соответствующему видео, по крайней мере, один раз каждые 100 мс, опорный сигнал программы (PCR) передается в поле адаптации пакета транспортного потока MPEG-2. PID с PCR для программы MPEG-2 идентифицируется значением pcr_pid в соответствующем PMT. Значение PCR, при правильном использовании, используется для генерации system_timing_clock в декодере. Декодер системных часов (STC) при правильной реализации обеспечивает высокоточную временную базу, которая используется для синхронизации элементарных потоков аудио и видео. Время в MPEG-2 ссылается на эти часы. Например, отметка времени презентации(PTS) относится к ПЦР. Первые 33 бита основаны на частоте 90 кГц. Последние 9 бит основаны на тактовой частоте 27 МГц. Максимальный допустимый джиттер для PCR составляет +/- 500 нс .
Нулевые пакеты [ править ]
Некоторые схемы передачи, например ATSC и DVB , предъявляют строгие требования к постоянной скорости передачи данных для транспортного потока. Чтобы гарантировать, что поток поддерживает постоянный битрейт, мультиплексору может потребоваться вставить некоторые дополнительные пакеты. PID 0x1FFF зарезервирован для этой цели. Полезная нагрузка нулевых пакетов - это все нули, и ожидается, что получатель проигнорирует их содержимое. [11]
Использование в цифровых видеокамерах [ править ]
Транспортный поток изначально был разработан для вещания. Позже он был адаптирован для использования с цифровыми видеокамерами, рекордерами и плеерами путем добавления 4-байтового поля временного кода (TC) к стандартным 188-байтовым пакетам, в результате чего получился 192-байтовый пакет. [12] [13] Это то, что неофициально называется потоком M2TS . Ассоциация дисков Blu-ray называет это « транспортным потоком BDAV MPEG-2 ». [12] JVC назвала это TOD [c] при использовании в видеокамерах с жестким диском, таких как GZ-HD7 . [14] [15] Временной код обеспечивает быстрый доступ к любой части потока либо из медиаплеера, либо из системы нелинейного редактирования видео. [16]Он также используется для синхронизации видеопотоков с нескольких камер в установке с несколькими камерами .
Использование в Blu-ray [ править ]
Заголовки видео на дисках Blu-ray, созданные с поддержкой меню, имеют формат Blu-ray Disc Movie (BDMV) и содержат аудио, видео и другие потоки в контейнере BDAV, который основан на формате транспортного потока MPEG-2. [17] [18] Видео на Blu-ray Disc использует эти модифицированные транспортные потоки MPEG-2 по сравнению с программными потоками DVD, которые не имеют дополнительных транспортных накладных расходов.
Существует также формат BDAV (Blu-ray Disc Audio / Visual), ориентированная на потребителя альтернатива формату BDMV, используемому для выпусков фильмов. Формат BDAV используется на дисках Blu-ray для записи аудио / видео. [18] [d] Диск Blu-ray использует метод записи транспортного потока MPEG-2. Это позволяет записывать транспортные потоки цифрового вещания, преобразованного в BDAV, как есть с минимальным изменением пакетов. [13] Он также обеспечивает простое редактирование в стиле обрезки потока цифрового вещания, преобразованного в BDAV, которое записано как есть, и где данные можно редактировать, просто отбрасывая нежелательные пакеты из потока. Хотя это вполне естественно, но встроена функция для быстрого и удобного поиска. [13] [20]
См. Также [ править ]
- Медиа транспорт MPEG (MMT)
- Транспортный протокол в реальном времени (RTP)
- Однонаправленная легкая инкапсуляция (ULE)
Примечания [ править ]
- ^ Формат Blu-ray не требует CBR.
- ^ Прямое исправление ошибок добавлено ISDB и DVB (16 байтов) и ATSC (20 байтов), [4], в то время какформат M2TS добавляет кпакетам префиксы с 4-байтовым тегом авторского права и меткой времени.
- ^ Возможно сокращение от «Транспортный поток на диске».
- ^ Расширение имени файла .m2ts используется в видеофайлах на Blu-ray Disc, которые содержат несовместимый транспортный поток BDAV MPEG-2 из-за добавления четырех дополнительных октетов к каждому пакету. [12] [19]
Ссылки [ править ]
- ^ Регистрация типа MIME для форматов полезной нагрузки RTP . Июль 2003 г. doi : 10.17487 / RFC3555 . RFC 3555 .
- ^ a b c ITU-T (октябрь 2014 г.). «Рекомендация H.222.0 (10/14)» .
- ^ «Транспортный поток MPEG-2» . AfterDawn.com . Проверено 8 июня 2010 года .
- ^ "Передача ATSC" . Broadcastengineering.com . 20 июня 2005 . Проверено 17 мая 2012 года .
- ^ "Часто задаваемые вопросы о системах MPEG" . Mpeg.chiariglione.org . Проверено 17 мая 2012 года .
- ^ "Монитор транспортного потока ATSC MPEG" . Tek.com . Проверено 17 мая 2012 года .
- ^ "TSReader" . Coolstf.com . 7 апреля 2008 года Архивировано из оригинала 27 марта 2010 года . Проверено 17 мая 2012 года .
- ^ "Стандарты - DVB" (PDF) . Dvb.org . Архивировано из оригинального (PDF) 13 марта 2011 года . Проверено 11 сентября 2012 года .
- ^ Фэрхерст, Горри. «Передача MPEG-2» . Архивировано из оригинального 13 августа 2017 года . Проверено 30 ноября 2018 года .
- ^ «5.1.3 Кодирование полей PID и table_id». Цифровое видеовещание (DVB); Спецификация служебной информации (SI) в системах DVB (PDF) . Etsi.org . EN. 300 468 (ред. V1.13.1). 2012. с. 20 . Проверено 13 октября +2016 .
- ^ Руководство по основам MPEG и анализу протоколов (PDF) , Tektronix, стр. 37 , проверено 23 апреля 2020 г.
- ^ a b c BD ROM - Спецификации формата аудиовизуального приложения (PDF) , Ассоциация дисков Blu-ray, март 2005 г., стр. 15-16 , проверено 26 июля 2009 г.
- ^ a b c BD-RE - Спецификация формата аудиовизуальных приложений для BD-RE 2.1 (PDF) , Ассоциация дисков Blu-ray, март 2008 г., заархивировано из оригинала (PDF) 30 июля 2009 г.
- ^ "Стив Маллен, учебник M2TS" . Dvinfo.net .
- ^ «Работа с файлами JVC Everio MOD и TOD» . Архивировано из оригинального 23 октября 2008 года.
- ^ «Как работает MPEG-TS» . Forum.videohelp.com . Проверено 17 мая 2012 года .[ самостоятельно опубликованный источник? ]
- ^ Afterdawn.com Глоссарий - BD-MV (Blu-ray Movie) и контейнер BDAV. Архивировано 29 июля 2009 г. на WebCite , проверено 26 июля 2009 г.
- ^ a b Глоссарий Afterdawn.com - контейнер BDAV , последнее посещение - 26 июля 2009 г.
- ^ Videohelp.com Что такое Blu-ray Disc и HD DVD? Архивировано 29 июля 2009 г. на WebCite , проверено 26 июля 2009 г.
- ^ Ассоциация Blu-ray Disc (август 2004) Blu-Ray Disc Format, Белая бумага (PDF) Page 22, Проверено 28 июля 2009
Внешние ссылки [ править ]
- ITU-T H.222.0 | Документация по системным спецификациям ISO / IEC 13818-1
- Последняя бесплатная копия спецификации, октябрь 2014 г.
- Часто задаваемые вопросы о системах MPEG-4
- TSDuck - бесплатный инструмент с открытым исходным кодом для управления транспортными потоками MPEG.