MPEG-TS | это... Что такое MPEG-TS? (original) (raw)
Несколько MPEG программ объединяются, а затем отправляются на передающую антенну. В трансляциях цифрового ТВ США ATSC-приёмник декодирует TS и отображает его.
Транспортный поток (TS, TP, MPEG-TS, или M2TS) является протоколом для передачи аудио и видео данных, описанным в MPEG2 Часть 1[1]. Цель разработки этого стандарта — мультиплексирование аудио и видео данных и синхронизация их выхода. Транспортный поток открывает возможности для исправления ошибок транспортных средств, таких как DVB и ATSC.
TS — формат медиаконтейнера который инкапсулирует пакеты элементарных потоков и других данных.
Содержание
- 1 Структура потока
- 2 Важные элементы транспортного потока
- 3 Модификация в транспортном потоке, спецификация случайного доступа к медиа (M2TS)
- 4 Программы, поддерживающие TS-файлы
- 5 Примечания
- 6 Ссылки
Структура потока
В транспортном потоке можно выделить несколько уровней абстракции, иерархическая структура которых напоминает сетевую модель OSI. Например поток, содержащий видео, можно представить следующим образом:
- Смесь различных программ.
- Пакетизированный элементарный поток (Packetized elementary stream, PES)
* Элементарный поток (Elementary stream, ES)
* Группа изображений (Group of pictures, GOP) — предоставляет случайный доступ к картинке
* Отдельное изображение (кадр)
* Срез (Slice) — часть кадра, выделенная для предотвращения распространения ошибок квантования
* Макроблок — в составе от 6 до 12 DCT блоков.
* Элементарный блок кодирования (DCT блок) размером 8x8 точек
- Пакетизированный элементарный поток (Packetized elementary stream, PES)
Важные элементы транспортного потока
Пакет
Пакет, базовая единица транспортного потока.
- заголовок начинается с известного Байта Синхронизации (8 бит) 0x47 (0100 0111).
- Следующие три битовых флага используются, чтобы указать, как должна быть обработана полезная нагрузка.
- 1. Первый флажок указывает на транспортную ошибку.
- 2. Второй флажок указывает начало полезной нагрузки (payload_unit_start_indicator). Когда полезная нагрузка Transport Stream пакета содержит данные по PSI, payload_unit_start_indicator имеет значение '1'. Если Transport Stream пакет не содержит данные по PSI, то значение payload_unit_start_indicator будет '0'. Ссылка на разделы 2.4.4.1 и 2.4.4.2 . Это также применяется к приватным потокам с stream_type 5 (ссылка на Таблица 2-29).
- 3. Третий флажок указывает транспортный приоритетный бит.
- флажки сопровождаются Идентификатором Пакета (13 бит) PID. Используется, чтобы однозначно определить поток, которому принадлежит пакет (например, пакеты PES, соответствующие ES), сгенерированный мультиплексором. PID позволяет получателю дифференцировать поток, которому принадлежит каждый полученный пакет. Некоторые значения PID предопределены и используются, чтобы указать различные потоки информации контроля. От пакета с неизвестным PID, который не требуется получателю, просто отказываются. Специфическое значение PID 0x1FFF зарезервировано, чтобы указать, что пакет — нулевой пакет (и должен быть проигнорирован получателем).
- два следующих служебных бита используются процедурами условного доступа к зашифрованной полезной нагрузке некоторых пакетов TS.
- Два служебных бита поля адаптации, которые могут иметь четыре значения:
- 1. 01 — без поля адаптации (adaptation_field), только полезная нагрузка (payload_data)
- 2. 10 — только поля адаптации (adaptation_field), без полезной нагрузки (payload_data)
- 3. 11 — поля адаптации (adaptation_field) и далее следует полезная нагрузка (payload_data)
- 4. 00 — ЗАРЕЗЕРВИРОВАННЫЙ ISO/IEC для будущего использования
- Наконец есть Счетчик Непрерывности (4 бита)
Остальная часть пакета состоит из полезной информации. Пакеты составляют 188 байт в длине, но среда коммуникации может добавить некоторые байты для устранения ошибок пакета. DVB-ASI использует 204 байта и 208 байтов ATSC как транспортный пакет потока. (DVB t=8 и ATSC t=10 то есть дополнительные байты = 2*t). Передача ATSC добавляет 20 байтов Reed-Solomon передовое устранение ошибок, чтобы создать пакет, который является 208 байтов длиной. 188-байтовый размер пакета был первоначально выбран для совместимости с системами ATM.
PID
Каждая таблица или элементарный поток в транспортном потоке идентифицируется по 13-битовому PID. Демультиплексор извлекает элементарные потоки из общего транспортного потока, объединяя их в потоки с одинаковыми PID. В большинстве приложений планируется использовать временно́е мультиплексирование, чтобы решать, как часто конкретный PID будет появляться в транспортном потоке.
Programs
Транспортный поток имеет концепцию программы. Единая программа Program Map Table (PMT), которая имеет уникальный PID, и элементарные потоки, связанные с этой программой и имеющие свои PID-ы, которые перечислены в PMT. Например, транспортный поток, используемый в цифровом телевидении может состоять из трех программ, и нести в себе три телевизионных канала. Предположим, каждый канал состоит из одного видео потока и одного или двух аудио потока, и любые необходимые метаданные. Приемник, желающий декодировать один из каналов использует для декодирования лишь PID-ы нужные для данного канала, которые связаны с его программой. Он может отказаться от содержащихся в ней всех других PID-ов.
Program Specific Information (PSI)
Специальная информация о программах
- Program Association Table (PAT),
- Program Map Table (PMT),
- Conditional Access Table (CAT),
- Network Information Table (NIT).
В спецификации MPEG-2 формат CAT и NIT не регламентирован.
PAT
Таблица программ (Program Association Table, PAT) содержит PID-ы всех PMT. Её собственный PID всегда 0x0.
PMT
Таблица структуры программ (Program Map Table, PMT) содержит PIDы и основные характеристики элементарных потоков конкретной программы — видео, звука, дополнительных данных. Для каждой программы есть свой PMT с собственным PID. Кроме того PMT содержит сообщения EMC системы условного доступа, если в программе присутствуют зашифрованные элементарные потоки.
PCR
Чтобы декодер мог воспроизводить программы в правильное время, на правильной скорости и с синхронизацией, обычно программы периодически передают Program Clock Reference, или PCR, в одном из потоков программы. Это так же называется основной источник опорной частоты (Master Clock). Временные интервалы в MPEG2 рассчитываются по этой частоте. Для примера, временная метка представления (PTS) соответствует PCR. Первые 33-бита соответствуют опорной частоте в 90 кГц. Расширение последовательности на 9 бит соответствует частоте в 27 МГц.
Null packets
Некоторые протоколы передачи, такие как в стандартах ATSC и DVB, жестко ограничены требованиями к бит-рейту транспортного потока. Таким образом, чтобы поток данных поддерживал постоянную жестко заданную скорость передачи, Multiplexer должен иметь возможность добавлять в поток дополнительные пакеты. Пакеты с PID 0x1FFF как раз служат для этих целей. Поле полезной нагрузки этих пакетов не содержит какой-либо полезной информации, таким образом ресивер получая такой пакет игнорирует его содержимое.
Модификация в транспортном потоке, спецификация случайного доступа к медиа (M2TS)
Timecode
Транспортный поток был создан для кассет и вещания, поэтому потребовались изменения для использования в медиаустройствах со случайным доступом, таких как новое поколение цифровых камер, записывающих на DVD, Blu-ray, жесткие диски или SSD, карты памяти.
Система случайного доступа может хранить пакетные данные в буфере, если устройство хранения не готово (например, пока устройство запускается).
Пакеты записываются не по порядку. Специальный трек хранит их 4-байтный код времени (timecode — TC), добавленный в стандартные 188-байтные пакеты. В результате получается 192-байтный пакет. Все это неофициально называется M2TS потоком. Blu-ray Disc Association назвала это «BDAV MPEG-2 transport stream». JVC назвала TOD (возможно, как аббревиатура от «Transport stream on disc») когда использовала его в видекамерах с HDD, таких как GZ-HD7. Транспортный поток M2TS также используется для AVCHD видеофайлов, которые часто имеют расширение MTS.
Программы, поддерживающие TS-файлы
Мультиплатформенные
Linux
Windows
- Combined Community Codec Pack [4]
- GOM Player
- Haenlein-Software DVR Studio
- The KMPlayer [5]
- Squared 5 MPEG Streamclip [6]
- VideoReDo [7]
- VobEdit [8]
- BSPlayer [9]
- jetAudio [10]
- VLC
Mac OS X
Примечания
- ↑ net.net — One of the Internet’s premiere addresses
- ↑ Entering MPlayer homepage
- ↑ VideoLAN — VLC media player — Open Source Multimedia Framework and Player
- ↑ CCCP — Combined Community Codec Pack
- ↑ The KMPlayer’s Forums
- ↑ 1 2 Squared 5 — MPEG Streamclip video converter for Mac and Windows
- ↑ VideoReDo MPEG Video Editing Software
- ↑ Free-Codecs.com :: Download VobEdit 0.6 : VobEdit is a tool for joining, cutting, de-multiplexing DVD VOB files
- ↑ The media player, movie player, YouTube player, video player, AVCHD player, divx player, free player — BS.Player.com
- ↑ JetAudio
Ссылки
- MPEG-2 Systems FAQ
- MPEG-4 Systems FAQ
- MPEG-1 description
- Powerpoint MPEG-2 Transport Stream introduction [1]
- Splicing FAQ
- Freeware TS-Muxer
- DVB Transport Stream.pdf
- MPEG-2 Transport Stream
- MPEG-2 Transmission
MPEG (Moving Picture Experts Group) | |
---|---|
MPEG-1 • 2 • 3 • 4 • 7 • 21 • A • B • C • D • E • V • M • U | |
Разделы MPEG-1 | Part 3: Аудио (Layer I • Layer II • Layer III) |
Разделы MPEG-2 | Part 1: Системы (Транспортный поток • Программный поток) • Part 2: Видео (H.262) • Part 3: Аудио (Layer I • Layer II • Layer III • Многоканальный MPEG) • Part 6: DSM CC • Part 7: AAC |
Разделы MPEG-4 | Part 2: Видео • Part 3: HE-AAC • Part 6: DMIF • Part 10: H.264 • Part 11: Описание сцены • Part 12: Формат медиафайлов ИСО • Part 14: Формат файла MP4 • Part 17: Потоковый текстовый формат • Part 20: Облегченное приложение воспроизведения сцен (LASeR) |
Разделы MPEG-7 | Part 2: Язык описания определений (DDL) |
Разделы MPEG-21 | Parts 2, 3 и 9: Цифровой объект • Part 5: Язык описания прав (REL) |
Разделы MPEG-D | Part 1: Пространственный звук MPEG |
Медиаконтейнеры | |
---|---|
Видео/аудио | 3GP • ASF • AVI • Bink • DMF • DPX • EVO • FLV • Matroska (MKV) • WebM • MPEG-PS • MPEG-TS • MP4 • MXF • NUT • Ogg • Ogg Media • QuickTime • RealMedia • Smacker • RIFF • VOB • сравнение • сжатие |
Аудио | AIFF • APE • AU • DSD • DXD • MLP • MP3 • FLAC • SHN (англ.) WAV • WMA • сравнение • сжатие |
Графические форматы (сжатие) | |
Растровые | Без потерь: BMP • FPX • GIF • ICO • ILBM • JBIG • PCX • PNG • PNM • PSD • RAW • TGA • WBMP • XCF • Включая сжатие с потерями: EXR • ICER • JBIG2 • JPEG / JP2 / JPEG-LS • JPEG XR (HD Photo) • PGF (англ.) • TIFF • WebP • Анимационные: APNG • GIF • MNG |
Векторные | AI • CDR • EMF • EPS • PS • SVG • WMF • XPS • Анимационные: SVG • SWF • 3D: 3DS • VRML • X3D |
Комплексные | CGM • DjVu • PDF |
Вещательные видеоформаты | |
---|---|
Телевидение | |
Аналоговое | 525 линий NTSC · NTSC-J · PAL-M 625 линий PAL · PAL-N/NC · PALplus · SECAM Аудио BTSC (MTS) · NICAM-728 · Zweiton (A2/IGR) · EIAJ Скрытые сигналы Captioning · Teletext · CGMS-A · GCR · PDC · VBI · VEIL · VITC · WSS · XDS Defunct systems Pre-1940 · Baird-Nipkow · 405 lines · 441 lines · 819 lines · MAC · MUSE |
Цифровое | Чересстрочная развёртка SDTV (480i · 576i) · HDTV (1080i) Прогрессивная развёртка LDTV (240p · 288p · 1seg) · EDTV (480p · 576p) · HDTV (720p · 1080p) MPEG-2 стандарты ATSC · DVB · ISDB · DMB-T/H MPEG-4 AVC стандарты DVB-T · DVB-H · DVB · SBTVD · ISDB (1seg) Audio AC3 (5.1) · MPEG Multichannel · PCM · LPCM · AAC Скрытые сигналы Captioning · Teletext · NexTView · CPCM · Broadcast flag · AFD · EPG · ESG · |
Digital cinema | |
UHDV (2540p · 4320p) · DCI | |
Технический выпуск | |
14:9 compromise · MPEG transport · Reverse Standards Conversion · Standards conversion · Video processing · Video on Demand · HDTV blur |