流媒体服务器中的RTP或RTSP有什么区别?

Lob*_*obo 57 streaming rtp rtsp live-streaming

我正在考虑开发流媒体服务器,我有以下问题,通过RTSP(例如url:)rtsp://192.168.0.184/myvideo.mpgRTP(例如url:)rtp://192.168.0.184.

据我所知,RTSP服务器主要用于已经存在的文件的流式传输,即不是实时的.RTP服务器用于广播.

如果我错了,有人会纠正我,对吗?

我想开发一个服务器来在计算机屏幕上播放实时内容,即在流媒体广播时显示的内容.

Cip*_*ipi 92

你得到了错误... RTSP是一种实时流媒体协议.意思是,您可以实时传输任何您想要的内容.因此,您可以使用它来流式传输实况内容(无论是什么,视频,音频,文本,演示......).RTP是一种传输协议,用于传输通过RTSP协商的媒体数据.

您使用RTSP控制RTP上的媒体传输.你用它来设置,播放,暂停,拆除流......

因此,如果您希望服务器在请求URL时只启动流式传输,则可以实现某种RTP服务器.但是,如果您想要更多控制,并且如果您要直播视频,则必须使用RTSP,因为它会传输SDP和其他重要的解码数据.

阅读我在这里链接的文件,它们是一个很好的起点.


vbe*_*nce 16

AFAIK,RTSP根本不传输流,它只是带有PLAY和STOP等功能的带外控制协议.

原始UDP或UDP上的RTP是流的传输协议,就像原始TCP或TCP上的HTTP一样.

为了能够通过给定的传输协议流式传输某个程序,必须为容器格式定义封装方法.例如,TS容器可以通过UDP传输,但Matroska不能.

几乎所有东西都可以通过TCP传输.

(您使用哪种编解码器的事实也是间接的,因为它限制了您可以使用的容器格式.)


Ala*_*lam 11

一些基础知识:

RTSP服务器可用于死源以及实时源.RTSP协议为您提供命令(如您的VCR Remote),功能取决于您的实施.

RTP是用于实时传输音频和视频的实时协议.使用的传输可以是单播,多播或广播,具体取决于传输地址和端口.除了传输RTP之外,还有很多东西可以帮助你实现分组化,重新排序,抖动控制,QoS,支持Lip同步......

在您的情况下,如果您想要广播流媒体服务器,那么您需要RTSP(用于控制)以及RTP(广播音频和视频)

首先,您可以查看live555提供的示例代码


eri*_*zer 5

我听到你的痛苦。我现在(几年后)正在经历这个。据我了解,您可以将RTSP视为“ VCR控制器”,该协议允许您指定要播放的流(表示),然后向您发送媒体说明,然后您可以使用RTSP播放,停止,暂停和记录远程流。媒体本身通过RTP。RTSP通常在不同的套接字或通信层上实现。尽管它只是一个协议,但大多数情况下是由服务器通过套接字实现的。对于实时流,您请求的RTSP流只是流的名称。它不需要引用服务器上的文件,服务器的RTSP实现可以解析该流,将实时图形放在一起,然后为该流名称提供SDP(描述)。但,当然,这特定于RTSP服务器的实现方式。对于“实时”流,仅使用RTP可能更简单,但是您需要一种将SDP从RTP服务器传输到要播放该流的客户端的方法。