video - html5 video / video.js :设备之间的比特率是否一致?
问题描述
我有一个视频流播放器,并为流返回一系列可用的视频质量比特率。我正在尝试设置自定义 url 参数覆盖来设置比特率,但不确定我是否应该实际使用比特率数字本身。
在我拥有的测试流中,最高可用比特率是2341203
720p 视频。最低的是630000
360p 视频。
假设有人总是知道基于比特率的视频质量,不管使用什么设备,这是否安全?例如,比特率2341203
总是在 720p 质量范围内,还是取决于设备流媒体?如果是这样,我将使用比特率作为查询参数:
http//myvideo.com&bitrate=230000
然后在数组中找到比特率最接近该参数的质量选项。
如果比特率不一致,我将使用“低”、“中”、“高”比例作为查询参数
解决方案
作为 HLS 的一部分发送的清单文件具有每个流的比特率和大小:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=275000,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=426x240
240/manifest.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=880000,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=640x360
360/manifest.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2860000,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=1280x720
720/manifest.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4840000,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=1920x1080
1080/manifest.m3u8
该视频有 4 个流,大小从 240p 到 1080p(对应比特率为 275 KBPS 到 4,800 KBPS。)
现在播放器可以查看设备屏幕尺寸 (RESOLUTION) 和设备网络 (BANDWIDTH) 并决定哪个流是最佳播放。
推荐阅读
- java - 在 Linkedhashmap 中添加值
- html - 不同路线的不同图标
- ffmpeg - 使用 FFmpeg AutoGen 保存到位图适用于 Windows,但不适用于 Linux
- python - 在 React 文件夹结构中将杂项文件、脚本放在哪里?
- excel - 基于excel数字计数的IF语句
- c - 更改按钮样式(C win32)
- ios - 您的规范来源都不包含满足依赖项的规范:Firebase (~> 6.33.0)、Firebase (= 6.33.0, ~> 6.33.0)
- javascript - 如何在使用 jquery 填写表单之前禁用提交表单按钮?
- php - 为 Laravel 8 路由定义命名空间
- javascript - 使用 React Hooks,使用“useState”和“useEffect”,有没有办法渲染一个状态,直到状态有一个值?