将 rtsp 流式传输到 Html5 视频标签

问题描述

我有一个带有 RTSP 流的相机 (例如:rtsp://admin:password@ip:554/Streaming/Channels/101), 现在我想在没有任何插件的情况下使用 HTML5 流式传输它。

我尝试了一些使用 http-flv 协议的解决方案:

1.Nginx-http-flv-module + FFmpeg + flv.js

2.Nodejs + FFmpeg + flv.js

ffmpeg 命令: rtsp://admin:password@ip:554/Streaming/Channels/101-vcodec copy -an -f flv -s 800x600 rtmp://localhost:1935/myapp /测试

ffmpeg log

问题是 5s-8s 之间的延迟很高,如果有任何解决方案可以减少 1s-2s 之间的延迟。

PS:flv.js 是一个 HTML5 Flash 视频 (FLV) 播放器,用纯 JavaScript 编写,没有 Flash。 flv.js

解决方法

为了减少延迟,我使用 ffmpeg 命令(-tune zerolatency -preset ultrafast),那么延迟将在 3 秒以下。