RTSP — протокол за поточно предаване в реално време: определение и функции

RTSP — протокол за поточно предаване в реално време: дефиниция и ключови функции, управление на стрийминг сървъри, разлика с RTP и приложения за аудио/видео в реално време.

Автор: Leandro Alegsa

Протоколът за стрийминг в реално време (RTSP), разработен от IETF и създаден през 1998 г. като RFC 2326, е протокол за използване в системи за стрийминг на мултимедия, който позволява на клиент да управлява дистанционно сървър за стрийминг на мултимедия, като издава команди, подобни на тези от видеокасетофона, като "възпроизвеждане" и "пауза", и позволява достъп до файлове на сървъра в зависимост от времето. RTSP е текстов, командно-ориентиран протокол (по подобие на HTTP) и често се използва за управление на видео на живо и записи в IP камери, системи за видеонаблюдение и услуги за видео при поискване (VoD).

Важно: самото изпращане на поточни данни не е част от протокола RTSP. Повечето RTSP сървъри използват базирания на стандартите RTP като транспортен протокол за действителните аудио/видео данни. Сървърът RTSP на RealNetworks също използва патентования RDT на RealNetworks като транспортен протокол.

Как работи RTSP

RTSP изпълнява ролята на управленски и контролен слой между клиент (например видео плейър или NVR) и мултимедиен сървър. Типичната комуникация включва:

  • описание на сесията с помощта на SDP (Session Description Protocol),
  • настройване на транспортните параметри (например кои портове да се използват за RTP/RTCP),
  • стартиране и спиране на възпроизвеждането (PLAY, PAUSE, TEARDOWN и др.),
  • поддържане на състояние на сесията чрез идентификатори (Session header).

Често използвани RTSP методи

  • OPTIONS — запитване кои методи поддържа сървърът;
  • DESCRIBE — заявка за описание на медията (обратно се връща SDP);
  • SETUP — конфигурира транспортни канали (unicast/multicast, UDP или interleaved TCP);
  • PLAY — стартира възпроизвеждане от зададено време;
  • PAUSE — временно спира възпроизвеждането;
  • TEARDOWN — затваря сесията и освобождава ресурси;
  • ANNOUNCE, RECORD, GET_PARAMETER, SET_PARAMETER — допълнителни методи за публикуване, запис и управление.

Транспорт и портове

По подразбиране RTSP използва TCP порт 554 за контролни връзки. За пренос на медия обикновено се използва RTP по UDP, придружен от RTCP за мониторинг и синхронизация. Ако UDP е блокиран или се желае мултиплексиране през една връзка, RTP/RTCP може да вървят "interleaved" през самата RTSP TCP сесия (технология, описана в RFC 2326). Заобикаляне на защитни стени и NAT често става чрез тунелиране през HTTP/HTTPS или чрез използване на TCP портове.

Сигурност и удостоверяване

  • RTSP поддържа стандартни механизми за удостоверяване (Basic и Digest), като Digest е предпочитан пред Basic.
  • За криптиране на управленските съобщения и/или медийния поток могат да се използват TLS/SSL (понякога обозначавано като RTSPS) или тунелиране през HTTPS.
  • Проблеми като незащитени настройки по подразбиране и открити портове правят RTSP устройства често цел на атаки; препоръчва се силни пароли, актуализации и използване на криптиране и VPN при нужда.

Приложения и ограничения

RTSP намери широко приложение в:

  • IP камери и системи за видеонаблюдение, където е важен контролът върху възпроизвеждането и ниската латентност;
  • услуги за видео при поискване (VoD) и IPTV;
  • системи за съвместна работа и дистанционно управление на стрийминг сървъри.

Ограничения и предизвикателства:

  • по-трудна работа през защитни стени и NAT при UDP
  • не винаги директна поддръжка в уеб браузъри без плъгини (поради което в уеб среда често се използват HLS, MPEG-DASH или WebRTC);
  • по-сложно stateful управление на сървъра в сравнение с простите HTTP GET потоци.

Кодеци и формати

RTSP не определя кодеци — той само договаря и управлява потока. Кодеците (например H.264/AVC, H.265/HEVC, MPEG-4, AAC и др.) и контейнерите се посочват в SDP описанието и самите данни се предават чрез RTP в зависимост от договорените формати.

Алтернативи

За стрийминг в уеб среда и масово доставяне към множество клиенти се предпочитат адаптивни HTTP технологии като HLS и MPEG-DASH. За приложения с много ниска латентност и двупосочна комуникация (напр. видео конференции) съвременните решения използват WebRTC. Въпреки това RTSP остава популярен за интеграция с локални системи за видеонаблюдение и професионални стрийминг решения.

Заключение: RTSP е гъвкав протокол за контрол на мултимедийни потоци, особено подходящ за сценарии, където е необходим пряк контрол върху възпроизвеждането и ниска латентност. За съвременни уеб приложения и масово доставяне обаче често се избират други подходи поради въпроси за съвместимост и сигурност.

Клиенти

  • GStreamer
  • Media Player Classic
  • MPEG4IP
  • MPlayer
  • QuickTime
  • Плейър на Avi
  • RealPlayer
  • Skype
  • Медиен плейър VLC
  • Winamp
  • Windows Media Player
  • Xine
  • MythTV чрез Freebox
  • Играч Gom

Софтуер на сървъра

  • Сървър за стрийминг на QuickTime: Стрийминг сървър със затворен код на Apple, който се доставя с Mac OS X Server
  • Дарвин стрийминг сървър: Отворена версия на Quicktime Streaming Server, поддържана от Apple
  • pvServer: Това е продуктът на Alcatel-Lucent за стрийминг сървър, наричан по-рано PacketVideo Streaming Server.
  • Helix DNA Server: Стрийминг сървър на RealNetworks. Предлага се както с отворен код, така и със собствена версия.
  • Live555: С++ сървърни и клиентски библиотеки с отворен код, използвани в добре познати клиенти като VLC и mplayer.
  • VideoLAN: Медиен плейър и стрийминг сървър с отворен код
  • Медийни услуги на Windows: стрийминг сървърът на Microsoft, включен в Windows Server.
  • VX30: Стрийминг видео сървър и вграден JAVA клиент от Maui X-Stream.

Свързани страници

  • Транспортен протокол в реално време (RTP)
  • Fusion RTSP решение за вградени системи, например IPTV, интернет телевизия и мобилни интернет устройства.


обискирам
AlegsaOnline.com - 2020 / 2025 - License CC3