我正在寻找一种非常简单的方法来将 RTMP 流(来自 IP 摄像机)转换为可以在浏览器中使用的内容。理想情况下,该服务器将从rtmp://
读取我的相机的 URL,重新编码流,然后以我可以在 <video>
中使用的格式服务器流。网页上的标签。
但是,我的理解是 HTML5 和 <video>
标签不支持直播。因此,我只能使用 HLS 或 DASH。我的理解是,几乎所有设备都支持 HLS(我只关心 Linux 桌面和 Android 设备上的 Chrome 浏览器)。
那么从 rtmp://
转换的最简单方法是什么?流式传输到 HLS?我尝试过使用nginx-rtmp-module
(https://github.com/ut0mt8/nginx-rtmp-module),但是重新编译Nginx后,我无法让配置文件正常工作。我还遇到了我的 rtmp://
的问题URL 似乎不符合 rtmp://localhost/$app/$name
的“标准”模式我在大多数文档中都看到了。我的看起来像:rtmp://192.168.1.103:1935/flash/1:YWRtaW46YWRtaW4=
其中最后一部分是以 Base64 编码的用户名和密码 (admin/admin)。
最终,我有多个摄像头,我希望制作一个可以显示所有摄像头的简单页面。在 Linux 上解决这个问题最简单的方法是什么?
最佳答案
对于那些可能正在搜索类似内容的人,我可以使用 ZoneMinder 。它配置的服务器完全符合我的要求:将 RTSP
流转换为可以通过 img
标记在浏览器中显示的内容。您只需检查浏览器中的元素即可找出图像源的 URL。
ZoneMinder 服务器的代码位于 GitHub 上:https://github.com/ZoneMinder/zoneminder如果能够轻松提取将 RTSP
转换为图像数据的服务器,那就太好了,但最简单的启动方法是简单地配置全程服务。
关于html - RTMP 到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347277/