如何将 RTP 数据实时流式传输到浏览器?

问题描述

背景

我有一个带摄像头的 DVR,它使用 SIM 卡与外部世界进行通信。如果 硬盘录像机收到直播指令后,开始通过UDP或TCP向服务器发送RTP包。

问题

  • 如何将 RTP 数据实时流式传输到浏览器?我可以用什么来实现低延迟?

潜在方法

根据 DVR 文档,它没有内置 RTSP。因此,根据现有技术和我目前所了解的情况,我必须构建自己的 RTSP 服务器,以便从 RTP 数据包中提取正文和一个 RTSP 客户端,以便能够重现实时流。

RTSP 服务器 - 步骤:

  1. 接收 RTP 数据包
  2. 提取正文
  3. 如何将流正文发送到客户端?

RTSP 客户端 - 如何直接在浏览器上流式传输?我是否需要将 H264 转换为 ts 文件才能构建 HLS 播放列表?


注意:我开发了一个解决方案,其中包含一个套接字,该套接字接收 RTP 数据包并将 H264 视频转换为 ts 文件,以便在浏览器上使用 HLS 播放。

问题:请求和播放器上的视频流之间的延迟。

原因:为构建有效的视频块而附加 RTP 数据包所花费的时间;用于 FFmpeg 转换的时间(h264 视频块 -> ts 文件)。

谢谢。欢迎任何建议或其他方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...