如何使用RTSP将视频流发送到客户端(浏览器)

时间:2017-10-25 13:50:48

标签: java opencv video rtsp

我想实现类似下面的内容:

  1. 使用RTSP从IP-Camera读取视频流(即 完成)
  2. 通过OpenCV处理图像(已完成)
  3. 将图像发送到浏览器以显示(这是问题)
  4. 第三部分我想使用RTSP协议将图像作为视频流发送。

    enter image description here

    注意:服务器端使用的语言是Java(OpenCV也是Java),服务器是TomCat。

    如果有人认为使用RTSP实现并不是更好,那么实现此功能的最佳方式是什么,因为RTSP特别适用于视频流,所以我认为这可能是更好的选择。

1 个答案:

答案 0 :(得分:0)

您选择的解决方案很可能取决于您正在构建的系统类型。

如果您有少量用户愿意在其浏览器中添加插件,那么您所概述的基于RTSP的方法可能会起作用 - 您可以尝试使用的示例插件

更常见的解决方案是使用代理服务器或流媒体服务器将RTSP流转换为HTTP流 - 同样,系统的规模和大小可能会决定您要在此处执行的操作。

“劳斯莱斯”解决方案,可让您尽可能多地以尽可能高的质量(基于当前环境 - 视频不断变化...)来解决尽可能多的用户:

  • 以h.264
  • 编码的视频流
  • 转码为多个比特率版本以支持ABR
  • 打包成碎片mp4并使用HLS和MPEG DASH流式传输(以获得最大的设备覆盖率)

ABR本质上允许客户端设备或播放器以块的形式下载视频,例如10秒块,并从最适合当前网络状况的比特率中选择下一个块。

有一个例子,使用GStreamer,一个开源流媒体服务器,并在这里回答hls流:https://stackoverflow.com/a/35002374/334402

我确实意识到你的问题提到了TomCat和Java,但如果你确实需要这种服务水平,那么我会非常犹豫自己从头开始构建它,因为流媒体服务器中有很多专家细节。

相关问题