如何玩真人FLV流?

时间:2017-03-28 13:53:08

标签: live-streaming flv

我正在从我的电脑中的网络摄像头捕捉视频,然后将它转换为FLV(使用ffmpeg)。 因此,我有一个不断增长的.FLV文件。 现在我想把它作为一个直播流播放。 我正在尝试VLC,但它播放的文件不会超过初始化时从文件中读取的持续时间。 我可以使用什么播放器来播放FLV? 我正在研究Ubuntu 16.04。

提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

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

为什么使用http-flv?

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

它如何工作?

  1. FLV是一个简单的容器,它“支持”基于文件的渐进式流传输,因为一个人可以在flv视频中获得部分字节范围并继续播放(对于mp4,您需要像moov这样的元数据才能播放)。 >
  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/