将H.264直播流发送到Nginx并发布为HLS嵌入网站

将H.264直播流发送到Nginx并发布为HLS嵌入网站,nginx,video-streaming,html5-video,h.264,http-live-streaming,Nginx,Video Streaming,Html5 Video,H.264,Http Live Streaming,根据帖子,我正在尝试在网页上显示一个ip摄像头(AXIS M1145-L+CamStreamer插件)的H.264实时流,而不使用任何外部浏览器插件(仅纯HTML5)和桌面 正如我在那里读到的,可以使用video.js和HLS来实现这一点,因此我尝试了以下几点: Stream from camera (push to rtmp with CamStreamer) --> to nginx (rtmp module) --> nginx serves HLS --> displ

根据帖子,我正在尝试在网页上显示一个ip摄像头(AXIS M1145-L+CamStreamer插件)的H.264实时流,而不使用任何外部浏览器插件(仅纯HTML5)和桌面

正如我在那里读到的,可以使用video.js和HLS来实现这一点,因此我尝试了以下几点:

Stream from camera (push to rtmp with CamStreamer) --> to nginx (rtmp module) --> 
nginx serves HLS --> display with video.js and videojs-hls plugin in browser
在VLC中使用hls URL()观看流时,我没有任何问题或延迟,但我无法让它在使用video.js的浏览器中工作

它总是报告我无效媒体

  • vlc+编解码器信息中的流:

  • 我的nginx配置:

  • html源代码:

  • 铬合金输出:

原始流被推送到:rtmp://192.168.1.105:1935/hls/movie

192.168.1.105是运行nginx的机器

然后,Hls流可在上访问

我完全想避免的是需要对视频进行重新编码,因为它稍后运行的机器没有能力进行编码,而且它也是一个全高清流。这就是为什么我放弃了FFmpeg(需要为实时流媒体重新编码Mp4)。此外,该机器将无法连续接入互联网,因此在线转码也不可能


请帮忙。谢谢大家!

我在尝试让Video.js播放器(带有HLS contrib模块)在PC/Chrome中加载HLS流时遇到了类似的问题。播放机将显示“无法加载媒体…因为不支持该格式。”

后来我发现它在Mac/Safari和PC/MS边缘浏览器中运行良好

对HLS的完全浏览器支持仍然相当缺乏。

我成功地使用了Bitmovin的播放器Bitdash,并意识到这是一个浏览器问题(不是流或nginx问题)。

最终得到了它

使用hls.js library()standalone而不使用video.js就成功了。该视频现在在Windows7上的Chrome/Opera中播放良好。还没有和其他人一起尝试过

所以我猜这是一个依赖于播放器/编解码器的video.js问题

带有播放器的html页面必须位于服务器上(而不是本地文件系统!),否则浏览器的安全限制会阻止视频播放。注意到,当尝试从浏览器中的本地html页面时,hls.js演示程序使用相同的流


谢谢你的提示

@Thomas233-视频流在Mac/Safari或PC/MS Edge页面上工作吗?嗨,托马斯,你是如何获得192.168.1.105:8080/hls/movie.m3u8的。我按照给出的步骤操作,但出现404错误。请指导我完成这项工作。您是否设法解决了不在较弱机器上重新编码的要求?