Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Несколько MPEG программ объединяются, а затем отправляются на передающую антенну. В трансляциях цифрового ТВ США ATSC-приёмник декодирует TS и отображает его.

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

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

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

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

  • Смесь различных программ.
    • Пакетизированный элементарный поток (Packetized elementary stream, PES)
      • Элементарный поток (Elementary stream, ES)
        • Группа изображений (Group of pictures, GOP) — предоставляет произвольный доступ к картинке
          • Отдельное изображение (кадр)
            • Срез (Slice) — часть кадра, выделенная для предотвращения распространения ошибок квантования
              • Макроблок — в составе — от 6 до 12 DCT-блоков.
                • Элементарный блок кодирования (DCT-блок) размером 8x8 точек

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

Пакет

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

Заголовок пакета:

  • заголовок начинается с предопределённого байта синхронизации (8 бит) 0x47 (0100 0111).
  • Следующие три битовых флага используются, чтобы указать, как должна быть обработана полезная нагрузка.
    • 1. Первый флажок указывает на транспортную ошибку (Transport Error Indicator)
    • 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. Третий флажок указывает транспортный приоритетный бит (Transport Priority)
  • флажки сопровождаются идентификатором пакета (13 бит) — PID. Используется, чтобы однозначно определить поток, которому принадлежит пакет (например, пакеты PES, соответствующие ES), сгенерированный мультиплексором. PID позволяет получателю дифференцировать поток, которому принадлежит каждый полученный пакет. Некоторые значения PID предопределены и используются, чтобы указать различные потоки информации контроля. От пакета с неизвестным PID, который не требуется получателю, просто отказываются. Специфическое значение PID 0x1FFF зарезервировано, чтобы указать, что пакет — нулевой пакет (и должен быть проигнорирован получателем).
  • два следующих служебных бита используются процедурами условного доступа к зашифрованной полезной нагрузке некоторых пакетов TS (Transport Scrambling Control):
    • 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 для будущего использования
  • Наконец есть Счётчик Непрерывности (Continuity Counter; 4 бита)

Остальная часть пакета состоит из полезной информации. Пакеты составляют 188 байт в длине, но среда коммуникации может добавить некоторые байты для устранения ошибок пакета. DVB-ASI использует 204 байта и 208 байтов ATSC как транспортный пакет потока. (DVB t=8 и ATSC t=10 то есть дополнительные байты = 2*t). Передача ATSC добавляет 20 байтов Reed-Solomon передовое устранение ошибок, чтобы создать пакет, который является 208 байтов длиной. 188-байтовый размер пакета был первоначально выбран для совместимости с системами ATM.

Поле адаптации (Adaptation Field)

Заголовок AF:

  • AF length - байт, длина AF до данных пакета
  • DI (Discontinuity indicator) - устанавливается в 1 если на этом пакете нарушилась непрерывность потока по СС или PCR.
  • RAI (Random Access Indicatior) - устанавливается в пакете, с которого возможно начать декодирование без ошибок
  • Elementary stream priority indicator - устанавливается, для элементарного потока, который должен обрабатываться как "высокоприоритетный"
  • PCR present - устанавливается, если AF содержит поле PCR (Program clock reference, 48 бит)
  • OPCR present - устанавливается, если AF содержит поле OPCR (Original Program clock reference, 48 бит), используется при копировании TS
  • Splicing point flag - устанавливается, если AF содержит поле Splice countdown (8 бит)
  • Transport private data flag - устанавливается, если AF содержит private data (поле длины 8 бит + данные)
  • Adaptation field extension flag - устанавливается, если в пакете присутствует расширение AF (заголовок + данные)

PID

Каждая таблица или элементарный поток в транспортном потоке идентифицируется по 13-битовому PID. Демультиплексор извлекает элементарные потоки из общего транспортного потока, объединяя их в потоки с одинаковыми PID. В большинстве приложений планируется использовать временно́е мультиплексирование, чтобы решать, как часто конкретный PID будет появляться в транспортном потоке.

Программы

Транспортный поток использует понятие "программа". Каждая программа описана в Program Map Table (PMT), которая имеет уникальный PID, и элементарные потоки, связанные с этой программой и имеющие свои PID-ы, которые перечислены в PMT. Например, транспортный поток, используемый в цифровом телевидении, может состоять из трёх программ и нести в себе три телевизионных канала. Предположим, каждый канал состоит из одного видеопотока и одного или двух аудиопотоков, и любые необходимые метаданные. Приёмник, желающий декодировать один из каналов, использует для декодирования лишь каналы, имеющие 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-пакеты (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

Примечания

  1. net.net — One of the Internet’s premiere addresses. Дата обращения: 6 июля 2008. Архивировано из оригинала 11 июня 2010 года.
  2. Entering MPlayer homepage. Дата обращения: 8 июля 2009. Архивировано 16 июня 2008 года.
  3. VideoLAN — Официальная веб-страница медиаплеера VLC, видео фреймворка с открытым исходным кодом. Дата обращения: 8 июля 2009. Архивировано 23 февраля 2011 года.
  4. CCCP — Combined Community Codec Pack. Дата обращения: 29 августа 2018. Архивировано из оригинала 9 июня 2017 года.
  5. The KMPlayer’s Forums. Дата обращения: 14 сентября 2009. Архивировано 24 декабря 2009 года.
  6. 1 2 Squared 5 — MPEG Streamclip video converter for Mac and Windows. Дата обращения: 13 мая 2022. Архивировано 9 мая 2022 года.
  7. VideoReDo MPEG Video Editing Software. Дата обращения: 13 мая 2022. Архивировано 17 мая 2008 года.
  8. Free-Codecs.com:: Download VobEdit 0.6 : VobEdit is a tool for joining, cutting, de-multiplexing DVD VOB files. Дата обращения: 8 июля 2009. Архивировано 3 августа 2009 года.
  9. The media player, movie player, YouTube player, video player, AVCHD player, divx player, free player — BS.Player.com. Дата обращения: 13 мая 2022. Архивировано 24 декабря 2017 года.
  10. JetAudio. Дата обращения: 29 декабря 2009. Архивировано 30 декабря 2009 года.

Ссылки

Эта страница в последний раз была отредактирована 17 октября 2023 в 10:57.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).