如何运行RTSP媒体服务器[不建议使用]

在阅读之前,请知道我在本文中提出的解决方案已不再维护,因为我无法继续解决。 如果您是C ++开发人员,可以轻松使用GStreamer,并且希望成为开源维护者,请分叉存储库并保持项目正常运行🙏

这个故事针对的是真正的小众受众,但就我自己问这个问题而言,我认为它解决了一个目前还没有令人满意的答案的问题。

RTSP代表实时流协议,该协议已被视频监控摄像机广泛使用,但也用于Internet上的流媒体,进行视频通话和其他应用程序。

我记得最初使用出色的VLC通过RTSP提供视频,有一天我需要它进行身份验证,而VLC似乎无法处理。 我进入了VLC IRC服务器,并询问他们是否可以帮助实现它。 他们回答了类似的内容:“ 无论如何,只有疯狂的人会使用此文件,但请确保继续,它在此文件中。 ”,并指出了一个5 000行,使用10年的C文件。

要注意的另一件事是,我用来运行媒体服务器的命令非常复杂,请检查一下:

我想做一个完全跨平台,易于使用的东西,它具有很多功能并且性能很高。 结果是:RTSPAllTheThings。

它远非完美,但可以实现其设计目的。 这是使用gst-rtsp-server库编写的简单媒体服务器,可以与Docker映像一起使用。

它处理身份验证(基本和摘要),可以流传输输入文件,预设视频模式(移动的球,白噪声等),来自设备的视频馈送,甚至中继另一个RTSP流。 您还可以添加时间叠加,更改视频的帧频或更改流的分辨率。

现在,要获得与使用上面的VLC使用非常长的命令所做的相同的视频流,我只需要docker run --rm -p 8554:8554 ullaakut/rtspatt

一个更复杂的命令(将处理身份验证,提供视频文件并设置自定义地址和端口)是docker run --rm -e INPUT="/tmp/video.avi" -e RTSP_ADDRESS=172.100.100.12 -e RTSP_PORT=18554 -v "/path/to/your/video:/tmp/video.avi" -p 18554:18554 ullaakut/rtspatt

但是问题仍然存在,我的软件目前没有足够的功能来提供通用解决方案,并且似乎没有其他易于使用和开箱即用的解决方案。 现在,如果您有RTSPATT不能满足的特定需求,并且您没有时间/知识来使用gst-rtsp-server或live555,请通过在RTSPATT上创建一个问题来告诉我,也许我可以帮助您。

如果您知道更好的解决方案,请对本文发表评论以告诉我有关它的信息,我可能会记着这篇文章进行重写。 另外,如果您想帮助我为这个问题找到解决方案,我们非常欢迎您提供帮助。

如果您喜欢这篇文章,请 点击the 按钮。