首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时流分割

实时流分割
EN

Stack Overflow用户
提问于 2020-11-19 09:12:13
回答 1查看 222关注 0票数 1

如果我不需要自适应视频,那么我可以不分割吗?例如,我是否可以打开WebSocket连接并传输视频文件,客户端将在新的部分播放它-- received.Are在这种方法中有什么缺点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-19 16:01:04

比这更容易。您可以在不使用without的情况下执行这种类型的流,并使用普通HTTP。客户端是这样的:

代码语言:javascript
复制
<video src="https://stream-server.example.com/stream"></video>

然后,无论您使用的是服务器端,只需生成一个具有适当初始化信息的流,然后是在活动流中的任何位置。浏览器将尽快开始播放,一切都很好。

这是正常的HTTP渐进流。它一直与音频一起使用,在大多数情况下不需要自适应比特率,而且可以很容易地进行自同步(MP3、ADTS等)。如果您不需要自适应的比特率,您也可以将它与视频一起使用,并且可以发送初始化数据并将流块放在正确的位置。(如果您不确定如何做到这一点,请使用十六进制编辑器和您所使用的任何容器格式的规范。我发现WebM/Matroska非常容易使用,并且已经为Node.js服务器提供了一些EBML包。)

有几件事要记住:

  • 服务器负责组装流,因此您将无法使用标准文件/基于blob的CDN。对于很多用例来说,这是不相关的,所以您需要决定它对您是否重要。如果流停止了,浏览器要么等待这些数据包到达,要么在极端情况下重新连接。您需要能够通过跟踪发送到客户端的字节偏移量来处理重连接逻辑。客户端将发出一个远程HTTP请求,以继续它停止的地方,您将需要能够处理它。(或者,用几行JavaScript修复,如果出错,就重新设置整件事情。)
  • 的好处是,这是一种高质量和极其简单的流方式!

另外,查看如何在服务器上使用Icecast。我以前用这种方式传送视频..。几年没试过了,但我想它还能用。如果不是,一个简单的Node.js服务器就可以做到这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64908555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档