Я працюю над веб-сайтом, який потребує передачі відео в прямому ефірі користувачам, і тому мені довелося обернутися голосом про стан жалості поточної технології веб-трансляції на основі браузера. Наразі найпопулярніші рішення для прямого трансляції мають проблеми сумісності; RTMP вимагає Flash, HLS тільки спочатку підтримується Safari і Chrome для Android, DASH НЕ спочатку підтримується в будь-якому місці і з допомогою dash.js вимагає Media Source Extensions , які ще не є широко підтримується.
Це призводить до питання, який мені здається очевидним: чи можна використовувати просте прогресивне завантаження як альтернативу протоколам на зразок HLS, RTMP та DASH, яким потрібна підтримка браузера або плагіни?
Ідея використання прогресивного завантаження для передачі живих медіа не є безпрецедентною; люди вже роблять це для аудіо. Такі інструменти, як liveCaster, дозволяють передавати аудіо в прямому ефірі MP3 через єдиний прогресивний відповідь HTTP, не потребуючи заздалегідь записаного MP3-файлу, а бібліотеки на зразок AmplitudeJS пішли з шляху, щоб додати функції, пов’язані з таким видом прямої трансляції аудіо .
Я не бачив жодних випадків використання цієї техніки в природі для відео , і я не можу сказати, чому. Схоже, це дозволить видалити шар безладної та складної проблеми сумісності браузера за відносно невеликі компроміси. (І сумісність все ще є величезною проблемою для прямого ефіру, навіть коли професіонали це роблять; якщо я спробую переглянути відео в прямому ефірі на iPlayer BBC в Firefox, це просто дає мені повідомлення про помилку, яке говорить мені про встановлення Flash.) Але ніхто не використовує ця техніка, і я ніколи не бачив, щоб ніхто, крім мене, згадував ідею .
Чому? Чи є фундаментальне обмеження, яке я не бачу, що унеможливить просто потік відеофайлів, таких як MP4, шляхом прогресивного завантаження під час його генерування та відтворення його в <video>
елементі під час завантаження?