Home > IT > Can HTML5 Easily Be a Standard?

Can HTML5 Easily Be a Standard?

分享家:Addthis中国

前几天和lulu(曾经是一个Flash程序员)聊天,聊了不少关于Flash,几乎提到的都是Flash的倒退之势。

如今Flash已经出现了明显的疲态,无论是网络还是桌面,Flash的应用已经远远不如前几年那么火爆了。当年红遍网络界的“闪客”现在已经快销声匿迹了;虽然Adobe曾高调发布了Flex和Air,但是并没有在根本上扭转Flash的颓势!目前Flash最火热的Flv所占有的份额,也开始被同样炫却更易实现的Silverlight所蚕食。

当然在网络这种技术间的拉锯战是很平常的,因此在线视频技术的也一样平常。Flv和Silverlight所带来的在线视频,谁胜谁负都需要很久才会稍显端倪。毕竟都有其存在的必要,都不会那么容易被淘汰出历史舞台的。但是眼前有一样东西的出现正在撼动他们所存在的意义,那就是HTML5。

相信只要稍微关注一下IT新闻的朋友们,都会知道HTML5即将成为W3C的标准。针对于HTML5,被提到最多的就是其所支持的一个新标签——Video。

目前为止,我们如果希望在一个不支持HTML5的浏览器中呈现视频就需要通过一些第三方应用、扩展或者外挂来实现,例如:Internet Explorer的ActiveX、Firefox的Extension、Chrome的Extension等等。针对于不同的视频格式,Flv则需要浏览器具有对Flash的支持,WMV则需要浏览器获得Windows Media Video codec的支持,以及Real Media需要的H.264。而我们平时所接触到的视频格式远远不止我前面所列举的这些。

而Video似乎让事情变得简单了很多。我们只要几句HTML代码,无需要任何第三方就可以让支持HTML5的浏览器播放视频了。
拿Mozilla公司的一个页面的源码分析一下。
其中关于Video标签的代码如下(为了方便理解,我做了相应的精简):

<video> 
	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL.ogv" type="video/ogg; codecs=&quot;theora, vorbis&quot;" /> 
	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4" type="video/mp4" /> 
 
	<object type="application/x-shockwave-flash"
              style="width: 640px; height: 388px;"
		data="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video"> 
 
		<param name="movie" value="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video" /> 
		<param name="wmode" value="transparent" /> 
	</object> 
 
</video>

上面的代码其实不难理解。如果该浏览器支持HTML5的话,浏览器就会将该部分渲染出来

<video> 
	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL.ogv" type="video/ogg; codecs=&quot;theora, vorbis&quot;" /> 
	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4" type="video/mp4" /> 
</video>

来实现视频的播放。
如果浏览器不支持HTML5的,浏览器就会渲染此部分

	<object type="application/x-shockwave-flash"
              style="width: 640px; height: 388px;"
		data="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video"> 
 
		<param name="movie" value="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video" /> 
		<param name="wmode" value="transparent" /> 
	</object>

利用Flash来播放视频。
具体Video标签的细节还可以参见该页面

而目前为止,对于普通用户而言在网页体验上是没有什么本质区别的。同时让人们觉得随着HTML5逐渐被支持,在线视频军阀割据的局面就会从此终结,多么欣欣向荣的景象啊~

但是依我看,这些都只是一个假象。从很多方面表明,HTML5的道路并不是很好走的,也许我们甚至可以说,是非常难走的!

  • 浏览器的演变
    显而易见,Video标签的存在使得浏览器不需要任何第三方插件或者扩展的帮助就可以支持视频播放。所以浏览器必然需要自身集成必要的视频解码器。而这必然会引起一些问题。

    1. 安装文件的臃肿
      现在游戏、IDE等等大型软件的安装包已经是G级别了,我们已经习惯了。至少我们上网必备软件之一:浏览器的安装文件并不大。然后现在HTML5的标准化,却需要浏览器集成一些视频解码器,那势必会让浏览器的安装包变得更大。而且随着支持格式的不断增多,安装文件也会无限制的增长。通常我们可以将下好的安装文件保存下来,以便以后重装系统后可以快速的安装上浏览器。但是类似于Chrome安装文件,仅仅是一个很小的installer,每次安装它都需要在线将安装文件下下来,随着浏览器安装文件的越来越大,这对于用户来说真是个噩梦。当然Chrome的确是有离线安装包的,但并不是每个用户都能找到的!

    2. 运行效率
      本来交由第三方插件或者扩展的视频解码工作,现在被浏览器自身所取代了,这必然给浏览器增加了工作负担。如果不尽快出现一个更好的引擎的话,相信浏览器的性能会越来越低。

    3. 版权问题
      到目前为止,我们周围已经出现了很多浏览器了。这已经对网络前端开发人员构成了极大的麻烦。网络前端人员需要在各个浏览器之间的兼容方面浪费很多时间。我认为Video标签将会引起新一轮的兼容性问题。

      在浏览器需要集成各个视频解码器的时候,版权问题就成为了一个新的话题。各大浏览器开发商如果要集成视频解码器,购买是一个必须的流程。而且版权问题所关系到的并不仅仅是钱的问题,还有存在着IT企业之前的利益问题等等。最近关于Video标签引起的版权问题已经层出不穷了,如:Mozilla始终不支持H.264Ogg Theora无法成为标准

      所以本来服务端放一个视频文件,前端页面一个tag就能解决问题,再次变得复杂化了。前面介绍的代码就能看出一些端倪。

      	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL.ogv" type="video/ogg; codecs=&quot;theora, vorbis&quot;" /> 
      	<source src="http://videos.mozilla.org/firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4" type="video/mp4" />

      这段代码中,相同的视频却用了两个源文件。那是因为Mozilla公司无法保证别的开发商开发的浏览器必然能支持ogv格式或者是mp4,所以他添加了两个源,以保证浏览器可以在这两个文件中选择自己能支持的进行播放。也许还会出现更悲剧的情况,就是当某个浏览器对这两种编码的解码器都没有集成,即使他支持HTML5,他也只能运行以下后备Flash来播放视频

      	<object type="application/x-shockwave-flash"
                    style="width: 640px; height: 388px;"
      		data="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video"> 
       
      		<param name="movie" value="/includes/flash/playerWithControls.swf?flv=firefox/3.6/meetfirefox/FF3.6_Screencast_FINAL_640.mp4&amp;autoplay=false&amp;msg=Play%20Video" /> 
      		<param name="wmode" value="transparent" /> 
      	</object>

      本日志写到这,问题已经开始慢慢浮出水面了:HTML5的Video标签真的就能成为在线视频的一种改革了。如果Video标签的格式支持迟迟不能有个标准,又或者各大浏览器开发商依然和过去一样不愿意支持标准。对于网站的搭建反而是有弊无利。

      也许各大网站并不会很积极的去支持HTML5,原因很简单:以Youku为例,不支持HTML5,他可以很自在的仅仅用FLV一种格式的视频,通过Flash调用就搞定了;而为了支持HTML5和该死的浏览器对Video标签(目前看并没有任何浏览器的Video标签支持FLV格式)的不同情况,他既要继续沿用FLV格式结合Flash的方法,还有准备一堆相同视频的ogv、mp4、avi、rmvb文件。何苦呢?HTML5即使W3C认定为标准了,如果他不够好,别人也未必会遵守,XHTML2的夭折都是一个很好的例子。

      也许有人会说,让浏览器使用用户安装在本地系统的解码器。我会反问“如果用户本地也没装相应的解码器呢?”,“就算用户安装了解码器,让浏览器调用本地解码器,那还要Video标签干嘛,直接和以前一样调用扩展或者插件不是更好?”

  • 站点的焦虑
    对于站点的焦虑基本上存在于两个方面一个是保密的问题,另外一个是技术上的问题。

    1. 保密性
      很明显很多视频网站的视频只允许看,并不允许下载的。虽然的确有很多方法可以达到下载这些视频的目的,但是毕竟这是采取方法而实现的。并不是想下就能下的。这就好比,一个windows系统,它有反盗版机制。即使现在盗版横飞这也是避免不了的事情,但至少它有反盗版机制。
      但是如果这些视频网站使用了Video标签之后呢,所以的保密就不存在了。用户只要很简单的右击浏览器,选择查看源代码,视频的地址就呈现出来了。这种对于一些很注重回头率的视频网站简直是当头一棒。这类视频站点怎么可能会傻乎乎地去支持HTML5?当然随着HTML5的进化,也许以后Video标签会支持隐藏路径,但至少现在隐藏不了。

    2. 技术问题
      HTML5现在无论是在定义上还是在技术上的不成熟都会给站点开发人员造成极大的困难。
      以流媒体站点为例,他们播放的视频并非是一个视频文件,而是基于MMS的流媒体。虽然MMS流式输出的还是ASF格式的文件流,但是他并没有一个确切的视频文件URL。以目前来看,Video标签并不能支持这类流媒体协议,这也表明了流媒体依然要依靠插件和扩展来实现!

写到这,又一个废话连篇的日志诞生了。就写到这吧,都是对HTML5的一些分析。随着HTML5的发展和更新,可能会走得更好。当然我也希望他能走得很好,也希望各大浏览器开发商能遵守一下标准,不要让太多的前端开发人员把时间都花在兼容性上了。

PS: 本文仅是对现阶段的HTML5进行了简单分析。HTML5正处于发展阶段,很可能明天本文的一些论断就不成立了!
本文目前的讨论也适用于HTML5另外一个Audio的新标签。

You don't feel like leaving comments? Please leave your palm-print.
懒得留言?那留下您的掌印吧。
Categories: IT Tags: , ,
  1. January 28th, 2010 at 09:23 | #1

    Cow Man!

  2. D
    January 28th, 2010 at 21:10 | #2

    看不懂,就PUSH一下~还帮助学英文单词~

  3. January 28th, 2010 at 21:42 | #3

    @D
    其实太多数都是缩写啦。不是搞IT的没什么好记得

  4. January 28th, 2010 at 23:24 | #4

    @beserenity
    唉,老了老了。想做Cowboy都做不了了

  5. January 30th, 2010 at 01:34 | #5

    用Silverlight的现在也不是很多

  6. January 30th, 2010 at 12:43 | #6

    @疾风
    目前国内用Silverlight的确不多。但是国外很多网站现在都转型为Silverlight了~

  7. January 31st, 2010 at 01:49 | #7

    嘻嘻,说句外行的,其实我很喜欢Flash和Silverlight站,看着真漂亮。
    PS:我就是那种找不到Chrome离线安装包的主儿~~

  8. January 31st, 2010 at 16:44 | #8

    @Junjun
    的确。非常之漂亮。曾经看过他们的一些3D站,太帅了

  9. February 2nd, 2010 at 01:05 | #9

    FF浏览flash 好卡啊~

  10. February 2nd, 2010 at 08:22 | #10

    @疾风
    已经不用FF好久了,我现在基本只用Chrome了

  1. No trackbacks yet.

:D 8) :down: 8O :!: :halo: :evil: :heart: :kiss: :lol: :money: :mrgreen: :x :| :pirate: :?: :oops: :roll: :P :( :) :o :up: :vangry: :twisted: ;) :? :cry:

也许您会觉得ReCAPTCHA验证码很繁琐,会认为他和其他所有的验证码一样让你厌烦。那请点击这里,您会了解到ReCAPTCHA为人类文化的传承做出了多大的贡献。请您也为人类知识的保存和传递也出一份力吧,谢谢!
 
    Posts Nav.