什么是RTSP和WebRTC用于流媒体?

时间:2015-07-26 09:00:50

标签: video streaming video-streaming webrtc rtsp

我是流媒体新手。但我必须使用IP摄像头做一个基于用户的流媒体系统。它就像安全摄像头。一个用户将拥有一个流。我的团队认为使用RTSP。他们想知道我们将如何做,rtsp,webrtc,rtp是什么。我正在研究,我想问你。那么RTSP到底是什么?一些IP摄像头说支持WebRTC,这是什么?这与RTSP兼容吗?哪个是基于用户的流媒体的最佳协议?

2 个答案:

答案 0 :(得分:10)

让我向我的最佳解释。如果我觉得你错了,请纠正我。

流媒体数据:

您正在将媒体数据(音频/视频)从一端传输到另一端。

RTSP / RTP / UDP,RTCP

RTSP它是一种流媒体协议,它的工作方式类似于遥控器。想想你可以用遥控器做什么。播放,暂停等等,这是RTSP实施和照顾的内容。那么,谁在传输数据呢?这里RTP出现了。 RTP是RTSP使用的传输协议。 RTP使用UDP。啊..我知道什么是UDP / TCP,所有的RTP来自哪里?我们关心的UDP和TCP之间存在一个核心差异。在UDP中,您无法跟踪是否存在数据包丢失,因此也无法跟踪RTP。 RTP在UDP上工作,但提供跟踪丢失数据包的工具,以便接收器可以相应地执行操作。例如,如果接收端有h.264数据包传输丢包,他可以请求发送方提供完整的“I'帧。您可以假设RTCP只是一种控制协议,可与RTP一起使用以进行QoS度量。

好的,到目前为止一切顺利。现在,我们脑子里出现了几个问题。一切都在浏览器中。是的,我们可以将媒体流式传输到浏览器吗?是的,那就是WebRTC出现的地方。 WebRTC再次使用RTP协议。 因此,webRTC是一种标准,有助于从/向浏览器传输媒体流。 此外,它还具有下面提到的其他功能。

1)它是基于浏览器的。

2)一个很大的区别是在TURN / STURN服务器的帮助下便于Peer to Peer网络连接。

3)在构建编解码器支持中。

4)它也支持任意数据传输。 ;)

希望它提供一些基本的想法。

答案 1 :(得分:9)

RTSP是一种流控制协议,用于控制流媒体服务器(在另一个答案中,whoami的远程控制类比是一种非常好的思考方式)。它定义了如何打包数据以对其进行流式处理以及连接的两端应如何表现以支持协议。

要明确的是,它实际上并不传输媒体数据--RTP(实时传输)协议负责处理这个问题。

为了使事情进一步复杂化,RTCP(Real Tine Control Protocol)也存在 - 尽管名称如此,其主要目的是收集RTP会话的统计数据。

SDP(会话描述协议)在此上下文中也很有用 - 它包含有关流的会话参数的信息,并由RTSP等使用。示例参数包括会话名称,会话可用的时间,URI等

WebRTC是一个项目和一组IETF草案,为浏览器提供一套API来支持Rich'网络通讯。

简单来说,WebRTC可能会提供一个API,允许网络程序员(即使用Javascript创建基于浏览器的客户端)使用RTSP等协议来传输数据。

请注意“'可能'上面 - 据我所知,目前WebRTC不支持RTSP,尽管有一些讨论: