bbe*_*ord 14 javascript html5 video-streaming html5-video
我有一个1080p视频,我<video>在我的页面上的HTML5 标签中显示.
是否有一种简单的(ish)javascript方法来检测带宽,因此如果用户连接速度太慢而无法流式传输视频,我可以将视频切换为质量较低的版本?与YouTube的"自动"视频尺寸选择器背后的逻辑类似.
根据您使用的播放器和编码平台,您可以对视频使用HLS编码.HLS代表HTTP Live Streaming,这是Apple开发的用于主要解决此问题的协议(以及其他).
HLS基本上将您的视频文件分成多个小文件,因此可以使用简单的Web服务器对其进行"伪"流式处理.使用HLS,您还可以以多种分辨率进行编码,并且播放器可能能够切换到更低或更高的带宽.
唯一的缺点是大多数玩家使用Flash来播放HLS编码的内容.在这里查看它:http://www.flashls.org/latest/examples/chromeless/
这是流媒体的HLS演示:http://demos.flowplayer.org/basics/hls.html
这是VideoJS的一个插件:https: //github.com/videojs/videojs-contrib-hls
要在HLS中进行编码,您可以免费使用ffmpeg并将文件上传到您的服务器:https: //www.ffmpeg.org/ffmpeg-formats.html#hls-1
或者,您可以使用基于云的解决方案,如AWS Transcoder或Brightcove https://aws.amazon.com/elastictranscoder/
我讨厌这个功能!这通常是错误的,如果我想等 2 小时来加载我的视频,那我就等吧!如果不向用户发送大型虚拟文件并测量到达用户所需的时间,则没有可靠的方法可以准确测量这一点。
您应该依靠用户输入(并正确记住它!也与 YouTube 不同!)。
简而言之,不要以 YouTube 为例。