gpt4 book ai didi

live-streaming - 如何播放实时 FLV 流?

转载 作者:行者123 更新时间:2023-12-02 03:58:12 28 4
gpt4 key购买 nike

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

预先感谢您的回答!

最佳答案

你不能直接播放直播的FLV,但是在中国的直播平台上流行一种叫做“http-flv”的棘手的协议(protocol),可以在http框架内播放直播的flv。

为什么是 http-flv?

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

它是如何工作的?

  1. FLV 是一个简单的容器,它“支持”基于文件的渐进式流式传输,因为可以在 flv 视频中获取部分字节范围并仍然播放它(对于 mp4,您需要 moov 等元数据来播放。)
  2. 对于文件服务器,托管一个不断增长的 flv 文件并删除 HTTP 响应 header “内容长度”,这样当客户端请求该文件时,它不知道响应正文的大小。它将保持连接并接收视频片段,直到连接结束。
  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/

关于live-streaming - 如何播放实时 FLV 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43071489/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com