videojs:使用quality selecton以块形式下载/流式传输视频
我想创建一个视频流网站,比如youtube,我一直坚持两个要求,我不确定videojs:使用quality selecton以块形式下载/流式传输视频,video,video-streaming,video.js,http-live-streaming,Video,Video Streaming,Video.js,Http Live Streaming,我想创建一个视频流网站,比如youtube,我一直坚持两个要求,我不确定videojs是否解决了这两个要求 假设有一个1小时的视频,我希望视频被下载并分块传输,而不是整个文件。我看到像HLS和DASH这样的流媒体格式解决了这个问题(查看chrome的网络选项卡,我看到视频播放时下载的块)。但另一方面,我认为它阻止了我的第二个要求 不同品质的选择。我在查看演示和文档时发现,视频的质量似乎是由某些策略自动选择的(可以覆盖),但不能由用户具体选择 我在想也许我没有正确地理解事情?浏览器是否足够聪明,能
videojs
是否解决了这两个要求
我在想也许我没有正确地理解事情?浏览器是否足够聪明,能够单独满足我的第一个要求?您可以通过以下方式满足第二个要求
//initilaize your player
var player = videojs(element_id);
player.ready(function () {
player.src({
src: hls_url,
type: 'application/x-mpegURL'
});
player.play();
});
player.on('loadedmetadata', function () {
var _hls = player.hls;
//get quality list
var quality_list = _hls.representations(); //load it to your custom dropdown
//you can change quality using below (it will select quality greater than 720)
_hls.representations().forEach(function (rep) {
//you can change the condition as per your dropdown selection
if (rep.width > 720) {
rep.enabled(true); //select this quality
} else {
rep.enabled(false); //disable this quality
}
});
})
不。浏览器没有内置的功能。您必须使用播放机,或者自己编写。要在DASH中实现此功能,您可以参考以下链接,其中包含了实现您的需求的所有方法。