写点什么

YouTube 转用 HTML5 视频播放器

  • 2015-02-01
  • 本文字数:1047 字

    阅读完需:约 3 分钟

YouTube 在 2010 年 1 月启动了实验性的 HTML5 视频播放器。在经过五年与其他浏览器供应商和社区的合作以后,该公司宣布废弃原有的 Adobe Flash 视频播放器,将 HTML5 视频作为某些特定浏览器的默认播放方式。

在一篇博文中,YouTube 工程经理 Richard Leider 表示自适应比特率(ABR)技术的支持是他们作出这一决定的关键因素:

自适应比特率(ABR)流是为观看视频的用户提供高质量视频体验的关键。它让我们在面对不断变化的网络条件时,可以快速无缝地调整分辨率和比特率。

有争议的 ABR 是基于 HTTP 的动态自适应流,也就是 MPEG-DASH。据微软开放技术的 Ross Gardler 所说,MPEG-DASH降低了缓冲的需求

利用 MPEG-DASH,当出现网络拥塞时,视频流会降低到一个较低的清晰度。当播放器下载接下来几秒将要播放的画面(也就是缓冲)时,这降低了让视频观看者看到一个“暂停”的视频的可能性。当网络拥塞减少时,视频播放器将随之恢复到一个较高质量的播放流。

Leider 声称,实际上“总体来说 ABR 降低缓冲的水平已经超过 50%,在拥塞严重的网络情况下,最多能降低 80%。在 2014 年的一次采访中,Leider 谈到“YouTube 的重放功能在电视、游戏机、机顶盒、Chromecast、桌面浏览器、移动网络 [和] 移动手持设备上都使用了 DASH 技术。”

只有支持 W3C 媒体源扩展(MSE)的浏览器才能使用 MPEG-DASH 重放,这就是为什么 YouTube HTML5 播放器转换仅限于 Chrome,IE 11,Safari 8 和 Firefox 的一些 Beta 版本。据 MSE 规格说明书记载,MSE“允许 JavaScript 动态创建【视频】和【音频】多媒体流,它定义了可以让 JavaScript 传递多媒体片段的对象。”通过 dash.js 的参考实现,Web 开发者可以自行创建启用 DASH 的视频播放器。

其他的视频提供商在 HTML5 支持方面各自处于不同的阶段。Vimeo 在 2014 年 1 月转换至默认HTML5 播放器而Netflix 则在IE11 和Yosemite 上的Safari 中采用HTML5 视频播放器。其他的提供商,如BBC,则仅在不能使用Flash 的平台,如苹果的iOS 平台,实现了HTML5 视频

目前为止,只要浏览器支持,YouTube 都会让用户选择使用HTML5 播放器。现在,用户使用兼容的浏览器访问该页面时,都会看到“在可能的情况下,会使用HTML5 播放器。”这一变化会大幅减少基于Flash 的播放器的使用时间,让Flash 变得越来越无关紧要。

YouTube 推荐开发者在内嵌视频时使用

2015-02-01 23:386397
用户头像

发布了 75 篇内容, 共 65.0 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

一个草根的日常杂碎(10月18日)

刘新吾

随笔杂谈 生活记录 社会百态

mongodb 源码实现、调优、最佳实践系列-百万级代码量mongodb内核源码阅读经验分享

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 源码 中间件 分布式数据库mongodb

利用区块链等技术,加强对交通运输信用信息的归集共享和分析应用

CECBC

区块链 交通运输

甲方日常 35

句子

工作 随笔杂谈 日常

架构师训练营 1 期 -- 第五周作业

曾彪彪

极客大学架构师训练营

数据结构与算法系列之链表操作全集(一)(GO)

书旅

数据结构 数据结构和算法 Go 语言

vivo 商城前端架构升级—前后端分离篇

vivo互联网技术

Java 大前端 前后端分离

typora增强-mac

老菜鸟

Typora

万物互联的IoT时代,柔性电子会大行其道吗?

脑极体

聊聊技术人员如何学习成长

架构精进之路

职业成长

透视HTTPS建造固若金汤的堡垒

码哥字节

https 加密解密 HTTP

央行数字货币离我们还有多远?

CECBC

数字货币

java week1练习

闷骚程序员

分布式下,我想要一致性

架构师修行之路

分布式 微服务

一个草根的日常杂碎(10月20日)

刘新吾

随笔杂谈 生活记录 社会百态

【线上排查实战】AOP切面执行顺序你真的了解吗

Zhendong

spring aop

架构必修:领域边界划分方法--职责驱动设计(RDD)

马迪奥

架构 领域 架构师 RDD

架构训练营学习笔记之五技术选型(一)

于成龙

架构训练营

一个草根的日常杂碎(10月19日)

刘新吾

随笔杂谈 生活记录 社会百态

Flink窗口算子-6-8

小知识点

scala 大数据 flink

Nginx 在运维领域中的应用,看这一篇就够了

华章IT

nginx Linux 运维工程师

游戏数值策划之常用excel函数

吴优秀同学

Excel 游戏

Linux的上手命令

Linux 常用命令

深入java week1-01 字节码、内存、GC、调试工具

闷骚程序员

算法分析关键

Geek_0b8195

算法和数据结构

第四周作业

dll

架构师必备的那些分布式事务解决方案!!

架构师修行之路

分布式 微服务 架构设计

二十、深入Python迭代器和生成器

刘润森

Python

年纪轻轻怎么就卵巢早衰了?试管可帮忙!

Geek_65d32f

试管 三代试管

Go语言内存管理三部曲(三)图解GC算法和垃圾回收原理

网管

内存管理 垃圾回收 GC GC算法 Go 语言

1分钟带你入门 React 公共逻辑抽离HOC...

Leo

大前端 React Hooks HOC Render Props

YouTube转用HTML5视频播放器_JavaScript_David Iffland_InfoQ精选文章