В коммуникационных приложениях для общения посредством компьютерных сетей, аудио и видеоконференций в режиме реального времени, использующих транспортный протокол реального времени (RTP), применяются различные варианты описания технических параметров потоков медиа-данных, переносимых в мультимедиа сессии (например протокол описания сеанса (SDP) или H.245). Такой набор параметров RTP потока мультимедиа-данных и методы его кодирования известен как профиль RTP, или 'RTP audio video profile' ( 'RTP / AVP' ). Каждый профиль определен с помощью стандартного идентификатора типа полезной нагрузки (payload type) для каждого типа медиа-данных с использованием соответствующего кодека.RFC 3551, RTP Profile for Audio and Video Conferences with Minimal Control, H. Schulzrinne, S. Casner, The Internet Society (July 2003).

Использование профилей в SDP Сообщения SDP с параметрами медиа-сессии используются в протоколах IP-телефонии — например в таких как SIP, MGCP. Протокол SIP или MGCP служит для процедур инициации и установления соединения, а встраиваемые сообщения SDP — для описания возможных параметров формируемой медиа-сессии между устройствами.

Рассмотрим, как тип мультимедиа-данных определяется в SDP на конкретном примере.

v=0 o=- 1815849 0 IN IP4 194.67.15.181 s=Cisco SDP 0 c=IN IP4 194.67.15.181 t=0 0 m=audio 20062 RTP/AVP 99 18 101 100 a=rtpmap:99 G.729b/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:100 X-NSE/8000 a=fmtp:100 200-202

В приведенном выше сообщении SDP содержится следующая информация. Медиа-трафик будет ожидаться на устройстве с IP-адресом (IPv4) 194.67.15.181, порту 20062. Данное устройство поддерживает несколько разновидностей аудио-трафика (кодеков), описанных при помощи типов (payload type) 99, 18, 100 и 101. Это указано в строке m=audio. Ниже, в строчках a=rtpmap приводится уточнение параметров типов данных, так как некоторые типы являются динамическими и не могут быть определены однозначно, просто по строке m=audio. Так, под типом данных 99 данное устройство подразумевает голосовой кодек G.729b (G.729 Annex B, то есть с поддержкой подавления шума). Динамически тип данных 101 в данном случае, это возможность приёма тональных сигналов DTMF (telephone event) по стандарту, описанному в RFC 2833. Для payload type 18 уточнений нет, и это может означать, что устройство поддерживает голосовой кодек G.729, вместе с более простой вариацией того же кодека описанного в приложении Annex A (или кодек G.729a), так как тип данных 18 однозначно закреплён за этими кодеками.

Типы данных для звука и видео в RTP/AVP В RFC 3551 перечислены детали каждого формата полезной нагрузки (payload type) или ссылка на подробное описание. Идентификаторы с 0 по 95, зарезервированы для конкретных типов данных статически. Идентификаторы полезной нагрузки с 96 по 127 используется для полезной нагрузки, определяемой динамически в процессе установления сессии. Документ рекомендует динамические назначенные номера портов, хотя номера портов 5004 и 5005 были зарегистрированы для использования профиля при динамическом назначении порт не требуется. Стандарт также описывает процесс регистрации новых типов полезной нагрузки в IANA.

Приложения, работающие с этими профилями должны всегда поддерживать PCMU (кодек G.711 с μ-законом, тип полезной нагрузки 0). Ранее DVI4 (тип полезной нагрузки 5) также рекомендовался в таком качестве, но эта рекомендация была удалена в августе 2013 году RFC 7007, потому что «многие реализации RTP не поддерживают DVI4, и есть мало оснований, чтобы использовать его, когда доступны гораздо более современные кодеки.»

Тип данных (Payload type / PT)НазваниеТипКол-во каналовТактовая частота (Гц)«Тактовая частота» — это скорость, с которой метка в заголовке RTP увеличивается, что бы не быть такой же, как частота дискретизации кодека. Например, кодеки, как правило, используют тактовую частоту 90000, так что их кадры могут быть более точно совпадает с временной меткой RTCP NTP, хотя видео частоты дискретизации, как правило, в диапазоне от 1 до 60 семплов в секунду.Размер фрейма (мс)Размер пакета по умолчанию (мс)ОписаниеСсылки0PCMUзвук18000любой20ITU-T G.711 PCM µ-Law звук 64 Кбит/сRFC 35511зарезервировано (ранее 1016)звук18000зарезервировано, ранее CELP звук 4.8 Кбит/сRFC 3551, ранее RFC 18902зарезервировано (ранее G.721)звук18000зарезервировано, ранее ITU-T G.721 ADPCM звук 32 Кбит/сRFC 3551, ранее RFC 18903GSMзвук180002020European GSM Full Rate звук 13 Кбит/с (GSM 06.10)RFC 35514G.723звук180003030ITU-T G.723.1 звукRFC 35515DVI4звук18000любой20IMA ADPCM звук 32 Кбит/сRFC 35516DVI4звук116000любой20IMA ADPCM звук 64 Кбит/сRFC 35517LPCзвук18000любой20Experimental Linear Predictive Coding звук 5.6 Кбит/сRFC 35518PCMAзвук18000любой20ITU-T G.711 PCM A-Law звук 64 Кбит/сRFC 35519G.722звук18000любой20ITU-T G.722 звук 64 Кбит/сRFC 3551 — Page 1410L16звук244100любой20Linear PCM 16-битный стерео звук 1411.2 Кбит/с, несжатыйRFC 3551, Page 2711L16звук144100любой20Linear PCM 16-битный звук 705.6 Кбит/с, несжатыйRFC 3551, Page 2712QCELPзвук180002020QCELP (Qualcomm Code Excited Linear Prediction)RFC 2658, RFC 355113CNзвук18000Комфортный шум. Тип полезной нагрузки используются с кодеками, которые не поддерживают комфортный шум в алгоритме кодирования, то есть в таких как G.711, G.722.1, G.722, G.726/G.727, G.728, GSM 06.10, Siren и RTAudio.RFC 338914MPAзвук1, 2900008-72MPEG-1 или MPEG-2 только звукRFC 3551, RFC 225015G728звук180002.520ITU-T G.728 звук 16 Кбит/сRFC 355116DVI4звук111025любой20IMA ADPCM звук 44.1 Кбит/сRFC 355117DVI4звук122050любой20IMA ADPCM звук 88.2 Кбит/сRFC 355118G729звук180001020ITU-T G.729 и G.729a звук 8 Кбит/сRFC 3551, Page 2019зарезервировано (ранее CN)зарезервировано, ранее комфортный шумRFC 355125CELBвидео90000Sun CellB видеоXIL Programmer’s Guide , Chapter 22 «CellB Codec». August 1997. Retrieved on 2014-07-19.RFC 202926JPEGвидео90000JPEG видеоRFC 243528nvвидео90000Xerox PARC's Network Video (nv)nv — network video on Henning Schulzrinne’s website , Network Video on The University of Toronto’s website , Retrieved on 2009-07-09.RFC 3551, Page 3231H261видео90000ITU-T H.261 видеоRFC 458732MPVвидео90000MPEG-1 и MPEG-2 видеоRFC 225033MP2Tзвук/видео90000MPEG-2 транспортный потокRFC 225034H263видео90000H.263 видео, первая версия (1996)RFC 3551, RFC 219072-76зарезервированозарезервировано для избежания путаницы с RTCP пакетами типов 200-204RFC 3550, RFC 355177-95не выделеноне выделено, RTP пакет типа 79 потенциально невозможно отличить от RTCP пакета с типом 207 (XR)RFC 3551, RFC 3611динамическийH263-1998видео90000H.263 видео, вторая версия (1998)RFC 3551, RFC 4629, RFC 2190динамическийH263-2000видео90000H.263 видео, третья версия (2000)RFC 4629динамический (или профиль)H264 AVCвидео90000H.264 видео (MPEG-4 Part 10)RFC 6184, ранее RFC 3984динамический (или профиль)H264 SVCвидео90000H.264 видеоRFC 6190динамический (или профиль)H265видео90000H.265 видео (HEVC)draft-ietf-payload-rtp-h265динамический (или профиль)theoraвидео90000Theora видеоdraft-barbato-avt-rtp-theoraдинамическийiLBCзвук1800020, 3020, 30iLBC 13.33 или 15.2 Кбит/сRFC 3952динамическийPCMA-WBзвук1160005ITU-T G.711.1 A-lawRFC 5391динамическийPCMU-WBзвук1160005ITU-T G.711.1 µ-lawRFC 5391динамическийG718звук32000 (placeholder)20ITU-T G.718draft-ietf-payload-rtp-g718динамическийG719звукразное4800020ITU-T G.719RFC 5404динамическийG7221звук16000, 3200020ITU-T G.722.1 и G.722.1 Annex CRFC 5577динамическийG726-16звук18000любой20ITU-T G.726 звук 16 Кбит/сRFC 3551динамическийG726-24звук18000любой20ITU-T G.726 звук 24 Кбит/сRFC 3551динамическийG726-32звук18000любой20ITU-T G.726 звук 32 Кбит/сRFC 3551динамическийG726-40звук18000любой20ITU-T G.726 звук 40 Кбит/сRFC 3551динамическийG729Dзвук180001020ITU-T G.729 Annex DRFC 3551динамическийG729Eзвук180001020ITU-T G.729 Annex ERFC 3551динамическийG7291звук1600020ITU-T G.729.1RFC 4749динамическийGSM-EFRзвук180002020ITU-T GSM-EFR (GSM 06.60)RFC 3551динамическийGSM-HR-08звук1800020ITU-T GSM-HR (GSM 06.20)RFC 5993динамический (или профиль)AMRзвукразное800020Adaptive Multi-Rate звукRFC 4867динамический (или профиль)AMR-WBзвукразное1600020AMR-WB звук (ITU-T G.722.2)RFC 4867динамический (или профиль)AMR-WB+звук1, 2 или пустой7200013.3-40AMR-WB+ звукRFC 4352динамический (или профиль)vorbisзвукразноеразноеVorbis звукRFC 5215динамический (или профиль)opusзвук1, 2480002.5-6020Opus аудиоRFC 7587динамический (или профиль)speexзвук18000, 16000, 3200020Speex звукRFC 5574динамическийmpa-robustзвук1, 29000024-72Loss-Tolerant MP3 звукRFC 5219 (ранее RFC 3119)динамический (или профиль)MP4A-LATMзвук90000 или другиеMPEG-4 AudioRFC 6416 (ранее RFC 3016)динамический (или профиль)MP4V-ESвидео90000 или другиеMPEG-4 VisualRFC 6416 (ранее RFC 3016)динамический (или профиль)mpeg4-genericзвук/видео90000 или другойMPEG-4 Elementary StreamsRFC 3640динамическийVP8видео90000VP8 видеоdraft-ietf-payload-vp8динамическийVP9видео90000VP9 видеоdraft-uberti-payload-vp9динамическийAV1видео90000AV1 видеоRTP Payload Format For AV1динамическийL8звукразноеразноелюбой20Linear PCM 8-битный звук со смещением 128RFC 3551 Раздел 4.5.10 и Таблица 5динамическийDAT12звукразноеразноелюбой20 (по аналогии с L16)IEC 61119 12-битный нелинейный звукRFC 3190 Раздел 3динамическийL16звукразноеразноелюбой20Linear PCM 16-битный звукRFC 3551 раздел 4.5.11, RFC 2586динамическийL20звукразноеразноелюбой20 (по аналогии с L16)Linear PCM 20-битный звукRFC 3190 раздел 4динамическийL24звукразноеразноелюбой20 (по аналогии с L16)Linear PCM 24-битный звукRFC 3190 раздел 4динамическийrawвидео90000Несжатое видеоизображениеRFC 4175динамическийac3звукразное32000, 44100, 48000Dolby AC-3 звукRFC 4184динамическийeac3звукразное32000, 44100, 48000Enhanced AC-3 звукRFC 4598динамическийt140текст1000Текстовые сообщения (Text over IP)RFC 4103динамическийEVRCEVRC0EVRC1звук8000EVRC звукRFC 4788динамическийEVRCBEVRCB0EVRCB1звук8000EVRC-B звукRFC 4788динамическийEVRCWBEVRCWB0EVRCWB1звук16000EVRC-WB звукRFC 5188динамическийjpeg2000видео90000JPEG 2000 видеоRFC 5371динамическийUEMCLIPзвук8000, 16000UEMCLIP звукRFC 5686динамическийATRAC3звук44100ATRAC3 звукRFC 5584динамическийATRAC-Xзвук44100, 48000ATRAC3+ звукRFC 5584динамическийATRAC-ADVANCED-LOSSLESSзвукразноеATRAC Advanced Lossless звукRFC 5584динамическийDVвидео90000DV видеоRFC 3189динамическийBT656видеоITU-R BT.656 видеоRFC 3555динамическийBMPEGвидеоВстроенное MPEG-2 видеоизображениеRFC 2343динамическийSMPTE292MвидеоSMPTE 292M видеоRFC 3497динамическийREDзвукИзбыточные звуковые данныеRFC 2198динамическийVDVIзвукЗвук DVI4 с изменяемой частотойRFC 3551динамическийMP1SвидеоMPEG-1 Systems потоковое видеоRFC 2250динамическийMP2PвидеоMPEG-2 Program потоковое видеоRFC 2250динамическийtoneзвукразноеtoneRFC 4733динамическийtelephone-eventзвукразноеDTMF сигналRFC 4733динамическийaptxзвук2-6разное4000 / тактовая частота4aptX аудиоRFC 7310динамическийjxsvвидео90000JPEG XS видеоRFC 9134динамическийscipзвук/видео8000 или 90000SCIPRFC 9607

См. также RTP/RTCP Media Gateway Control Protocol Session Initiation Protocol Session Description Protocol H.323 Сравнение цифровых аудиоформатов

Ссылки

Внешние ресурсы IANA assignments of Real-Time Transport Protocol (RTP) Parameters

Категория:Протоколы VoIP