В чем разница между RTP или RTSP на потоковом сервере?

StackOverflow https://stackoverflow.com/questions/4303439

Вопрос

Я думаю о разработке потокового сервера, и у меня есть следующий вопрос, сделайте над RTSP (пример URL: rtsp://192.168.0.184/myvideo.mpg) или RTP (Пример URL: rtp://192.168.0.184).

Как я понял, RTSP Сервер в основном используется для потоковой передачи файлов, которые уже существуют, то есть не живут. RTP Сервер используется для трансляции.

Кто-нибудь поправь меня, если я не прав, я прав?

То, что я хочу разработать сервер для вещания в прямом эфире на экране компьютера, то есть, который отображается во время трансляции в потоковой передаче.

Это было полезно?

Решение

Вы получаете что-то не так ... Rtsp. это протокол потоковой передачи в реальном времени. Значение, вы можете транслировать все, что вы хотите в режиме реального времени. Таким образом, вы можете использовать его для потоковой передачи живого контента (независимо от того, что он есть, видео, аудио, текст, презентация ...). Rtp. является транспортным протоколом, который используется для транспортировки медиа-данных, которые согласованы по поводу RTSP.

Вы используете RTSP для управления передачей носителя по RTP. Вы используете его для настройки, воспроизведения, паузы, разрывая поток ...

Таким образом, если вы хотите, чтобы ваш сервер просто начать потоковую передачу, когда запрошен URL-адрес, вы можете реализовать свой сервер только для RTP. Но если вы хотите больше контроля, и если вы транслируете живое видео, вы должны использовать RTSP, потому что он передает SDP и другие важные данные декодирования.

Прочитайте документы, которые я связал здесь, они хорошая отправная точка.

Другие советы

AFAIK RTSP вообще не передает потоки, это просто неполосный протокол управления с функциями, такими как Play и Stop.

RAW UDP или RTP через UDP представляют собой протоколы передачи для потоков, такие как RAW TCP или HTTP Over TCP.

Чтобы иметь возможность потокотать определенную программу по данному протоколу передачи, Метод инкапсуляции должен быть определен для вашего Формат контейнера. Отказ Например, контейнер TS может передаваться через UDP, но матроска не может.

В значительной степени все можно транспортировать через TCP.

(Тот факт, что который кодек Используете ли вы также косвенно важно, поскольку он ограничивает форматы контейнеров, которые вы можете использовать.)

Некоторые основы:

RTSP Server может использоваться для Dead Source, а также для живого источника. Протоколы RTSP предоставляют вам команды (например, ваш VCR Remote), а функциональные возможности зависит от вашей реализации.

RTP - это протокол в реальном времени, используемый для транспортировки аудио и видео в режиме реального времени. Используемое транспортировка может быть одноадресной, многоадресной или трансляцией, в зависимости от транспортного адреса и порта. Помимо транспортировки RTP делает много вещей для вас, например, пакету, переупорядочение, управление джиттером, QoS, поддержка синхронизации для губ .....

В вашем случае, если вы хотите транслировать потоковый сервер, то вам нужен как RTSP (для управления), а также RTP (аудио и видео)

Для начала вы можете пройти через пример код, предоставляемый live555.

Я слышу твою боль. Я прохожу через это прямо сейчас (годы спустя). Из того, что я узнал, вы можете подумать о RTSP как «контроллер VCR», протокол позволяет вам указать, какие потоки (презентации) вы хотите воспроизвести, он отправит вам описание носителей, а затем вы можете Используйте RTSP для воспроизведения, остановки, паузы и записывать удаленный поток. Сам носитель проходит через RTP. RTSP обычно реализуется над другим сокетом или слоем связи. Хотя это просто протокол, чаще всего это реализуется сервером над розеткой. Для прямых потоков, поток RTSP, который вы запросите, это просто имя потока. Не нужно ссылаться на файл на сервере, реализация RTSP сервера может анализировать этот поток, собрать живой график, а затем предоставить SDP (описание) для этого названия потока. Но это, конечно, специфично к тому, как был реализован сервер RTSP. Для «живых» потоков, вероятно, просто просто использовать RTP, но вам понадобится способ перенести SDP с сервера RTP на клиента, который хочет сыграть этот поток.

Я думаю, что это правильно. RTSP может использовать RTP внутри.

RTSP (фактически RTP) может использоваться для потокового видео, но и многих других типов носителей, включая живые презентации. RTSP - это просто протокол, используемый для настройки сеанса RTP.

Для всех деталей вы можете проверить мою реализацию сервера RTSP с открытым исходным кодом по следующему адресу: https://net7mma.codeplex.com/

Или моя статья @ http://www.codeproject.com/articles/507218/maned-media-aggruge-us-rtsp-and-rtp.

Он поддерживает повторные источники потоков, а также динамическое создание потоков, реализуются различные RFC, и библиотека достигает лучшей производительности и меньшего количества памяти, затем FFMPEG и практически о любых других решениях в транспортном слое и, таким образом, делает его хорошим кандидатом в качестве Централизованная точка доступа для большинства сценариев.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top