教年轻 AIoT 创业者如何从 0 到 1 实现AIoT 创业项目 了解详情
写点什么

Google 解释 Chrome 放弃对 H.264 支持的原因

  • 2011-02-18
  • 本文字数:1576 字

    阅读完需:约 5 分钟

上个月 Chrome 团队宣布放弃对H.264 的支持,之后Mike Jazayeri详细解释了做出这个决定的原因所在。

Chrome 团队做出的这个决定引起了巨大的轰动,对其的补充说明也颇让人关注。Mike 认为有必要就 video 标签的未来摆明立场,应该有个“开放的”codec 才能让用户在浏览器中观看视频。开源软件的众多开发者对该立场持积极认可的态度,这包括 Opera 和 Firefox 等浏览器背后的团队,他们只支持 webm。

但内容提供商对这个决定就不那么乐观了。除了桌面浏览器,H.264 还广泛应用于视频内容上。由于它用于蓝光光盘,因此很多设备都有硬件加速的解码器,Intel 最新的芯片甚至还提供了内置于处理器的函数,这样在必要的情况下 CPU 就可以对其提供支持了。不仅如此,智能手机市场也充满了能够解码 H.264 的设备;但却没有硬件支持的 webm 解码器。

一些批评者说 Safari 在计算机浏览器市场中所占的份额为 5% 左右,但真正的技术爆发出现在移动领域而非传统的桌面领域。特别是对于手持产品,电池寿命是相当重要的,因此没有硬件加速的视频根本没法登上大雅之堂。比如说,在 Apple 最新的收益报表中,iPad 与 Mac 之间的比例为 2:1;iPhone/iPad 与 Mac 之间的比例甚至达到了 4:1。桌面 Safari 与移动设备上的 Safari 之间的数量比例为 1:6。综合考虑,2010 年全球计算机市场产能估计有 350m,蓝光设备为 25m,iPhone/iPod/iPad 设备为 100m。这些设备中的 25% 都内置了对 H.264 的支持,这 350m 计算机中的大部分都是 Windows,都在软件或硬件上提供了对 H.264 的支持。

颇具讽刺意味的是 Chrome 团队一直在喊着“开放”,因为“开放”才是好的,每个人都喜欢“开放”。然而,一些批评者指出不仅 Windows 与 OSX 提供了对 H.264 解码的内置支持,Flash 也可以解码 H.264 视频。Flash 并不开放,这是尽人皆知的事实,但 Chrome 也对其提供了良好的支持,此外,其他一些专利技术,如 MP3、AAC、甚至是 GIF 也得到了 Chrome 的支持。

支持者说这种转换将迫使内容提供商对视频采取两种编码方式:webm 与 H.264,但有迹象表明这种情况是不太可能发生的。无论 Chrome 的立场如何,Firefox 与 Opera 目前都只支持 webm,与双重编码相比,内容提供商可以使用 Flash player,因为它能够像其他浏览器在本地处理 H.264 流一样解码同样的 H.264 流。由于该技术已经成熟,因此所需做的只不过是将目前对其他浏览器的检测延伸到 Chrome 上而已。

最后,webm 是开放的,而 H.264 则是封闭的。但实际上,只有两家公司曾开发过 webm,分别是 On2 和 Google,大部分开发都是秘密进行的。webm codec 与规范已经既成事实,在不一致的情况下,其规范通常都会使用参考实现。另一方面,H.264 是由众多公司开发的,他们可以从这个稳定的规范中获益,进而在硬件中实现。虽然 H.264 有专利,但 H.264 规范的开发工作则要比 webm 开放的多。

最近,自由软件基金会开始支持 Google 的 webm 提案,说只有不受专利限制的视频 codec 才是真正免费的(但这种观点要求 webm codec 不能在不知情的情况下侵犯现有专利)。

有些人认为 Google 此举代表了 Web 标准的倒退,因为 H.264 已经被众多的硬件和软件所支持。这些评论表明了人们对自由、不受拘束的 Web 未来的一种误解。只有抛弃被专利所限制的数据格式才能获得真正的自由。

总而言之,Chrome 放弃对 H.264 支持的决定不太可能对 Web 和硬件设备的视频内容提供商造成什么问题。内容提供商还会继续发布 H.264 视频,要么让浏览器直接播放,要么通过 Flash 的包装供那些不支持 H.264 的浏览器播放,就像现在所做的一样。此外,虽然 Chrome 号称开放,号称开源,但实际上它还有几处是封闭且有专利的。Chrome 在 HTML5 中到底支不支持 H.264 问题都不大,因为所有的浏览器都支持H.264 ,要么是本地支持,要么通过Flash 的包装提供支持。

查看英文原文: Google Explains Chrome Dropping H264

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2011-02-18 08:292375
用户头像

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

关注

评论

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

边缘计算场景下Service Mesh的延伸和扩展

华为云原生团队

开源 边缘计算 边缘技术 边缘 边缘云

如何通过 draftjs 设计留言框

全象云低代码

前端 低代码 留言 draftjs 留言框

模块八 - 消息队列存储数据表结构设计

圈圈gor

架构实战营 「架构实战营」

一个关于 += 的谜题

AlwaysBeta

Python 编程语言

模块八作业

hunk

云原生训练营

分享两个常见的搜索算法:BFS和DFS

华为云开发者联盟

算法 DFS 深度优先搜索 BFS 搜索算法

理论+实践,带你掌握动态规划法

华为云开发者联盟

AI 算法 动态规划法 子问题

编写 Kubernetes 部署脚本将 httpserver 部署到 Kubernetes 集群

tom

7大迹象,表明你的DevOps 做对了!

SoFlu软件机器人

互联网人的命运,就是活到30岁都难?

码农参上

人生 互联网人 打工人

80 行代码实现简易 RxJS

CRMEB

郑州轻工业大学——HarmonyOS宠物健康系统的开发分享

HarmonyOS开发者

HarmonyOS 健康检查

java培训:Java类加载机制的理解

@零度

JAVA开发 类加载机制

混合编程:如何用pybind11调用C++

华为云开发者联盟

c++ Python API 混合编程 pybind11

web前端培训:vue3源码中细节知多少

@零度

Vue 前端开发

日志管理系统,多种方式总结

知了一笑

架构 日志 slf4j logback

2022重磅:增长法则-巧用数字营销 突破企业困局

博文视点Broadview

2022年中国智慧医疗行业洞察

易观分析

智慧医疗

第八周作业

cqyanbo

基于STM32+ESP8266+华为云IoT设计的智能门锁

DS小龙哥

2月月更

不能Hook的人生不值得 jsHook和模拟执行

奋飞安全

安全 js hook jshook

模块八作业

马志峰

「架构实战营」

鉴机识变,面向未来|RocketMQ Summit 2022 即将来袭

阿里巴巴云原生

阿里云 开源 RocketMQ 云原生 开源消息队列

史上最强代码自测方法,没有之一!

万俊峰Kevin

微服务 单元测试 go-zero 测试工具 Go 语言

如何写好一个Java类?

蜜糖的代码注释

Java 整洁代码 2月月更

大数据培训:Flink的提交模式

@零度

大数据 flink

基于 Kafka 的实时数仓在搜索的实践应用

vivo互联网技术

kafka 服务器 搜索 数据舱

ModStartCMS模块化建站系统 v3.3.0 组件功能升级,事件触发增强

ModStart开源

消息队列基于Mysql存储表设计

tony

「架构实战营」

喜报!龙蜥操作系统&龙蜥社区双双荣登2021“科创中国”开源创新榜!

OpenAnolis小助手

开源 操作系统 创新

Android技术分享| 【你画我猜】Android 快速实现

anyRTC开发者

音视频 移动开发 互动白板 Andriod 你画我猜

  • 扫码添加小助手
    领取最新资料包
Google解释Chrome放弃对H.264支持的原因_Java_Alex Blewitt_InfoQ精选文章