如何通过 nginx 将 rtsp 网络摄像机流式传输到网站
How can I stream a rtsp ip camera to a website via nginx
我尝试在网站上播放我的 RTSP-IP-Camera。我使用 Nginx 网络服务器。我在 html-code 中的来源是:
<source src=rtmp://ip-address:1935/live/ type="application/x-mpegURL" />
要转换 rtsp 流,我使用这个 ffmpeg 代码:
ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -vcodec copy -acodec copy -f mp4 -y rtmp://ip-address:1935/live/
我收到错误消息“muxer 不支持不可搜索的输出
无法为输出文件 #0 写入 header(编解码器参数不正确?):参数无效
我还尝试将 rtsp-camera 转换为 mp4 文件,然后在我的 html 代码中将文件作为源访问,但是当 ffmpeg 在其中写入时我无法读取该文件。
如果您需要更多信息,请告诉我。
谢谢你,祝你有愉快的一天。
首先,您应该使用格式 flv
,而不是 mp4
。此外,您应该指定一个流(obs 的 StreamKey),例如 livestream
:
ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -c copy \
-f flv -y rtmp://ip-address:1935/live/livestream
然后你把RTSP转成RTMP,然后你可以用服务器把RTMP转成HLS,就像你做的那样。
HLS的延迟比较大,大概5~10秒,如果你想获得更低的延迟,请使用HTTP-FLV或者WebRTC,见link here
我尝试在网站上播放我的 RTSP-IP-Camera。我使用 Nginx 网络服务器。我在 html-code 中的来源是:
<source src=rtmp://ip-address:1935/live/ type="application/x-mpegURL" />
要转换 rtsp 流,我使用这个 ffmpeg 代码:
ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -vcodec copy -acodec copy -f mp4 -y rtmp://ip-address:1935/live/
我收到错误消息“muxer 不支持不可搜索的输出 无法为输出文件 #0 写入 header(编解码器参数不正确?):参数无效
我还尝试将 rtsp-camera 转换为 mp4 文件,然后在我的 html 代码中将文件作为源访问,但是当 ffmpeg 在其中写入时我无法读取该文件。
如果您需要更多信息,请告诉我。
谢谢你,祝你有愉快的一天。
首先,您应该使用格式 flv
,而不是 mp4
。此外,您应该指定一个流(obs 的 StreamKey),例如 livestream
:
ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -c copy \
-f flv -y rtmp://ip-address:1935/live/livestream
然后你把RTSP转成RTMP,然后你可以用服务器把RTMP转成HLS,就像你做的那样。
HLS的延迟比较大,大概5~10秒,如果你想获得更低的延迟,请使用HTTP-FLV或者WebRTC,见link here