从ffmpeg到html的实时视频源,延迟最小

时间:2020-06-11 12:07:19

标签: javascript html video ffmpeg

我目前正在从事一个项目,该项目需要我从树莓派pi摄像机获取实时视频并将其流式传输到html页面。目前,我正在使用ffmpeg创建* .m3u8和* .ts文件并以这种方式流传输视频。在html页面中,我正在运行hls.js来接收视频并通过video标签显示它。这确实可以很好地工作,但是latenca是一个问题...浏览器中的视频总是在几秒钟到几分钟之间。这真的不能接受。

我当前正在使用以下命令运行ffmpeg:

ffmpeg -loglevel quiet -y -i - -c:v copy -preset veryfast -hls_wrap 2 -hls_time 1 -g 1 stream.m3u8

我还尝试了-hls_time和-g的其他值,包括0到1之间的值。

我现在正在寻找一种不存在此问题的替代解决方案,或将等待时间减少到至少2秒以下的方法。视频本身以h264格式传输到ffmpeg。 html网页使用apache2托管在同一树莓派上。

有没有一种方法可以在pi上不安装单独的流服务器的情况下实现?

这一切都必须在没有互联网连接的情况下进行。意味着pi和正在查看html页面的智能手机/计算机位于同一wifi上,但是wifi并不总是可以连接到互联网,也不需要一个。

所以基本上我想将h264视频放入ffmpeg,然后以某种方式放入html标签。流也应该以其他方式访问,因为页面上有一个按钮,可以开始和停止将流记录到mp4文件中。目前,还可以使用ffmpeg进行录制。

我在这里而不是在raspberry pi stackexchange论坛上问这个问题,因为这是一个普遍的问题,而问题本身与raspberry pi没有任何关系。

1 个答案:

答案 0 :(得分:1)

不。当前没有针对低延迟HLS的广泛部署的标准。 Apple标准直到最近才最终定稿,并且尚未在Apple设备上提供。并且没有足够的时间将其实现为ffmpeg或播放器。

已经开发了一些自定义解决方案,但是没有一个开源或免费提供的。

现在您所拥有的是最好的,而无需编写大量代码。

相关问题