【问题标题】:WebRTC stream from gstreamer in local netwrok with lowest possible security来自本地网络中 gstreamer 的 WebRTC 流,安全性最低
【发布时间】:2019-10-20 01:48:21
【问题描述】:

我需要使用 WebRTC 连接到 gstreamer 多播 udp 流。我不需要任何安全措施,但网络浏览器需要它们。连接仅在本地网络中进行,因此不需要 ICE、STUN 或 TURN 服务器。从浏览器的 WebRTC 连接到任何 rtp 视频流的最低配置是什么?

我有这个 gstreamer 管道(如果有帮助的话):

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 config-interval=1 pt=96 ! udpsink host=239.127.1.21 multicast-iface=192.168.137.83 port=5000

还有这个与 VLC 一起播放流的 SDP 文件:

v=0
o=- 1 0 IN IP4 192.168.137.1
s=-
c=IN IP4 239.127.1.21
t=0 0
a=sendonly
m=video 5000 RTP/AVP 96
a=sendonly
a=rtpmap:96 H264/90000

如果我在浏览器中使用 SDP,当然会出现一些问题,即我没有设置一些 ICE 的东西,但我真的不需要它们,而且我不知道如何生成它们。如果可能的话,我宁愿忽略整个 ICE,只告诉浏览器使用某种不同的安全性。

那么如何在浏览器中播放流? 谢谢。

【问题讨论】:

    标签: stream webrtc gstreamer rtp sdp


    【解决方案1】:

    即使您需要最简单的 WebRTC 配置 - 您也需要完全实现。 IE。一些信令协议、ICE 候选协商和流加密。唯一的区别 - 您将始终使用本地 ICE 候选者,而不使用 STUN 或 TURN - 它仍然是可能的。 而且我认为您将不得不使用webrtcbin

    【讨论】:

    • 好的,那我该如何实现ICE协商呢?我找不到任何关于如何生成 ICE 属性的有用文档。它们要么是完全低级的,要么只使用浏览器 API。
    • 我认为最好使用一些现成的实现,比如 libnice (nice.freedesktop.org/wiki)
    • 其他方式可以使用 Janus 网关,因为它已经拥有所有信令和 ICE 相关的东西,以及我的 GStreamer 插件 (github.com/RSATom/janus-gstreamer-plugin)。现在我正试图在我的一个项目中走这条路,但我仍然在路上,不能确定这是 100% 正确的选择。
    • 我更愿意实现自定义信号。因此,如果您知道任何可用的文档,请推荐。
    • 我认为信令是一项非常简单的任务,互联网上有很多例子,但 ICE 协商可能更难实施,特别是如果从头开始。也许 libnice 资源可以提供帮助以及一些相关的 RFC...
    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多