【问题标题】:What is RTSP and WebRTC for streaming?什么是流媒体的 RTSP 和 WebRTC?
【发布时间】:2015-10-16 14:05:10
【问题描述】:

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

【问题讨论】:

  • 这看起来不像是一个有效的问题,“要求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的总结,以及您遇到的困难的描述解决它。”显然你在提问之前应该已经了解了 RTSP 和 WebRTC。
  • 我知道我在聚会上可能会迟到,但请问你最后用什么来做你的项目?

标签: video streaming video-streaming webrtc rtsp


【解决方案1】:

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

需要明确的是,它本身并不实际传输媒体数据 - RTP(实时传输)协议会处理这一点。

更复杂的是,还存在 RTCP(Real Tine Control Protocol)——尽管名称如此,但其主要目的是收集 RTP 会话的统计信息。

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

WebRTC 是一个项目和一组 IETF 草案,为浏览器提供一组 API 以支持“丰富”网络通信。

用非常简单的术语来说,WebRTC 可能会提供一个 API,以允许 Web 程序员(即使用 Javascript 创建基于浏览器的客户端的人)使用诸如 RTP 之类的协议来流式传输数据。

请注意上面的“可能”一词 - 目前 WebRTC 不支持与 RTSP 直接交互,尽管围绕它进行了一些讨论:

【讨论】:

    【解决方案2】:

    让我向我最好的解释一下。如果我在你感觉的任何地方错了,请纠正我。

    流媒体数据:

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

    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 服务器的帮助下促进点对点网络连接。

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

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

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

    【讨论】:

    • 您的意思是“STUN”服务器而不是“STURN”服务器吗?
    • STUN 服务器是 STUN + TURN 服务器的组合
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2015-12-21
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多