Каков формат сегмента mpeg-dash (обычно.m4s)?
Я новичок в программировании мультимедиа, я пытаюсь производить живой контент mpeg-dash из буфера транспортного потока, анализируя пакеты по отдельности.
Я хочу создать сегменты.m4s, но я запутался в их структуре.
Другими словами, если мы объединим несколько сегментов, будем ли мы создавать транспортный поток MPEG, программный поток MPEG или отдельные элементарные потоки?
1 ответ
Транспортные потоки MPEG-2 и сегменты MPEG-DASH - это разные вещи. Первый - это спецификация для пакетной передачи аудиовизуального контента по ненадежным сетям, тогда как последние используются для передачи по надежному HTTP. Таким образом, концепция немного отличается.
В отличие от MPEG-TS, существуют разные способы подготовки носителя для передачи MPEG-DASH. .m4s
файлы - это один вариант, фактически MPEG-TS - это другой вариант.
.m4s
файлы представляют собой отдельные медиа сегменты одного полного файла. Они находятся в формате базового медиа-файла ISO (ISOBMFF). Идея состоит в том, чтобы разделить один более длинный файл (например, подумать об одном фильме, закодированном как .mp4
файл) в отдельные файлы, которые могут быть загружены независимо через HTTP.
Если вы объединяете несколько .m4s
сегменты, вы получите полный, воспроизводимый файл снова - сами медиа-сегменты не могут быть воспроизведены сами по себе, так как они требуют, чтобы первый сегмент инициализации был декодирован первым. Пожалуйста, прочитайте связанную спецификацию для получения дополнительной информации. Вы также можете найти более старую информацию по этой теме в GPAC.
Вы можете объединить видео и аудио дорожки в один файл, но обычно для HTTP Adaptive Streaming аудио и видео передаются в отдельных потоках.
В вашем конкретном случае, если у вас уже есть контент MPEG-TS и вы хотите повторно скомпоновать его в сегменты ISOBMFF, bento4 может быть хорошей платформой для использования, если вы хотите сделать это программно. Так жеdashcast
Программа может принимать любые входные данные и создавать прямые потоки выходных данных DASH.