Расширение имени файла | .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 Part 1, Systems , официально известном как стандарт 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 | Устанавливается, когда присутствует поле ПЦР |
Флаг 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 года .
- ^ Fairhurst, Горри. «Передача 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 (август 2004 г.) Формат диска Blu-ray, Белая книга (PDF), страница 22, получено 28 июля 2009 г.
Внешние ссылки [ править ]
- ITU-T H.222.0 | Системные спецификации ISO / IEC 13818-1
- Последняя бесплатная копия спецификации, октябрь 2014 г.
- Часто задаваемые вопросы о системах MPEG-4
- TSDuck - бесплатный инструмент с открытым исходным кодом для управления транспортными потоками MPEG.