Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

RTP

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

На цій сторінці показано неперевірені зміни

МодельTCP/IP (RFC 1122)
Прикладний рівень
Транспортний рівень
Мережевий рівень
Канальний рівень

ПротоколRTP (англ.Real-time Transport Protocol) працює наприкладному рівні і використовується при передачі аудіо і відеоданих черезIP мережі в режимі реального часу. Протокол був розроблений Audio-Video Transport Working Group вIETF і вперше опублікований в 1996 році якRFC 1889, і замінений уRFC 3550 у 2003 році.

Протокол RTP переносить у своєму заголовку дані, необхідні для відновлення голосу та відео на приймальному вузлі, а також дані про тип кодування інформації (JPEG,MPEG і т. ін.). В заголовку цього протоколу, зокрема, передаються мітка і номер пакету. Ці параметри дозволяють при мінімальних затримках визначити порядок і час декодування кожного пакета, а також інтерполювати втрачені пакети.

RTP не має стандартного зарезервованого номера порту. Єдине обмеження полягає в тому, що з'єднання проходить з використанням парного номера порту, а наступний непарний номер використовується для зв'язку з протоколомRTCP. Той факт, що RTP використовує адреси портів що присвоюються динамічно, створює йому труднощі з проходженнямміжмережевих екранів, для обходу цієї проблеми, як правило, використовуєтьсяSTUN-сервер.

Встановлення і розрив з'єднання не входить в список можливостей RTP, такі дії виконуються сигнальним протоколом (наприклад,RTSP абоSIP протоколом).

Визначення

[ред. |ред. код]
Поле даних RTP
Інформація, яка пересилається в пакеті RTP, наприклад, фрагменти звуку або стислі відео дані.
Пакет RTP
Інформаційний пакет, що містить фіксований заголовок. Один пакет нижнього транспортного рівня, наприкладUDP, зазвичай містить один RTP-пакет, але ця вимога не є обов'язковою. Поле джерел інформації може бути порожнім.
Пакет RTCP
Керівний пакет, що містить фіксований заголовок подібний до RTP, за яким йдуть структурні елементи, які залежать від типу RTCP-пакету. Зазвичай кілька RTCP-пакетів надсилаються як складова RTCP-пакету, вкладена вдейтаграму нижчого рівня.
Транспортна адреса
Комбінація мережевої адреси та порту, яка ідентифікує кінцеву точку каналу (наприклад,IP-адреса і UDP порт). Пакети йдуть від транспортної адреси відправника до транспортної адреси одержувача.
Сесія RTP
Період з моменту встановлення групи учасників RTP-обміну до її зникнення. Для кожного з учасників сесія визначається конкретною парою транспортних адрес (мережева адреса і номери портів для RTP іRTCP). Транспортна адреса місця призначення може бути загальною для всіх учасників сесії. Допускається реалізація декількох сесій для кожного з учасників одночасно.
Джерело синхронізації (SSRC)
Джерело потоку RTP-пакетів, визначається 32-бітним числовим SSRC-ідентифікатором, який записується в заголовок RTP-пакету і не залежить від мережної адреси. Всі пакети від джерела синхронізації утворюють частину з ідентичною тимчасовою прив'язкою і нумерацією. Ці дані використовуються стороною що приймає при відтворенні. Джерелами синхронізації можуть служити первинні джерела сигналу (мікрофони або відеокамери), а також RTP-змішувачі. SSRC-ідентифікатор являє собою випадкове число, яке є унікальним для даної RTP-сесії. Учасник сесії не повинен використовувати один і той же SSRC-ідентифікатор для всіх RTP-сесій мультимедійного набору. Якщо учасник формує кілька потоків в рамках однієї RTP-сесії (наприклад, від декількох відеокамер), кожен учасник повинен бути забезпечений унікальним SSRC-ідентифікатором.
Інформаційне джерело CSRC (contributing source)
Джерело потоку RTP-пакетів, котре робить внесок у загальний потік, що формується RTP-змішувачем. Змішувач вставляє список SSRC-ідентифікаторів, які ідентифікують парціальні джерела, в заголовок RTP-пакетів. Цей список називається CSRC-списком. Прикладом програми може бути аудіоконференція, де змішувач відзначає всіх людей, чий голос породжує вихідні пакети. Це дозволяє стороні що приймає ідентифікувати мовця, хоча всі пакети мають один і той же SSRC-ідентифікатор.
Кінцева система
Програма, яка генерує або сприймає дані, які посилають у вигляді RTP-пакетів. Кінцева система може виступати як одне або декілька джерел синхронізації для конкретної сесії.
Змішувач
Проміжна система, яка отримує RTP-пакети від одного або декількох джерел, при необхідності змінює їх формат, об'єднує і пересилає їх адресатам. Через те, що тимчасова прив'язка вхідних пакетів може відрізнятися, змішувач здійснює їх синхронізацію і генерує свій власний потік RTP-пакетів. Таким чином увесь зміст пакетів синхронізується змішувачем.
Транслятор
Проміжна система, яка переадресує RTP-пакети, не змінюючи їх ідентифікатори джерела синхронізації. Такі пристрої використовуються для перетворення системи кодування, переходу відмультикаст- до традиційноїунікаст-адресації або при роботі з Firewall.
Монітор
Додаток, який отримуєRTCP-пакети, надіслані учасниками RTP-сесії, зокрема діагностичні повідомлення, проводить оцінку стану зв'язку, накопичує довгострокову статистику обміну.

Всі цілочисельні поля передаються згідно з мережевим порядком, тобто старший байт слідує за першим (big-endian). Порядок передачі докладно описаний у роботі [3]. Якщо не обумовлено зворотного всі цифрові константи є десятковими. Всі поля заголовка вирівнюються своїми природними кордонами, тобто. 16-бітові поля мають парне зміщення, а 32-бітні мають адреси, кратні 4. Октети-заповнювачі містять нулі.

Абсолютний час видається з допомогою часових позначок згідно з форматомNTP (network time protocol), який характеризує час у секундах від початку доби (UTC) 1 січня 1900 [4]. Мітка часу NTP повної точності визначається 64-бітовим числом з фіксованою комою без знаку. Цілочисельна частина задається першими 32 бітами, а дробова частина останніми. У деяких полях, де припустимо компактніше подання, використовуються тільки середні 32 біти (16 бітів цілочисельна частина і 16 бітів дробова).

Структура пакета

[ред. |ред. код]
+ Біти0-1234-789-1516-31
0Ver.PXCCMPTПорядковий номер
32Мітка часу
64SSRC-ідентифікатор
96… CSRC-ідентифікатори …
96+(CC×32)Додатковий заголовок (необов'язковий), містить довжину блоку даних — «AHL»
96+(CC×32)
+ (X×(AHL+16))
 
Дані

Ver. (2 біти) вказує версію протоколу. Поточна версія - 2.

P (один біт) використовується у випадках, коли RTP-пакет доповнюється порожніми байтами на кінці.

X (один біт) використовується для зазначення розширень протоколу, залучених в пакеті.

CC (4 біти) містить кількість CSRC-ідентифікаторів, що йдуть за постійним заголовком.

M (один біт) використовується на рівні програми та визначається профілем. Якщо це поле встановлено, то дані пакету мають якесь особливе значення для програми.

PT (7 бітів) вказує формат payload і визначає її інтерпретацію додатком.

SSRC вказує джерело синхронізації.

Специфікація RTP

[ред. |ред. код]

Посилання

[ред. |ред. код]
Стиснення відео
ISO/IEC
ITU-T
SMPTE[en]
AOMedia[en]
IETF
SAC
  • AVS[en] AVS1, AVS2, AVS3 phase1, AVS3 phase2
Інші
Стиснення аудіо
ISO/IEC
ITU-T
IETF
3GPP
ETSI
SAC
Інші
Стиснення зображень
IEC, ISO,
ITU-T, W3C, IETF
Інші
Контейнери
ISO/IEC
ITU-T
IETF
SMPTE[en]
3GPP
Інші
Співробітництво


{{{alt}}}Це незавершена стаття прокомп'ютерні мережі.
Ви можетедопомогти проєкту,виправивши або дописавши її.
Отримано зhttps://uk.wikipedia.org/w/index.php?title=RTP&oldid=35715254
Категорія:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp