MPEG-TS

Поделись знанием:
(перенаправлено с «.TS»)
Перейти к: навигация, поиск

Транспортный поток (TS, TP, MPEG-TS, или M2TS) является протоколом для передачи аудио- и видеоданных, описанным в MPEG2, часть 1[1]. Цель разработки этого стандарта — мультиплексирование аудио- и видеоданных и синхронизация их выхода. Транспортный поток открывает возможности для исправления ошибок транспортных средств, таких как DVB и ATSC.

TS — формат медиаконтейнера, который инкапсулирует пакеты элементарных потоков и других данных.





Структура потока

В транспортном потоке можно выделить несколько уровней абстракции, иерархическая структура которых напоминает сетевую модель OSI. Например поток, содержащий видео, можно представить следующим образом:

Важные элементы транспортного потока

Пакет

Пакет, базовая единица транспортного потока.

  • заголовок начинается с известного Байта Синхронизации (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. 00 — Не зашифрованный пакет.
    • 2. 01 — ЗАРЕЗЕРВИРОВАННЫЙ для будущего использования.
    • 3. 10 — Пакет зашифрован четным ключем.
    • 4. 11 — Пакет зашифрован нечетным ключем.
  • Два служебных бита поля адаптации, которые могут иметь четыре значения:
    • 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 содержит сообщения ECM системы условного доступа, если в программе присутствуют зашифрованные элементарные потоки.

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.

Программы, поддерживающие M2TS-файлы

Мультиплатформенные

Linux

Windows

Mac OS X

Напишите отзыв о статье "MPEG-TS"

Примечания

  1. [neuron2.net/library/mpeg2/iso13818-1.pdf net.net — One of the Internet’s premiere addresses]
  2. [www.mplayerhq.hu/ Entering MPlayer homepage]
  3. [www.videolan.org/vlc/ VideoLAN — Официальная веб-страница медиаплеера VLC, видео фреймворка с открытым исходным кодом]
  4. [cccp-project.net CCCP — Combined Community Codec Pack]
  5. [www.kmplayer.com/ The KMPlayer’s Forums]
  6. 1 2 [www.squared5.com Squared 5 — MPEG Streamclip video converter for Mac and Windows]
  7. [www.videoredo.com VideoReDo MPEG Video Editing Software]
  8. [www.free-codecs.com/download/VobEdit.htm Free-Codecs.com:: Download VobEdit 0.6 : VobEdit is a tool for joining, cutting, de-multiplexing DVD VOB files]
  9. [www.bsplayer.org The media player, movie player, YouTube player, video player, AVCHD player, divx player, free player — BS.Player.com]
  10. [www.jetaudio.com/products/jetaudio/ JetAudio]

Ссылки

  • [www.chiariglione.org/mpeg/faq/mp2-sys/mp2-sys.htm MPEG-2 Systems FAQ]
  • [www.chiariglione.org/mpeg/faq/mp4-sys/mp4-sys.htm MPEG-4 Systems FAQ]
  • [www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm MPEG-1 description]
  • [www.sctenj.org/clubpro/attachedfiles/SCTE/triveni.pptx Powerpoint MPEG-2 Transport Stream introduction] [www.glue.umd.edu/~karir/mpeg2/MPEG-2.PPT]
  • [www.mpeg.org/MPEG/splicing-FAQ.html Splicing FAQ]
  • [forum.doom9.org/showthread.php?t=134104 Freeware TS-Muxer]
  • [wiki.multimedia.cx/index.php?title=MPEG-2_Transport_Stream MPEG-2 Transport Stream]
  • [www.erg.abdn.ac.uk/research/future-net/digital-video/mpeg2-trans.html MPEG-2 Transmission]

Отрывок, характеризующий MPEG-TS

– Да ведь надобно же отвечать ему.
Козловский с решительным видом оглянулся на ряды и в этом взгляде захватил и Ростова.
«Уж не меня ли?» подумал Ростов.
– Лазарев! – нахмурившись прокомандовал полковник; и первый по ранжиру солдат, Лазарев, бойко вышел вперед.
– Куда же ты? Тут стой! – зашептали голоса на Лазарева, не знавшего куда ему итти. Лазарев остановился, испуганно покосившись на полковника, и лицо его дрогнуло, как это бывает с солдатами, вызываемыми перед фронт.
Наполеон чуть поворотил голову назад и отвел назад свою маленькую пухлую ручку, как будто желая взять что то. Лица его свиты, догадавшись в ту же секунду в чем дело, засуетились, зашептались, передавая что то один другому, и паж, тот самый, которого вчера видел Ростов у Бориса, выбежал вперед и почтительно наклонившись над протянутой рукой и не заставив ее дожидаться ни одной секунды, вложил в нее орден на красной ленте. Наполеон, не глядя, сжал два пальца. Орден очутился между ними. Наполеон подошел к Лазареву, который, выкатывая глаза, упорно продолжал смотреть только на своего государя, и оглянулся на императора Александра, показывая этим, что то, что он делал теперь, он делал для своего союзника. Маленькая белая рука с орденом дотронулась до пуговицы солдата Лазарева. Как будто Наполеон знал, что для того, чтобы навсегда этот солдат был счастлив, награжден и отличен от всех в мире, нужно было только, чтобы его, Наполеонова рука, удостоила дотронуться до груди солдата. Наполеон только прило жил крест к груди Лазарева и, пустив руку, обратился к Александру, как будто он знал, что крест должен прилипнуть к груди Лазарева. Крест действительно прилип.
Русские и французские услужливые руки, мгновенно подхватив крест, прицепили его к мундиру. Лазарев мрачно взглянул на маленького человечка, с белыми руками, который что то сделал над ним, и продолжая неподвижно держать на караул, опять прямо стал глядеть в глаза Александру, как будто он спрашивал Александра: всё ли еще ему стоять, или не прикажут ли ему пройтись теперь, или может быть еще что нибудь сделать? Но ему ничего не приказывали, и он довольно долго оставался в этом неподвижном состоянии.
Государи сели верхами и уехали. Преображенцы, расстроивая ряды, перемешались с французскими гвардейцами и сели за столы, приготовленные для них.
Лазарев сидел на почетном месте; его обнимали, поздравляли и жали ему руки русские и французские офицеры. Толпы офицеров и народа подходили, чтобы только посмотреть на Лазарева. Гул говора русского французского и хохота стоял на площади вокруг столов. Два офицера с раскрасневшимися лицами, веселые и счастливые прошли мимо Ростова.
– Каково, брат, угощенье? Всё на серебре, – сказал один. – Лазарева видел?
– Видел.
– Завтра, говорят, преображенцы их угащивать будут.
– Нет, Лазареву то какое счастье! 10 франков пожизненного пенсиона.
– Вот так шапка, ребята! – кричал преображенец, надевая мохнатую шапку француза.
– Чудо как хорошо, прелесть!
– Ты слышал отзыв? – сказал гвардейский офицер другому. Третьего дня было Napoleon, France, bravoure; [Наполеон, Франция, храбрость;] вчера Alexandre, Russie, grandeur; [Александр, Россия, величие;] один день наш государь дает отзыв, а другой день Наполеон. Завтра государь пошлет Георгия самому храброму из французских гвардейцев. Нельзя же! Должен ответить тем же.
Борис с своим товарищем Жилинским тоже пришел посмотреть на банкет преображенцев. Возвращаясь назад, Борис заметил Ростова, который стоял у угла дома.
– Ростов! здравствуй; мы и не видались, – сказал он ему, и не мог удержаться, чтобы не спросить у него, что с ним сделалось: так странно мрачно и расстроено было лицо Ростова.
– Ничего, ничего, – отвечал Ростов.
– Ты зайдешь?
– Да, зайду.
Ростов долго стоял у угла, издалека глядя на пирующих. В уме его происходила мучительная работа, которую он никак не мог довести до конца. В душе поднимались страшные сомнения. То ему вспоминался Денисов с своим изменившимся выражением, с своей покорностью и весь госпиталь с этими оторванными руками и ногами, с этой грязью и болезнями. Ему так живо казалось, что он теперь чувствует этот больничный запах мертвого тела, что он оглядывался, чтобы понять, откуда мог происходить этот запах. То ему вспоминался этот самодовольный Бонапарте с своей белой ручкой, который был теперь император, которого любит и уважает император Александр. Для чего же оторванные руки, ноги, убитые люди? То вспоминался ему награжденный Лазарев и Денисов, наказанный и непрощенный. Он заставал себя на таких странных мыслях, что пугался их.
Запах еды преображенцев и голод вызвали его из этого состояния: надо было поесть что нибудь, прежде чем уехать. Он пошел к гостинице, которую видел утром. В гостинице он застал так много народу, офицеров, так же как и он приехавших в статских платьях, что он насилу добился обеда. Два офицера одной с ним дивизии присоединились к нему. Разговор естественно зашел о мире. Офицеры, товарищи Ростова, как и большая часть армии, были недовольны миром, заключенным после Фридланда. Говорили, что еще бы подержаться, Наполеон бы пропал, что у него в войсках ни сухарей, ни зарядов уж не было. Николай молча ел и преимущественно пил. Он выпил один две бутылки вина. Внутренняя поднявшаяся в нем работа, не разрешаясь, всё также томила его. Он боялся предаваться своим мыслям и не мог отстать от них. Вдруг на слова одного из офицеров, что обидно смотреть на французов, Ростов начал кричать с горячностью, ничем не оправданною, и потому очень удивившею офицеров.
– И как вы можете судить, что было бы лучше! – закричал он с лицом, вдруг налившимся кровью. – Как вы можете судить о поступках государя, какое мы имеем право рассуждать?! Мы не можем понять ни цели, ни поступков государя!
– Да я ни слова не говорил о государе, – оправдывался офицер, не могший иначе как тем, что Ростов пьян, объяснить себе его вспыльчивости.
Но Ростов не слушал.
– Мы не чиновники дипломатические, а мы солдаты и больше ничего, – продолжал он. – Умирать велят нам – так умирать. А коли наказывают, так значит – виноват; не нам судить. Угодно государю императору признать Бонапарте императором и заключить с ним союз – значит так надо. А то, коли бы мы стали обо всем судить да рассуждать, так этак ничего святого не останется. Этак мы скажем, что ни Бога нет, ничего нет, – ударяя по столу кричал Николай, весьма некстати, по понятиям своих собеседников, но весьма последовательно по ходу своих мыслей.
– Наше дело исполнять свой долг, рубиться и не думать, вот и всё, – заключил он.
– И пить, – сказал один из офицеров, не желавший ссориться.
– Да, и пить, – подхватил Николай. – Эй ты! Еще бутылку! – крикнул он.



В 1808 году император Александр ездил в Эрфурт для нового свидания с императором Наполеоном, и в высшем Петербургском обществе много говорили о величии этого торжественного свидания.
В 1809 году близость двух властелинов мира, как называли Наполеона и Александра, дошла до того, что, когда Наполеон объявил в этом году войну Австрии, то русский корпус выступил за границу для содействия своему прежнему врагу Бонапарте против прежнего союзника, австрийского императора; до того, что в высшем свете говорили о возможности брака между Наполеоном и одной из сестер императора Александра. Но, кроме внешних политических соображений, в это время внимание русского общества с особенной живостью обращено было на внутренние преобразования, которые были производимы в это время во всех частях государственного управления.
Жизнь между тем, настоящая жизнь людей с своими существенными интересами здоровья, болезни, труда, отдыха, с своими интересами мысли, науки, поэзии, музыки, любви, дружбы, ненависти, страстей, шла как и всегда независимо и вне политической близости или вражды с Наполеоном Бонапарте, и вне всех возможных преобразований.
Князь Андрей безвыездно прожил два года в деревне. Все те предприятия по именьям, которые затеял у себя Пьер и не довел ни до какого результата, беспрестанно переходя от одного дела к другому, все эти предприятия, без выказыванья их кому бы то ни было и без заметного труда, были исполнены князем Андреем.
Он имел в высшей степени ту недостававшую Пьеру практическую цепкость, которая без размахов и усилий с его стороны давала движение делу.
Одно именье его в триста душ крестьян было перечислено в вольные хлебопашцы (это был один из первых примеров в России), в других барщина заменена оброком. В Богучарово была выписана на его счет ученая бабка для помощи родильницам, и священник за жалованье обучал детей крестьянских и дворовых грамоте.
Одну половину времени князь Андрей проводил в Лысых Горах с отцом и сыном, который был еще у нянек; другую половину времени в богучаровской обители, как называл отец его деревню. Несмотря на выказанное им Пьеру равнодушие ко всем внешним событиям мира, он усердно следил за ними, получал много книг, и к удивлению своему замечал, когда к нему или к отцу его приезжали люди свежие из Петербурга, из самого водоворота жизни, что эти люди, в знании всего совершающегося во внешней и внутренней политике, далеко отстали от него, сидящего безвыездно в деревне.
Кроме занятий по именьям, кроме общих занятий чтением самых разнообразных книг, князь Андрей занимался в это время критическим разбором наших двух последних несчастных кампаний и составлением проекта об изменении наших военных уставов и постановлений.
Весною 1809 года, князь Андрей поехал в рязанские именья своего сына, которого он был опекуном.
Пригреваемый весенним солнцем, он сидел в коляске, поглядывая на первую траву, первые листья березы и первые клубы белых весенних облаков, разбегавшихся по яркой синеве неба. Он ни о чем не думал, а весело и бессмысленно смотрел по сторонам.
Проехали перевоз, на котором он год тому назад говорил с Пьером. Проехали грязную деревню, гумны, зеленя, спуск, с оставшимся снегом у моста, подъём по размытой глине, полосы жнивья и зеленеющего кое где кустарника и въехали в березовый лес по обеим сторонам дороги. В лесу было почти жарко, ветру не слышно было. Береза вся обсеянная зелеными клейкими листьями, не шевелилась и из под прошлогодних листьев, поднимая их, вылезала зеленея первая трава и лиловые цветы. Рассыпанные кое где по березнику мелкие ели своей грубой вечной зеленью неприятно напоминали о зиме. Лошади зафыркали, въехав в лес и виднее запотели.