Когда я читаю о форматах потокового мультимедиа и методах упаковки, меня сбивает с толку то, что WebM описывается как взаимоисключающийРТМПиHTTP-трансляция в реальном времени.
Насколько я понимаю, WebM — это видеоформат, своего рода способ кодирования видеофайла с расширением .webm
, тогда как RTMP и HLS — это способы отправки видеоформатов через Интернет в прямом эфире (способ упаковки битов информации и отправки их по некоторому веб-протоколу, например HTTP TCP).
Имеет ли WebM свой собственный метод отправки себя через Интернет? Это тот случай, когда RTMP и HLS не могут отправлять видео в формате WebM?
решение1
WebM по сути является форматом контейнера для передачи видео VP8 или VP9 и аудио Vorbis или Opus. Он не определяет, как его следует транслировать, и, как правило, не имеет широкой поддержки для трансляции по сравнению с другими форматами контейнеров, такими как MPEG-2 TS или MP4. Однако его все еще можно использовать для трансляции.
Обратите внимание, что под «потоковой передачей» я не подразумеваю просто загрузку одного файла с веб-сайта или встраивание одного (длинного) клипа в <video>
тег HTML5. За последние годы было использовано несколько более продвинутых технологий потоковой передачи:
RTMP-трансляция(протокол обмена сообщениями в реальном времени), требуется сервер RTMP, напримерAdobe Flash Media Server, который будет передавать клиенту поддерживаемые Flash форматы файлов (MP4, FLV). Это все еще довольно распространено, но медленно и верно отмирает – как и все технологии на основе Flash.
Поскольку WebM не поддерживается во Flash, вы не сможете его там использовать.
RTSP-трансляция(Real Time Streaming Protocol) — это протокол управления для потоковых серверов, таких какСервер потоковой передачи QuickTimeилиСервер HelixКлиент и сервер будут обмениваться управляющими сообщениями через этот протокол, в то время как данные передаются черезРТП(Real-time Transport Protocol) полезная нагрузка. Это редко встречается в Интернете, но скорееIPTV.
Существуют спецификации о том, какинкапсулировать WebM в RTP.
HTTP-трансляция в реальном временииMPEG-DASHявляются адаптивными потоковыми технологиями, в которых клиент запрашивает фрагменты видео с сервера с помощью простых HTTP-запросов на основе файла плейлиста M3U8 (в случае HLS) или MPD Manifest (в случае DASH). Этот файл индексирует эти фрагменты файлов, содержащие фактические аудио- и видеоданные.
В HLS видео должно храниться в файлах MPEG-2 TS или, с 2017 года, в фрагментированных файлах MP4 (базовый формат медиаданных ISO). MPEG-DASH имеет более широкую поддержку; здесь,сегментированный WebM также может быть использован.