首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当两个来源都可用时,VideoJS如何确定何时使用HLS和MP4视频?

当两个来源都可用时,VideoJS如何确定何时使用HLS和MP4视频?
EN

Stack Overflow用户
提问于 2019-06-04 21:36:55
回答 2查看 4.5K关注 0票数 2

我有一个视频编码在MP4以及HLS (M3u8)格式。我希望VideoJS在桌面浏览器上使用MP4,而不是在设备上使用m3u8。最新版本的VideoJS支持这两种格式。我正在尝试确定videojs是否可以自动找出要使用的源。或者我的代码必须检测浏览器并将最好的源类型传递给videojs。

EN

回答 2

Stack Overflow用户

发布于 2019-06-06 18:37:14

在视频交付生态系统中,MP4和HLS实际上是不同类型的东西。

MP4是一种容器格式,在单个文件中包含编码的视频、音频等曲目。HLS是一种流协议,可以将容器中的视频从服务器端流式传输到客户端。

术语可能有点混乱,而且这些术语通常不会准确使用,但简单的概述如下:

  • 'raw‘视频-这是未压缩的帧
  • 编码的视频-通常由编解码器压缩。例如h.264、h.265、AV1等
  • 容器(例如FLV、MP4)。容器可以包括一个或多个经过编码的视频、音频、字幕以及包括加密信息的元数据。分片容器(例如,分片MP4) -这允许视频容器被分成片段或块,以支持流,特别是ABR (参见包括索引和视频片段或片段(例如,HLS、DASH、平滑流)的

协议

流协议促进自适应比特率流( ABR ),简而言之,这意味着您提供视频的多个不同比特率版本,客户端设备或播放器可以分块下载视频,例如10秒块,并从最适合设备和当前网络条件的比特率中选择下一个块。在这个答案中也可以看到更多信息:https://stackoverflow.com/a/42365034/334402

一般来说,ABR协议将提供更好的性能,因此您通常会始终选择一个,而不是简单地逐步下载和播放MP4文件本身,当您的视频流。

您可能担心某些设备或浏览器不支持HLS。大多数设备和HTML5播放器现在可能会这样做,但主要的视频流服务通常会为每个视频提供HLS和MPEG-DASH流,这将覆盖绝大多数设备。

票数 6
EN

Stack Overflow用户

发布于 2020-05-16 07:50:11

你不能同时向任何视频播放器提供两个信号源,更不用说VideoJS了。

不是一个就是另一个。

您的<video>标记中的源应该是一个.mp4 (签名的或直接的)。

或者它应该是一个.m3u8播放列表。

您的存储桶/文件夹中可能同时提供了这两个文件。但您一次只能提供其中一个作为单个播放器的源。

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

https://stackoverflow.com/questions/56445095

复制
相关文章

相似问题

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