Gstreamer重播视频本地RTSP到公共流URL

问题描述

我正在尝试设置类似AWS Kinesis Video的系统。为此,我有以下设置:

  1. 本地CCTV摄像机供稿(可通过RTSP网址访问)-10.10.10.2
  2. 与CCTV摄像机位于同一LAN上的Linux盒-10.10.10.3
  3. 运行Ubuntu的AWS服务器-(公共ip-202.32.x.x)

我可以使用gstreamer通过linux盒内的RTSP(rtsp:// user:[email protected]/h264_stream)访问本地视频供稿。

我的问题是我该如何流相同的视频以到达AWS服务器,然后如何通过rtsp://202.32.xx/h264_stream_cam1)从Internet上的任何计算机访问相同的视频并使用VLC播放器播放相同的提要。

下面提到一个示例参考架构

enter image description here

解决方法

前段时间,我试图实现与您想要的东西非常相似的东西:https://github.com/RSATom/IpCamBox。在内部,它基于帮助程序库https://github.com/RSATom/RtspRestreamServer,而该帮助程序库又基于GStreamer和Gstreamer RTSP服务器。 但是最后,我决定摆脱RTSP,并尝试在WebRTC上实现相同的架构,因为当您需要在NAT之后跨LAN边界时,RTSP是错误的选择。您可以在https://github.com/orgs/WebRTSP上看到我为实现它所做的努力。不幸的是,它离终点线还很远...

,

我不确定您的要求,但是您可能不需要AWS跳转框!

RTSPToWebRTCRTSP -> WebRTC的桥梁。您可以在第一个网络中运行该网络,并可以连接到第三个网络。您可以将STUN / TURN服务器用于NAT遍历。

您也可以使用GStreamer来完成所有这一切。我自己还没有做过,但是所有组件都存在。

如果您想了解有关NAT遍历的更多信息,WebRTC for the Curious的一章仅涉及网络部分。