我正在考虑开发流服务器,并且有以下问题,请通过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根本不会传输流,它只是带有播放和停止功能的带外控制协议。

UDP上的RAW UDP或RTP是流的传输协议,就像TCP上的RAW TCP或HTTP一样。

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

几乎所有东西都可以通过TCP运输。

(事实是 编解码器 您是否可以间接使用重要的事情,因为它限制了您可以使用的容器格式。)

一些基本知识:

RTSP服务器可用于死源和实时源。 RTSP协议为您提供命令(例如VCR遥控器),功能取决于您的实现。

RTP是用于实时运输音频和视频的实时协议。使用的运输可以是单播,多播或广播,具体取决于运输地址和端口。除了运输RTP为您提供很多事情,例如包装,重新排序,抖动控制,QoS,支持唇彩的支持.....

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

首先,您可以浏览由 Live555

我听到你的痛苦。我现在正在(几年后)进行此操作。从我学到的知识中,您可以将RTSP视为“ VCR控制器”,该协议允许您指定要播放的流(演示)(演示),然后将向您发送媒体描述,然后您可以使用RTSP播放,停止,暂停并记录远程流。媒体本身会超越RTP。 RTSP通常通过不同的插座或通信层实现。尽管它只是一个协议,但通常是由服务器通过套接字实现的。对于实时流,您请求的RTSP流只是流的名称。它无需参考服务器上的文件,服务器的RTSP实现可以解析该流,整理实时图,然后为该流名提供SDP(Description)。但是,这当然是针对RTSP服务器实现方式的特定特定的。对于“实时”流,仅使用RTP可能会更简单,但是您需要一种将SDP从RTP服务器传输到想要播放该流的客户端的方法。

我认为那是正确的。 RTSP可以内部使用RTP。

RTSP(实际上RTP)可用于流视频,以及许多其他类型的媒体,包括实时演示。 RTSP只是用于设置RTP会话的协议。

有关所有详细信息,您可以在以下地址上查看我的开源RTSP服务器实现: https://net7mma.codeplex.com/

或我的文章 @ http://www.codeproject.com/articles/507218/managed-media-aggregation-using-rtsp-and-rtp

它支持重新传输流以及流的动态创建,实施各种RFC,并且图书馆可以实现更好的性能和更少的内存,而不是FFMPEG以及运输层中的几乎任何其他解决方案,从而使其成为一个很好的候选者大多数情况的集中访问点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top