Розширення: | .ts, .tsv, .tsa |
---|---|
MIME-тип: | video/MP2T[1] |
Розробник: | MPEG |
Рік випуску: | 1995[2] |
Тип формату: | Мультимедійний контейнер |
Контейнер для: | Аудіо, відео, дані |
Розширений до: | M2TS, TOD |
Стандарт(и): | ISO/IEC 13818-1, ITU-T Рекомендація H.222.0[2] |
MPEG transport stream (MPEG-TS) — стандартний формат для передачі та зберігання аудіо, відео, і даних PSIP-протоколу (англ. Program and System Information Protocol). Він використовується в таких системах, як DVB, ATSC і IPTV.
Транспортний потік описаний в специфікації 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 в цьому потоці.