Фрагментированный mp4 для DASH и HLS по запросу против живых профилей

Я экспериментирую с Bento4 и Shaka Packager для вывода файлов как для DASH, так и для HLS с использованием фрагментированного mp4.

У меня возникли проблемы с пониманием различий, а также плюсов и минусов между профилями MPEG-DASH Live и On-Demand. Если бы я транслировал контент в прямом эфире, я бы использовал профиль Live, но для статических видео по запросу, кажется, я могу использовать профиль On-Demand или Live. Каждый профиль выводит файлы в совершенно другом формате файлов и структуре папок: по запросу выводится плоская структура папок, содержащая файлы .mp4, а в режиме Live выводится вложенная структура папок, содержащая файлы m4s.

Целесообразно ли использовать один профиль вместо другого для статического видеоконтента, который не будет транслироваться в прямом эфире (например, поддержка браузера, эффективность и т. Д.), И если да, то почему?


person edwinbradford    schedule 13.02.2018    source источник


Ответы (1)


«Живой» профиль - это что-то неправильное, потому что на самом деле он не имеет отношения к потоковой передаче. Основное отличие состоит в том, что с профилем по запросу на сервере размещаются большие плоские файлы с множеством сегментов на файл (где сегмент представляет собой короткую часть медиаресурса, например аудио или видео, обычно от 2 до 10 секунд каждый), включая индекс расположения сегментов в файле. Затем клиент потоковой передачи должен получить доступ к сегментам один за другим, выполняя HTTP-запросы «диапазона» для доступа к частям медиаресурсов. Для «живого» профиля доступ к сегментам осуществляется не как к диапазонам в плоском ресурсе, а как к отдельному ресурсу для каждого сегмента (отдельный URL-адрес для каждого сегмента). Это не обязательно означает, что HTTP-сервер должен иметь сегменты в отдельных файлах, но он должен иметь возможность отображать каждый URL-адрес сегмента на соответствующий носитель, либо выполняя поиск в индексе в плоский файл, либо размещая каждый сегмент в отдельном файле или любыми другими способами. Таким образом, сервер должен делать тяжелую работу (в отличие от профиля «по запросу», где это делает игрок / клиент. С такими упаковщиками, как Bento4, если нет специальных предположений о HTTP-сервере, который будет сервером мультимедиа, режим по умолчанию для "живого" профиля - хранить каждый сегмент в отдельном файле, чтобы поток мог обслуживаться любым стандартным HTTP-сервером. Итак, для простоты, если ваш плеер поддерживает профиль по запросу, его легче выбрать, поскольку у вас будет меньше файлов.

person Gilles Boccon-Gibod    schedule 18.02.2018
comment
Отлично, спасибо, что нашли время ответить, именно то, что мне нужно. Я экспериментировал с фрагментированным mp4 для DASH и HLS в течение нескольких недель, и ваши инструменты Bento4 дали самые надежные результаты, которые работают с самым широким кругом тестовых плееров, спасибо за отличные инструменты. - person edwinbradford; 18.02.2018