HTML 5 <video> 标签与 Flash 视频,其优缺点是什么?

117

重要更新

这个问题是9年前提出的。当时它有意义,但现在已经没有了。Flash正在退出历史舞台;<video>支持已经无处不在,包括移动设备。几乎所有Flash可以做到的事情,HTML现在也可以了。HTML赢了,Flash输了。如果您在考虑如何在网页中嵌入视频,请使用<video>,不要再考虑第二次。此问题仅为保留历史价值而存在。

原始问题

看起来新的<video>标签这些天很火,特别是自Firefox开始支持以来。关于这个的新闻在各种博客上纷纷涌现,每个人都似乎很兴奋。但是呢?

我搜索了很多,但始终找不到任何比老旧的Flash视频更好的东西。事实上,我只看到了一些问题:

  • 所有浏览器开始支持它还需要一些时间,大多数人升级的时间更长;
  • Flash已经可用,每个人都有它;
  • 您可以将Flash与任何想要控制回放的花哨UI结合使用。我认为<video>标签也将是可控的(可能通过JavaScript),但它能全屏吗?

我唯一看到的使用<video>标签的两个优点是:

  • 它更具“语义性” - 对于包括我在内的许多人来说可能都不重要;
  • 它不依赖于单一商业第三方实体(Adobe) - 我也不认为这是一个强制转换的充分原因,因为已经有免费播放器和视频转换器可用,并且Adobe没有以任何方式阻碍整个过程(甚至与其利益相悖)。

所以...这有什么大不了的?

添加:

好吧,还有一个可能是正面因素...支持移动设备。不过很难确定。我的脑海中闪过了很多关于这个主题的想法:

  • 有多少移动设备实际上能够以良好的速度解码视频,无论是Flash还是其他格式?
  • 主流移动设备何时获得<video>支持?即使通过更新可用,有多少人真正会这样做?
  • 有多少人在其移动电话上查看网页上的视频?

至于语义部分-我明白搜索引擎现在可能能够更好地检测视频,但是...他们究竟会对它们做什么呢?好吧,他们知道页面中有一个视频。然后呢?他们不能索引视频!我希望在这里有更多的论据。

新增:

刚刚想到另一个缺点。这将开启一个全新的跨浏览器不兼容领域。在这方面,HTML和CSS已经相当混乱了。Flash至少在任何地方都是一样的。但只要有至少一个主要的浏览器供应商反对<video>标签(有人可以说“Internet Explorer”吗?),我们就有了一个好新的研究领域。

新增:

还有一个优点。更多的竞争=更多的创新。这是真的。给Adobe带来更多的竞争可能会迫使他们在Flash至今一直存在缺陷的领域改进。Linux似乎是其中一个弱点,被许多人引用。


29
应该设为社区维基。 - SilentGhost
1
同意,听起来应该是一个社区维基。 - Gab Royer
4
关于您提到的“缺点”之一 - 危险并不在于IE不支持<video>。危险在于IE、FF、Opera、Chrome和Safari以稍微不同的方式支持<video>,就像CSS一样。 :( - fenomas
Vilx:DivX/XviD存在许可证/专利问题,这将阻止它们“获胜”。关键是它们不能自动捆绑某些法律风险的编解码器,因此像FFMpeg这样的东西完全不可能。这些公司太富有和高调了,无法在没有因专利纠纷而被起诉的情况下使用可疑的编解码器。 - aehlke
Flash已经可用,每个人都有它 - 但我的Linux机器上没有。 - alternative
显示剩余15条评论
31个回答

1

我对这个方案的看法:

  • 它正在迎合当前网络实际使用的HTML标准。
  • 似乎更容易/更好地让移动设备支持视频/音频标签,而不是将Flash移植到设备上。
  • Ogg是一个开放的标准,而Adobe控制着Flash。
  • 我已经在一些地方看到人们提出了解决方案,可以进行回退,意思是如果你的浏览器不支持视频/音频标签,它将使用Flash。
  • 与标准HTML元素和JavaScript的交互更加容易。

我最大的问题是Ogg在压缩和质量方面稍有落后。但我想象它正在得到改进。更重要的是,如果更多的人开始采用它,更多的人可能会加入Ogg的工作,使其变得更好。

竞争也是关键,因为没有主要的竞争对手迫使Adobe真正做任何事情以改进Flash。因此,Adobe可以在网络视频内容市场上控制局面。


Ogg和Flash不能直接进行比较。 - Stu Thompson
@Stu,这个问题是关于“Flash视频”,而不是所有的Flash。 - TRiG
@TRiG,Ben的回答不仅仅是关于“Flash视频”的。 - Stu Thompson

1

你可以今天就使用Flash...这是最现实的方式来触达全尺寸的受众。

(FD: 我在Adobe工作)


3
嗯...至少他很诚实...本可以假装自己是W3C的人...:-D...而且他说得很有道理... - back2dos
1
对我来说,现在只使用HTML5似乎是错误的。然而,不提供HTML5作为一种选择,则会妨碍进步,因为<video>显然是正确的方向。 - Matchu

1
我相信这将摧毁Flash,因为它作为一个开源标准在iPhone、Android和其他手机上的支持可以快速实现,同时还有桌面操作系统的支持。OGG格式让我可以通过常规的http连接跳转到视频文件的任意位置。如果允许,我可以右键保存该文件,共享和传输这些文件也会更容易。作为“适当”的标记,它可以被成千上万使用专用设备访问互联网的用户导航。作为“适当”的DOM元素,它可以与JavaScript通信,使其能够完全与页面内容交互,最后,微软一直假装忽视即将到来的标准,同时推广他们的专有解决方案,当用户需求达到高峰时,他们便会全力以赴并推出一个实现来保护他们的用户群体。Flash一直是网络视频的唯一选择,但不久之后就不再是了,它本身是一款优秀的软件,并且我认为它会保持一定的地位,但对于视频来说,它只是一种“唯一选择”。

0

我最近在为我正在建立的网站阅读相关内容。目前我选择了Flash视频,因为发布时间很快。此外,我们使用共享托管环境,所以所有视频转换都必须在上传视频之前完成。我不想要求客户上传每个视频的两个版本。

但是,最终我确实想切换到开放式视频。它看起来非常酷。我看过一个演示,它使用JavaScript在视频上叠加字幕,在没有JavaScript的情况下优雅地降级为视频下方的文本副本。(我想那是在A List Apart上。)Mozilla也有一些有趣的演示。http://arstechnica.com/open-source/news/2009/05/google-dailymotion-endorse-html-5-and-standards-based-video.ars


0

Flash由一家公司控制。该公司可以决定Flash未来的发展方向,其他人都无法影响。例如,他们(Adobe)突然决定对使用Flash收取许可费用,那么数百万依赖它的网站会发生什么呢?

我们需要采取行动,现在就是时候了。我们必须使用开放标准,我们非常需要它。这是唯一使“标签”对世界至关重要的事情。

(对于Adobe是否收取Flash许可费用可能看起来不太现实,但这并不重要。我的观点是他们掌控着一切。另一件可能发生的事情是Adobe决定取消Flash。想象一下,如果没有“标签”,那么会发生什么。)


0

似乎没有人涉及纯技术规格。根据《Flash视频和HTML 5视频性能分析研究》[1],使用有线网络通过Flash视频流传输是获得高视频FPS和较少CPU使用的最佳方式。该研究还根据连接类型和计算机进行了详细分析。

[1]

Ilias, I. S. H. C., Munisamy, S. B., & Rahman, N. A. A. (2013, January). Flash视频和HTML 5视频性能分析研究. In Proceedings of the 7th International Conference on Ubiquitous Information Management and Communication (p. 30). ACM.


有趣,但是...那是一篇六年前的论文。在HTML视频无处不在的今天,它仍然有效吗? - Vilx-

0

我的理解是,<object>标签的重要之处在于它是一个开放标准。当只有一个供应商可以实现Flash时,你就得依赖他们来实现/移植到新平台、浏览器,甚至是浏览器版本。

兴奋点都在那个层面上,而不是在实现细节上。担心哪个技术更优秀有点无关紧要,就像关注法西斯政府让火车准时运行的能力一样。


1
Flash可能已经被移植到许多平台,但正如Alex Basson已经指出的那样:非Windows上的Flash性能通常很差。不知道这如何符合他们的商业利益。 - Arjan
2
@Vilx:你的评论让我感觉像是“Massa一直对我非常好”。然而,并不是我们所有人都能住在大房子里。如果你对自己的处境感到舒适,并且不介意Adobe有一天可能会抛弃你,那就没问题了。但是我们中的一些人不想这样生活。 - T.E.D.
1
@Ted:将专有软件与法西斯主义和奴隶制相比较是非常不必要的。自由软件和专有软件在技术世界中都有各自的角色,如果以为技术优越性无关紧要,这并不符合自由/开源软件的最佳利益。 - fenomas
1
@Vilx:如果Adobe决定不再支持您的业务所依赖的某些内容,您会遇到什么情况?如果他们运气不佳,破产了怎么办?如果他们收购了您的竞争对手并决定不再向您授权其软件,那又会发生什么?为何要将自己置于必须“信任”别人不去损害您的业务的位置呢? - T.E.D.
Adobe让其设备SDK荒废多年,而Opera别无选择,只能在v9成为事实标准时使用Flash 7发布Wii版本(Adobe最近重新启动了其移动SDK,因此目前情况有所改善,但不能保证他们不会再次放弃它)。 - Kornel
显示剩余3条评论

0

使用一些HTML 5功能会很不错...在未来的5-10年内...

我们仍然有太多的访问者使用Internet Explorer 6,不能忽视他们,甚至在只测试IE7+页面之前还需要相当长的时间...


+1,我认为这是一个相关的观点,为什么要支持<video>,当它只会为少数用户提供服务呢?对于Chrome/Firefox 3.5的Javascript引擎周围的所有炒作也是一样,在实践中毫无价值,因为Web应用程序必须足够快以在IE上运行,从而取消了通过编译后的Javascript获得的任何性能增益。两者都将在5年后成为好选择,这是乐观的看法。 - JulianR
将视频标签降级为Flash以适应IE用户并不难(请参见我的回答中的链接)。 - hannson
除了Firefox和IE,还有更多的浏览器。在90年代末编写HTML的人都知道许多只在一个浏览器中工作的标签需要避免使用。 - fenomas
1
也许你可以看一下 http://code.google.com/p/video4all/ (“将<video>标签支持带到不支持它的古老浏览器!”) - Ms2ger

0

一个缺点是当前的HTML 5规范由于浏览器供应商的分歧而无法就单一编解码器达成一致。

来自下面的文章:

“在公开和私下的大量讨论之后,关于HTML 5中音频和视频编解码器的情况,我不情愿地得出结论:没有适合所有供应商都愿意实现和发布的编解码器。”

浏览器供应商争吵

最终,即使您使用了视频标签,您的视频编解码器也可能无法在所有浏览器中得到支持,即使它们支持该标签。

正如其他人所提到的,这可能并不会带来任何真正的问题,但我认为必须提供同一文件的多个版本肯定是负面的。


13
错误。编解码器要求被取消了,而不是视频标签。目前看来,似乎最终每个人都会支持Ogg Theora - Apple是唯一支持<video>的供应商中的例外,如果他们坚持这样做,我想他们在市场上将无法生存。 - Quentin
这基本上不是什么问题。请参见[Daring Fireball][http://daringfireball.net/2009/07/ffmpeg2theora]:这意味着服务器必须以两种形式存储视频并使两种备选方案都可用。 - Seth Johnson
1
多种质量和编解码器的编码正迅速成为现实。在人们还满足于256kbps的Real流和单色液晶手机的时代,这是可以接受的。现在我们有了各种不同的质量和设备——网络、iPod、手机,很快还会有电视。对于将内容编码成多种格式/质量而抱怨的原因是薄弱的。而且,我相信,如果想要一个最低公共分母编解码器,那么可以使用h.263,这个编解码器很可能无处不在。只有新的、性感的编解码器才是问题所在。 - Stu Thompson
规范不应该决定编解码器。我不记得 <img> 标签除了行业标准的 JPG、GIF 和最近的 PNG 之外有任何这样的要求。我可以想象在未来 10 年中,这三种图像格式中的一两种将会过时,当更好的格式被引入时。视频编解码器也是如此。 - hannson
@Hannson:并非如此……所有浏览器对img标签的实现并不普遍支持所有图像格式。我鼓励您查看此链接以获取详细信息:http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support - Stu Thompson

0

我认为大部分的答案都能概括为:Flash主要是为大众市场而设计的,因此它提供了覆盖大多数市场的最简单的方式,但是它在覆盖不常见和新兴平台上有所不足(如不稳定的Linux和没有iPhone)。这基本上就是Flash从一开始就存在的问题。这几乎是一项专有软件和开源软件如何不同(并相互补充)的案例研究。

另一方面,我认为大多数答案严重低估了编解码器的角色。有一个主要的原因,为什么Flash视频今天统治了网络:那就是它是发布单个视频版本并期望超过一半的受众都可以观看的唯一方法。尽管视频标签看起来设计得很好,以便将多个源文件与用户安装的编解码器匹配,但仍然很难知道需要多少编解码器才能涵盖多少受众,也无法预测人们是否会升级到新的编解码器。Flash视频具有更多已知的量,并且可以合理地预期大多数受众的升级。

我也认为大多数答案中过于强调了性能的角度。Flash确实使用比我拥有的任何其他播放器都更多的CPU,但它也启动更快——数量级别的启动速度。当我遇到一个嵌入MPG的网页时,我的浏览器会被冻结15秒以上,而QuickTime则需要启动,或者如果已经在运行,则仅需要5秒钟。(几乎和PDF一样糟糕;) )显然,Flash在某些方面的效率不高,但从我的角度来看,在其他方面更有效;就像任何软件解决方案一样,牵涉到权衡取舍。


QuickTime就像Flash一样是另一个浏览器扩展程序。内置于浏览器中的视频标签肯定意味着不会有启动时间。 - Earlz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接