Анализ составного потока аудио и видео: объяснение формата потока TS
Анализ составного потока аудио и видео: объяснение формата потока TS

1. Понятие составного потока. Что такое составной поток?

Проще говоря, составной поток — это поток, содержащий видео и аудио. Если поток содержит только аудио или видео, мы называем его «голым потоком», например «голым потоком H264», «голым потоком AAC» и т. д. В аудио и видео поток TS (полное название: MPEG2-TS) является широко используемым составным потоком (в настоящее время наиболее распространенным составным потоком). Почти все протоколы потокового мультимедиа поддерживают потоки TS, такие как: RTSP, UDP, SRT и т. д. (RTMP принадлежит к протоколу потокового мультимедиа FLV, который будет подробно представлен в следующей статье).

2. Введение в структуру потока ТС:

2.1. Трехуровневая структура, поддерживаемая потоком TS:

Они есть:

  • Уровень транспортного потока
  • Уровень Pes (поток элементов пакетов)
  • ESслой потока (Элементарный поток)

2.2.Пояснение уровня транспортного потока:

Размер уровня TS фиксирован и составляет 188 байт, и TS внутренне разделен на три части: заголовок TS, поле адаптации и полезная нагрузка. Заголовок TS относится к заголовку TS, который фиксирован в четырех байтах. Поле адаптации не имеет особого значения, оно в основном используется для дополнения 188 байт. Полезная нагрузка относится к конкретным данным pes.

  • Структура заголовка TS:
  • Структура Адаптации:

Основное содержимое уровня транспортного потока включает в себя: таблицу PAT, таблицу PMT, аудиопоток и видеопоток. Основная функция таблицы PAT — поиск соответствующих аудио- и видеопотоков через PMT. Значение PID таблицы PAT обычно равно 0, а PAT и PMT необходимо время от времени вставлять в поток TS. Поэтому давайте суммируем конкретные функции таблиц PAT и таблиц PMT:

  • Таблица PAT: Основная функция — найти значение PID таблицы PAT с помощью этой таблицы. Ниже приводится содержимое таблицы PAT.
  • Таблица PMT: Основная функция — найти значение PID аудио и видео. Ниже приводится конкретное содержимое таблицы PMT.
  • Аудио- и видеопоток: это конкретные аудио- и видеоданные, вставленные пользователем.

2.3.Пояснение структуры слоев PES:

После того как мы представим уровень Транспортного потока, давайте взглянем на содержимое уровня PES. Основная функция уровня PES — добавление временной метки к каждому аудио- и видеопотоку. Вот почему мы часто видим информацию PTS и DTS в плеерах ffplay или vlc. Давайте сначала взглянем на структуру PES:

PTS относится к метке времени отображения, а DTS относится к метке времени декодирования. В большинстве случаев значения PTS и DTS одинаковы, но если кодер вводит кадры B, PTS и DTS должны рассчитать DTS на основе истинного интервала B.

PTS звука всегда равен DTS.

2.4.Пояснение структуры слоя ES:

Уровень ES — это то, что мы часто называем голой потоковой передачей видео и потоковой передачей звука. Например: кодовый поток H264/HEVC. Кодовый поток AAC. На уровне ES потока TS необходимо упаковать все чистые видеопотоки и аудиопотоки. Например, если взять в качестве примера поток кода H264, все голые потоки H264 следуют формату NALU, включая кадры SPS, PPS и I.

Поскольку это структура потока ES, она была представлена ​​в предыдущих статьях, поэтому я не буду вдаваться в подробности здесь.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.