如何播放实时FLV流?

问题描述 投票:0回答:1

我正在从PC上的网络摄像头捕获视频,然后即时将其转换为FLV(使用ffmpeg)。结果,我有了一个不断增长的.FLV文件。现在,我想将其作为直播播放。我正在尝试VLC,但它播放文件的时间不超过初始化时从文件读取的持续时间。我可以使用哪个播放器来现场播放FLV?我正在使用Ubuntu 16.04。

预先感谢您的回答!

live-streaming flv
1个回答
0
投票

[您不能直接播放实时FLV,但是在中国的实时流媒体平台中流行一种棘手的协议,称为“ http-flv”,可以在http框架内播放实时flv。

为什么使用http-flv?

  1. HLS / Dash的等待时间很长。大约需要10至20秒钟。
  2. Http-flv将端到端的延迟减少到〜5秒。它可以在支持MSE的浏览器上播放。

它如何工作?

  1. FLV是一个简单的容器,它“支持”基于文件的渐进式流,因为一个人可以在flv视频中获得部分字节范围并继续播放(对于mp4,您需要像moov这样的meta来进行播放。)
  2. 对于文件服务器,请托管一个不断增长的flv文件,并删除HTTP响应标头的“内容长度”,以便当客户端请求文件时,它不知道响应正文的大小。它将保持连接并接收视频片段,直到连接结束。
  3. 在客户端,使用flv.js仅获取flv文件的最新片段并执行播放。
  4. 还有许多其他技巧可以使管道正常工作。

[您可以在网上找到很多来源。这里是一些参考:

  1. https://github.com/Bilibili/flv.js/
  2. https://github.com/winshining/nginx-http-flv-module
  3. 有关如何实现此目标的博客:https://www.yanxurui.cc/posts/server/2017-11-25-http-flv/
© www.soinside.com 2019 - 2024. All rights reserved.