【发布时间】:2020-10-01 01:50:17
【问题描述】:
我目前正在开展一个项目,该项目需要我从树莓派相机获取实时视频并将其流式传输到 html 页面。目前我正在使用 ffmpeg 创建 *.m3u8 和 *.ts 文件并以这种方式流式传输视频。在 html 页面中,我运行了 hls.js,它接收视频并通过视频标签显示它。这确实工作得很好,但是延迟是一个问题......浏览器中的视频总是延迟几秒钟到几分钟。这是不可接受的。
我目前正在使用以下命令运行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 和正在查看 html 页面的智能手机/计算机在同一个 wifi 上,但该 wifi 并不总是连接到互联网,也不需要连接。
所以基本上我想将 h264 视频放入 ffmpeg,然后以某种方式放入 html 标签。该流还应该可以通过另一种方式访问,因为我在页面上有一个按钮,可以开始和停止将流录制到 mp4 文件。目前这个录制也是使用 ffmpeg 完成的。
我在这里而不是在树莓派 stackexchange 论坛上问这个问题,因为这是一个普遍问题,问题本身与树莓派无关。
【问题讨论】:
标签: javascript html video ffmpeg