我有一个视频编码在MP4以及HLS (M3u8)格式。我希望VideoJS在桌面浏览器上使用MP4,而不是在设备上使用m3u8。最新版本的VideoJS支持这两种格式。我正在尝试确定videojs是否可以自动找出要使用的源。或者我的代码必须检测浏览器并将最好的源类型传递给videojs。
发布于 2019-06-06 18:37:14
在视频交付生态系统中,MP4和HLS实际上是不同类型的东西。
MP4是一种容器格式,在单个文件中包含编码的视频、音频等曲目。HLS是一种流协议,可以将容器中的视频从服务器端流式传输到客户端。
术语可能有点混乱,而且这些术语通常不会准确使用,但简单的概述如下:
协议
流协议促进自适应比特率流( ABR ),简而言之,这意味着您提供视频的多个不同比特率版本,客户端设备或播放器可以分块下载视频,例如10秒块,并从最适合设备和当前网络条件的比特率中选择下一个块。在这个答案中也可以看到更多信息:https://stackoverflow.com/a/42365034/334402
一般来说,ABR协议将提供更好的性能,因此您通常会始终选择一个,而不是简单地逐步下载和播放MP4文件本身,当您的视频流。
您可能担心某些设备或浏览器不支持HLS。大多数设备和HTML5播放器现在可能会这样做,但主要的视频流服务通常会为每个视频提供HLS和MPEG-DASH流,这将覆盖绝大多数设备。
发布于 2020-05-16 07:50:11
你不能同时向任何视频播放器提供两个信号源,更不用说VideoJS了。
不是一个就是另一个。
您的<video>标记中的源应该是一个.mp4 (签名的或直接的)。
或者它应该是一个.m3u8播放列表。
您的存储桶/文件夹中可能同时提供了这两个文件。但您一次只能提供其中一个作为单个播放器的源。
https://stackoverflow.com/questions/56445095
复制相似问题