Я пытаюсь концептуально понять лучший способ доставки реального потокового аудио и видео контента. Я бы хотел, чтобы он использовался с веб-браузером, используя наименьшее количество проприетарных технологий. Я бы не стал обслуживать статические файлы и использовать прогрессивную загрузку, это были бы реальные аудиопотоки, записываемые вживую. Как транслировать поток, который будет разумно синхронизирован с источником? Какой протокол подходит?
Изменить:
В ходе исследования я обнаружил, что существует несколько протоколов: RTSP, HTTP Streaming, RTMP и RTP.
Потоковая передача HTTP в какой-то мере не подходит, если вы транслируете какое-либо выступление / общение в реальном времени, потому что она полагается на TCP (как его основанный на HTTP), и вы не теряете пакеты. В ситуации с низкой пропускной способностью клиент может значительно отставать в воспроизведении. ref
RTMP - это запатентованная технология, требующая сервера флэш-памяти. Вот дерьмо. Я обратил внимание на флеш-память потому, что она чрезвычайно гибкая с точки зрения пользовательского опыта. SoundManager2 предоставляет отличный интерфейс javascript для воспроизведения мультимедиа с флэш-памятью. Это то, что я ищу в клиентском приложении.
RTSP / RTP - это то, что Microsoft перешла на использование, отказавшись от своего протокола MMS. RTSP - это протокол управления. Это похоже на HTTP с некоторыми отличиями - сервер также может разговаривать с клиентом, и есть дополнительные команды, такие как PAUSE. Это также протокол с отслеживанием состояния, который поддерживается с помощью идентификатора сеанса. RTP - это протокол для доставки полезной нагрузки (закодированного аудио или видео). Есть несколько проектов с открытым исходным кодом, один из которых поддерживается Apple здесь. Похоже, это может делать то, что я хочу, и похоже, что это поддерживает довольно много игроков.. Похоже, он подходит для "прямой трансляции" с этой страницы, здесь.
Спасибо, Джош