MPEG transport stream
MPEG transport stream (MPEG-TS) — стандартний формат для передачі та зберігання аудіо, відео, і даних PSIP-протоколу (англ. Program and System Information Protocol). Він використовується в таких системах, як DVB, ATSC і IPTV.
Розширення файлу: |
. |
---|---|
MIME-тип: |
video/MP2T[1] |
Розробник: | MPEG |
Рік випуску: | 1995[2] |
Тип формату: | Мультимедійний контейнер |
Контейнер для: | Аудіо, відео, дані |
Розширений до: | M2TS, TOD |
Стандарт(и): | ISO/IEC 13818-1, ITU-T Рекомендація H.222.0[2] |
Транспортний потік описаний в специфікації MPEG-2 (частина 1). Також відомий як стандарт ISO/IEC 13818-1 або ITU-T Rec. H.222.0.
До складу чипсета MPEG кодера насправді входить аудіокодер і відеокодер. Відеокодер виробляє потік MPEG відеоданих, аудіокодер виробляє потік MPEG аудіо даних. Ці потоки називаються «елементарні MPEG потоки» (MPEG Elementary Streams або коротко ES). Обидва аудіо і відео елементарні (ES) потоки розбиті на пакети (наприклад, для відеодекодера пакетом може бути кадр зображення). Результуючі потоки називаються MPEG-пакетизовані елементарні потоки ( MPEG Packetized Elementary Streams або коротко PES), які, своєю чергою, мультиплексує кодер мультиплексора транспортного потоку (Transport Stream Multiplexer). Мультиплексор виробляє транспортний потік (Transport Stream, TS), який містить аудіо і відео PES-потоки разом з даними синхронізації[3].
Кожен з TS пакетів містить заголовок і корисні дані, наприклад, аудіо-, відеодані, телетекст. Заголовок кожного пакета містить інформацію про зміст цього пакету і є важливим для демультиплексора TS. Заголовок починається зі слова синхронізації (47 в hex форматі), використовуваного для розпізнавання початку пакета. Далі йдуть два байти, які містять деякі необхідні прапори (flags) і ідентифікатор пакету (PID).
Сервісна інформація міститься в кількох спеціальних таблицях. Ці таблиці передаються як окремі потоки, подібно відео- та аудіопотокам. Більшість потоків таблиць сервісної інформації мають фіксований відомий ID, так що декодер завжди може знайти їх.
Найбільш важливими є PAT і PMT таблиці. Таблиця PAT (Program Association Table) містить назви всіх програм в даному потоці і пакетні ідентифікатори (PID-коди) для PMT (Program Map Table) цих програм (таблиць структури програм). Якщо ресивером приймається невідомий транспортний потік, то він спочатку чекає TS пакетів з PID = 0, що містять таблицю PAT, потім, своєю чергою, PAT таблиця повідомляє ресиверу коди PID таблиці структури програм PMT в цьому потоці.
Структура комунікації
Транспортний потік містить в собі декілька інших вкладених потоків, часто це є пакетовані елементарні потоки (PES), які своєю чергою містять потік основних даних кодека MPEG, так само як і будь-яку кількість даних не MPEG кодеків (таких як аудіо AC3 або DTS, і відео MJPEG або JPEG 2000), текст і зображення для субтитрів, таблиці, що ідентифікують потоки, а також специфічну інформацію транслятора, так, як електронний телегід. Багато непов’язаних потоків зазвичай поєднуються разом, наприклад декілька телевізійних каналів, або декілька розділів фільму. Кожен потік розбивається на (що найбільше) секції в 188-байт і розділяються між собою; завдяки невеликому розміру пакету, потоки можна розділяти з меншою затримкою і великою стійкістю до помилок в порівнянні з програмними потоками і звичайними контейнерами такими як AVI, MOV/MP4, і MKV, які зазвичай обертають кожен окремий кадр в один пакет. Це частково важливо для відеоконференцій, при яких навіть великий кадр може призвести до відчутної затримки аудіо.
Транспортні потоки намагаються передавати з постійною частотою даних (CBR) щоб підтримувати сталу частоту трансляції, і заповнені додатковими байтами коли даних не достатньо, хоча формату Blu-Ray не потребують CBR.
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.
Примітки
- RFC 3555 - MIME Type Registration of RTP Payload Formats. July 2003. Процитовано 20 березня 2010.
- ITU-T (October 2014). Recommendation H.222.0 (10/14).
- Структура транспортного потока MPEG