【发布时间】:2017-03-06 00:52:22
【问题描述】:
TL;DR
我需要将来自 Axis IP 摄像机的完整 RTSP (A/V) 流转换为在 iOS 浏览器中的完全包含/非全屏 div 中查看。想一想:“从 iOS 浏览器观看的 Youtube 直播”。我已经看到了几个暗示这个问题的链接。 . .
- Streaming via RTSP or RTP in HTML5
- RTSP tunneled HTTP, FFMPEG
- How can I display an RTSP video stream in a web page?
- Embed RTSP Stream into Browser
。 . .但它们不是“不完整”就是过时了。
解决方案必须是本地的,并且位于站点防火墙之后(因此没有外部服务)。
更多详情
我目前正在为客户编写一个自定义的“Axis IP Camera Manager”Vue/Laravel Web 应用程序。最初的要求很简单:
扫描网络以查找轴设备并存储地址/信息以备将来使用
显示所选摄像机的 MJPEG 网格。
最初的要求相当简单。不过,现在还有其他要求:
将 RTSP 流录制到 [秒] 长的 MP4 流中。
将来自 AXIS IP CAMERA 的 RTSP 流转换为可在桌面和移动浏览器中查看的内容,并提供完整的 A/V。
我通过使用 ffmpeg 捕获流并将其存储到 MP4 成功地管理了 #3。但是,我不是视频爱好者,#4 的性质对我来说仍然有点模糊。据我了解,我无法在 iOS 的浏览器中观看 RTSP 流,但我也无法通过 HTTP 流式传输“进程内”MP4。我已经看到了对几个项目的引用,例如 Red5、Live555、Wowza、ffserver(已停产?)等,但我对它们完全不熟悉。在短期内,我正在寻找一种快速的“实时”转换解决方案。从长远来看,我有兴趣更深入地了解手头的问题。任何当前的信息/专业知识/链接/手册将不胜感激。
【问题讨论】:
-
您可以尝试使用命令here 来查看“正在处理”的 MP4。 ffserver 计划移除,但开发人员在扣动扳机时犹豫不决。
-
在 IOS Http 浏览器中,无法直接查看 RTSP 流,此外,如果您将 RTSP 转换为 HTTP 实时流 (HLS),您将获得大约 5 秒的延迟,因此,在 IOS 中使用 Http 浏览器不是查看 IP 摄像头的好方法。你可以转换为 MJPEG,但你会得到一个低质量的“流”。
-
@Mulvya,是的,这只会使事情复杂化,但我感谢您的意见。
-
@hokusai,是的,我很清楚,因此我的“转换”问题。我预计会有一些延迟。我与 Red5 的人员交谈,他们提到他们的产品可以满足我的需求,但延迟了 20 秒。目前我只是在提取 MJPEG 流(这很好),但我需要一些机制来至少转换/同步随附的音频以供 iOS 使用。
标签: ios ffmpeg html5-video rtsp ip-camera