Форматы полезной нагрузки RTP
Транспортный протокол реального времени (RTP) определяет формат данных общего назначения и сетевой протокол для передачи цифровых медиапотоков в сетях Интернет-протокола (IP). Детали кодирования мультимедиа, такие как частота дискретизации сигнала, размер кадра и время, указываются в формате полезной нагрузки RTP . Параметры формата полезной нагрузки RTP обычно передаются между конечными точками передачи с помощью протокола описания сеанса другие протоколы, такие как расширяемый протокол обмена сообщениями и присутствия (SDP), но могут использоваться и (XMPP).
Типы полезной нагрузки аудио и видео
[ редактировать ]RFC 3551, озаглавленный «Профиль RTP для аудио и видео» ( RTP/AVP ), определяет технические параметры форматов полезной нагрузки для аудио- и видеопотоков.
Стандарт также описывает процесс регистрации новых типов полезной нагрузки в IANA; дополнительные форматы и типы полезных данных определены в следующих спецификациях:
- RFC 3551 , Standard 65, профиль RTP для аудио- и видеоконференций с минимальным контролем
- RFC 4856 , Регистрация типа носителя для форматов полезной нагрузки в профиле RTP для аудио- и видеоконференций
- RFC 3190 , формат полезной нагрузки RTP для 12-битного звука DAT и 20- и 24-битного линейного дискретизированного звука.
- RFC 6184 , формат полезной нагрузки RTP для H.264 видео
- RFC 3640 , формат полезной нагрузки RTP для транспортировки элементарных потоков MPEG-4.
- RFC 6416 , Формат полезной нагрузки RTP для MPEG-4 аудио/визуальных потоков
- RFC 2250 , формат полезной нагрузки RTP для видео MPEG1 / MPEG2
- RFC 7798 , Формат полезной нагрузки RTP для высокоэффективного кодирования видео (HEVC)
- RFC 2435 , формат полезной нагрузки RTP для видео, сжатого в формате JPEG.
- RFC 4587 , формат полезной нагрузки RTP для H.261 видеопотоков
- RFC 2658 , формат полезной нагрузки RTP для PureVoice аудио-видео
- RFC 4175 , Формат полезной нагрузки RTP для несжатого видео
- RFC 7587 , формат полезной нагрузки RTP для Opus речевого и аудиокодека
- RFC 9134 , формат полезной нагрузки RTP для JPEG XS
Идентификаторы полезной нагрузки 96–127 используются для полезных данных, определяемых динамически во время сеанса. Рекомендуется динамически назначать номера портов, хотя номера портов 5004 и 5005 зарегистрированы для использования профиля, когда динамически назначаемый порт не требуется.
Приложения всегда должны поддерживать PCMU (тип полезной нагрузки 0); ранее также рекомендовался DVI4 (тип полезной нагрузки 5), но он был удален в 2013 году в соответствии с RFC 7007.
Тип полезной нагрузки (ПТ) | Имя | Тип | Количество каналов | Тактовая частота (Гц) [примечание 1] | Размер кадра (байт) | Интервал пакетов по умолчанию (мс) | Описание | Ссылки |
---|---|---|---|---|---|---|---|---|
0 | ПКМУ | аудио | 1 | 8000 | любой | 20 | Звук ITU-T G.711 PCM по закону μ-Law 64 кбит/с | RFC 3551 |
1 | зарезервировано (ранее FS-1016 CELP ) | аудио | 1 | 8000 | зарезервировано, ранее FS-1016 CELP звук 4,8 кбит/с | RFC 3551, ранее RFC 1890. | ||
2 | зарезервировано (ранее G721 или G726-32) | аудио | 1 | 8000 | зарезервировано, ранее звук ITU-T G.721 ADPCM 32 кбит/с или звук ITU-T G.726 32 кбит/с | RFC 3551, ранее RFC 1890. | ||
3 | GSM | аудио | 1 | 8000 | 20 | 20 | Европейская полноскоростная передача звука GSM 13 кбит/с (GSM 06.10) | RFC 3551 |
4 | G723 | аудио | 1 | 8000 | 30 | 30 | ITU-T G.723.1 Звук | RFC 3551 |
5 | DVI4 | аудио | 1 | 8000 | любой | 20 | Звук IMA ADPCM 32 кбит/с | RFC 3551 |
6 | DVI4 | аудио | 1 | 16000 | любой | 20 | Звук IMA ADPCM 64 кбит/с | RFC 3551 |
7 | ЛПК | аудио | 1 | 8000 | любой | 20 | Экспериментальное кодирование звука с линейным прогнозированием 5,6 кбит/с | RFC 3551 |
8 | ПКМА | аудио | 1 | 8000 | любой | 20 | Звук ITU-T G.711 PCM A-Law, 64 кбит/с | RFC 3551 |
9 | G722 | аудио | 1 | 8000 [примечание 2] | любой | 20 | Звук ITU-T G.722 64 кбит/с | RFC 3551 — стр. 14 |
10 | Л16 | аудио | 2 | 44100 | любой | 20 | Линейный PCM, 16 бит, стереозвук, 1411,2 кбит/с, [2] [3] [4] несжатый | RFC 3551, стр. 27 |
11 | Л16 | аудио | 1 | 44100 | любой | 20 | Linear PCM 16-битный звук 705,6 кбит/с, без сжатия | RFC 3551, стр. 27 |
12 | КЦЭЛП | аудио | 1 | 8000 | 20 | 20 | Линейное предсказание с возбуждением кода Qualcomm | RFC 2658, RFC 3551 |
13 | Китай | аудио | 1 | 8000 | Комфортный шум . Тип полезной нагрузки, используемый с аудиокодеками, которые не поддерживают комфортный шум как часть самого кодека, например G.711 , G.722.1 , G.722 , G.726 , G.727 , G.728 , GSM 06.10 , Siren и RTАудио . | RFC 3389 | ||
14 | МПА | аудио | 1, 2 | 90000 | 8–72 | MPEG-1 или MPEG-2 Только звук | RFC 3551, RFC 2250 | |
15 | G728 | аудио | 1 | 8000 | 2.5 | 20 | Аудио ITU-T G.728 16 кбит/с | RFC 3551 |
16 | DVI4 | аудио | 1 | 11025 | любой | 20 | Звук IMA ADPCM 44,1 кбит/с | RFC 3551 |
17 | DVI4 | аудио | 1 | 22050 | любой | 20 | ЕСТЬ звук ADPCM 88,2 кбит/с. | RFC 3551 |
18 | G729 | аудио | 1 | 8000 | 10 | 20 | Звук ITU-T G.729 и G.729a 8 кбит/с; Приложение B подразумевается, если только annexb=no используется параметр
|
RFC 3551, стр. 20 , RFC 3555, стр. 15 |
19 | зарезервировано (ранее CN) | аудио | сдержанный, ранее комфортный шум | RFC 3551 | ||||
25 | CELLB | видео | 90000 | Sun CellB Видео [5] | РФК 2029 | |||
26 | JPEG | видео | 90000 | в формате JPEG видео | РФК 2435 | |||
28 | нв | видео | 90000 | Xerox PARC (nv) Сетевое видео [6] [7] | RFC 3551, стр. 32 | |||
31 | H261 | видео | 90000 | IT-T H.261 Видео | RFC 4587 | |||
32 | минивэн | видео | 90000 | Видео MPEG-1 и MPEG-2 | РФК 2250 | |||
33 | МП2Т | аудио/видео | 90000 | MPEG-2 Транспортный поток | РФК 2250 | |||
34 | H263 | видео | 90000 | H.263 Видео , первая версия (1996 г.) | RFC 3551, RFC 2190 | |||
72–76 | сдержанный | зарезервировано, поскольку типы пакетов RTCP 200–204 в противном случае были бы неотличимы от типов полезной нагрузки RTP 72–76 с установленным битом маркера. | RFC 3550, RFC 3551 | |||||
77–95 | неназначенный | обратите внимание, что тип пакета RTCP 207 (XR, расширенные отчеты) будет неотличим от типов полезной нагрузки RTP 79 с установленным битом маркера. | RFC 3551, RFC 3611 | |||||
динамичный | Н263-1998 | видео | 90000 | H.263 Видео , вторая версия (1998 г.) | RFC 3551, RFC 4629, RFC 2190 | |||
динамичный | Н263-2000 | видео | 90000 | H.263 Видео , третья версия (2000 г.) | RFC 4629 | |||
динамический (или профильный) | H264 ход | видео | 90000 | Видео H.264 (MPEG-4, часть 10) | RFC 6184, ранее RFC 3984. | |||
динамический (или профильный) | H264 СВК | видео | 90000 | H.264 Видео | RFC 6190 | |||
динамический (или профильный) | H265 | видео | 90000 | Видео H.265 (HEVC) | RFC 7798 | |||
динамический (или профильный) | теория | видео | 90000 | Теора видео | черновик-барбато-авт-rtp-теора | |||
динамичный | iLBC | аудио | 1 | 8000 | 20, 30 | 20, 30 | Интернет-кодек с низким битрейтом 13,33 или 15,2 кбит/с | RFC 3952 |
динамичный | PCMA-ВБ | аудио | 1 | 16000 | 5 | ITU-T G.711.1 A-закон | RFC 5391 | |
динамичный | ПКМУ-ВБ | аудио | 1 | 16000 | 5 | ITU-T G.711.1 μ-закон | RFC 5391 | |
динамичный | G718 | аудио | 32000 (заполнитель) | 20 | ИТ-Т G.718 | черновик-ietf-payload-rtp-g718 | ||
динамичный | G719 | аудио | (различный) | 48000 | 20 | ИТ-Т G.719 | RFC 5404 | |
динамичный | G7221 | аудио | 16000, 32000 | 20 | МСЭ-T G.722.1 и G.722.1 Приложение C | RFC 5577 | ||
динамичный | Г726-16 | аудио | 1 | 8000 | любой | 20 | Аудио ITU-T G.726 16 кбит/с | RFC 3551 |
динамичный | Г726-24 | аудио | 1 | 8000 | любой | 20 | Звук ITU-T G.726 24 кбит/с | RFC 3551 |
динамичный | Г726-32 | аудио | 1 | 8000 | любой | 20 | Звук ITU-T G.726 32 кбит/с | RFC 3551 |
динамичный | Г726-40 | аудио | 1 | 8000 | любой | 20 | Звук ITU-T G.726 40 кбит/с | RFC 3551 |
динамичный | G729D | аудио | 1 | 8000 | 10 | 20 | МСЭ-Т G.729 Приложение D | RFC 3551 |
динамичный | G729E | аудио | 1 | 8000 | 10 | 20 | МСЭ-Т G.729 Приложение E | RFC 3551 |
динамичный | G7291 | аудио | 16000 | 20 | ИТ-Т G.729.1 | RFC 4749 | ||
динамичный | GSM-ЭФР | аудио | 1 | 8000 | 20 | 20 | МСЭ-Т GSM-EFR (GSM 06.60) | RFC 3551 |
динамичный | GSM-HR-08 | аудио | 1 | 8000 | 20 | МСЭ-Т GSM-HR (GSM 06.20) | РФК 5993 | |
динамический (или профильный) | АМР | аудио | (различный) | 8000 | 20 | Адаптивный многоскоростной звук | RFC 4867 | |
динамический (или профильный) | УПП-ВБ | аудио | (различный) | 16000 | 20 | Адаптивный многоскоростной широкополосный звук (ITU-T G.722.2) | RFC 4867 | |
динамический (или профильный) | АМР-ВБ+ | аудио | 1, 2 или опустить | 72000 | 13.3–40 | Расширенная адаптивная многоскоростная передача – широкополосный звук | RFC 4352 | |
динамический (или профильный) | разговаривать | аудио | (различный) | (различный) | Ворбис аудио | RFC 5215 | ||
динамический (или профильный) | опус | аудио | 1, 2 | 48000 [примечание 3] | 2.5–60 | 20 | мне нужно послушать | RFC 7587 |
динамический (или профильный) | речь | аудио | 1 | 8000, 16000, 32000 | 20 | Спеекс аудио | RFC 5574 | |
динамичный | МПА-надежный | аудио | 1, 2 | 90000 | 24–72 | Loss-Tolerant MP3 audio | RFC 5219 (ранее RFC 3119) | |
динамический (или профильный) | MP4A-LATM | аудио | 90000 или другие | Аудио MPEG-4 (включая AAC ) | RFC 6416 (ранее RFC 3016) | |||
динамический (или профильный) | МП4В-ES | видео | 90000 или другие | MPEG-4 визуальный | RFC 6416 (ранее RFC 3016) | |||
динамический (или профильный) | mpeg4-общий | аудио/видео | 90000 или другое | MPEG-4 Элементарные потоки | RFC 3640 | |||
динамичный | ВП8 | видео | 90000 | ВП8 видео | RFC 7741 | |||
динамичный | ВП9 | видео | 90000 | ВП9 видео | проект-ietf-payload-vp9 | |||
динамичный | АВ1 | видео | 90000 | AV1 видео | av1-rtp-спецификация | |||
динамичный | Л8 | аудио | (различный) | (различный) | любой | 20 | 8-битный звук Linear PCM со смещением 128 | RFC 3551, раздел 4.5.10 и таблица 5. |
динамичный | ДАТ12 | аудио | (различный) | (различный) | любой | 20 (по аналогии с L16) | IEC 61119 12-битный нелинейный звук | RFC 3190, раздел 3 |
динамичный | Л16 | аудио | (различный) | (различный) | любой | 20 | Линейный PCM 16-битный звук | RFC 3551, раздел 4.5.11, RFC 2586. |
динамичный | Л20 | аудио | (различный) | (различный) | любой | 20 (по аналогии с L16) | Линейный PCM 20-битный звук | RFC 3190, раздел 4 |
динамичный | Л24 | аудио | (различный) | (различный) | любой | 20 (по аналогии с L16) | в формате Linear PCM 24-битный звук | RFC 3190, раздел 4 |
динамичный | сырой | видео | 90000 | Несжатое видео | RFC 4175 | |||
динамичный | ac3 | аудио | (различный) | 32000, 44100, 48000 | Dolby AC-3 Звук | RFC 4184 | ||
динамичный | eac3 | аудио | (различный) | 32000, 44100, 48000 | AC-3 Улучшенный звук | RFC 4598 | ||
динамичный | т140 | текст | 1000 | Текст по IP | RFC 4103 | |||
динамичный | ЕВРК ЕВРК0 ЕВРК1 |
аудио | 8000 | ЕВРК аудио | RFC 4788 | |||
динамичный | ЕВРЦБ ЕВРКБ0 ЕВРКБ1 |
аудио | 8000 | EVRC-B Звук | RFC 4788 | |||
динамичный | ЕВРКВБ ЕВРКВБ0 ЕВРКВБ1 |
аудио | 16000 | EVRC-WB Звук | RFC 5188 | |||
динамичный | jpeg2000 | видео | 90000 | JPEG 2000 Видео | RFC 5371 | |||
динамичный | УЕМКЛИП | аудио | 8000, 16000 | UEMCLIP аудио | RFC 5686 | |||
динамичный | АТРАК3 | аудио | 44100 | АТРАК 3 аудио | RFC 5584 | |||
динамичный | АТРАК-X | аудио | 44100, 48000 | АТРАК 3+ аудио | RFC 5584 | |||
динамичный | ATRAC-ADVANCED-БЕЗ ПОТЕРЬ | аудио | (различный) | ATRAC Улучшенный звук без потерь | RFC 5584 | |||
динамичный | ДВ | видео | 90000 | DV- видео | RFC 6469 (ранее RFC 3189) | |||
динамичный | БТ656 | видео | МСЭ-R BT.656 Видео | RFC 3555 | ||||
динамичный | БМПЭГ | видео | Видео в комплекте MPEG-2 | RFC 2343 | ||||
динамичный | SMPTE292M | видео | SMPTE 292M Видео | RFC 3497 | ||||
динамичный | КРАСНЫЙ | аудио | Резервные аудиоданные | РФК 2198 | ||||
динамичный | ВДВИ | аудио | Аудио DVI4 с переменной скоростью | RFC 3551 | ||||
динамичный | МП1С | видео | Системы MPEG-1 Потоковое видео | РФК 2250 | ||||
динамичный | MP2P | видео | Программа MPEG-2 транслирует видео | РФК 2250 | ||||
динамичный | тон | аудио | 8000 (по умолчанию) | тон | RFC 4733 | |||
динамичный | телефонное событие | аудио | 8000 (по умолчанию) | DTMF тон | RFC 4733 | |||
динамичный | aptx | аудио | 2 – 6 | (равен частоте дискретизации) | 4000 ÷ частота дискретизации | 4 [примечание 4] | aptX аудио | RFC 7310 |
динамичный | jxsv | видео | 90000 | в формате JPEG XS Видео | RFC 9134 |
- ^ «Тактовая частота» — это скорость, с которой увеличивается временная метка в заголовке RTP, которая не обязательно должна совпадать с частотой дискретизации кодека. Например, видеокодеки обычно используют тактовую частоту 90 000, чтобы их кадры можно было более точно согласовать с временной меткой RTCP NTP, хотя частоты дискретизации видео обычно находятся в диапазоне 1–60 выборок в секунду.
- ^ Хотя частота дискретизации для G.722 равна 16000, его тактовая частота равна 8000, чтобы оставаться обратной совместимостью с RFC 1890, в котором это значение использовалось неправильно. [1]
- ^ Поскольку Opus может динамически изменять частоту дискретизации, его тактовая частота фиксирована на уровне 48000, даже если кодек будет работать с более низкой частотой дискретизации.
maxplaybackrate
иsprop-maxcapturerate
Параметры в SDP могут использоваться для указания подсказок/предпочтений относительно максимальной частоты дискретизации для кодирования/декодирования. - ^ Для aptX интервал пакетирования должен быть округлен до ближайшего интервала пакетов, который может содержать целое число выборок. Таким образом, при частотах дискретизации 11025, 22050 или 44100 скорость пакетирования «4» округляется до 3,99.
Полезная нагрузка текстовых сообщений
[ редактировать ]MIDI-полезная нагрузка
[ редактировать ]- RFC 6295 , формат полезной нагрузки RTP для MIDI
- RFC 4696 , Руководство по реализации RTP MIDI.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ RFC 3551, Профиль RTP для аудио- и видеоконференций с минимальным контролем , Х. Шульцринн, С. Каснер, Интернет-сообщество (июль 2003 г.).
- ^ «RFC 2586 — тип контента Audio/L16 MIME» . Май 1999 года . Проверено 16 марта 2010 г.
- ^ «RFC 3108 — Соглашения об использовании протокола описания сеанса (SDP) для соединений ATM-носителя» . Май 2001 года . Проверено 16 марта 2010 г.
- ^ «RFC 4856 — Регистрация типа носителя для форматов полезной нагрузки в профиле RTP для аудио- и видеоконференций — Регистрация типа носителя audio/L16» . Март 2007 года . Проверено 16 марта 2010 г.
- ^ Руководство программиста XIL , Глава 22 «Кодек CellB». Август 1997 г. Проверено 19 июля 2014 г.
- ^ nv — сетевое видео на веб-сайте Хеннинга Шульцринна , сетевое видео на веб-сайте Университета Торонто , дата обращения 9 июля 2009 г.
- ^ Рон Фредерик Github с исходным кодом