【转载】在Android上使用HTML5观看视频 | 维奇@HOME

标签: HTML5 技术博文 | 发表时间:2012-07-07 00:56 | 作者:HTML5研究小组
出处:http://www.mhtml5.com

我希望让更多的人能够了解一种将取代 Flash 的东西,所以我尽量写的比较直白——即使程序员的逻辑在常人看来已经完全属于“异类”了。@_@

Adobe 公司放弃移动平台的 Flash 支持已经是板上钉钉的事了,Google Play 的 Flash 插件也会在 8 月份下架,这在一定程度上也会促进 HTML5 的发展和普及,因此我个人还是对 Adobe 的做法十分赞赏的。

当然,仍然有不少不明真相的用户对失去 Flash 伤心不已。之所以说“不明真相”,因为用户自然是不了解软件行业的技术更迭。对于普遍使用第 4 代 HTML 技术组织网页的时代,Flash 的出现着实丰富了用户的体验,让人眼前一亮。Web 前段开发者需要把 Flash 嵌入 HTML 代码中,而编写 Flash 时则是另一套语法代码,这是不协调、也是不便于维护的。加之 HTML 中的元素与 Flash 内容进行交互也是一个不可逾越的屏障。就好像一个做了隆鼻手术的美女,表面看上去很美,可是她自身的皮肤组织与这个鼻子磨合的并不好。另外,Flash 也是有名的耗电大户,这在靠电池支撑的移动平台尤为伤不起,而 HTML5 则要省电的多。这些问题一定程度上催生了 HTML5,当然,HTML4 的问题还远不止的这些。

在 UC、海豚等国产浏览器的宣传语中,支持 HTML5 已然成为了宣传重点,对 HTML5 的支持情况也成了浏览器是否优秀的重要标准。Flash 在逐渐被边缘化直到被完全替代。Google 推出的浏览器 Chrome for Android 就率先做了表率:不支持 Flash,并且其对 HTML5 特性的支持十分优秀,它仅能运行在搭载 Android 4.0 以上的设备(在我看来,4.0 才是 Android 真正该有的样子,Google 在这个版本才真正找到方向。扯远了~)。自从这款浏览器面世以来,我就一直在使用,它的清爽与快速让我爱不释手(我在 Windows 和 Ubuntu 都在使用 Chrome,顺便也推荐给各位)。

那么如何利用 Chrome for Android 观看在线视频呢?

Apple 的已故 CEO 乔布斯一直认为 Flash 是垃圾,所以 iPhone、iPad 从来就不支持 Flash,为此国内的视频网站(优酷、土豆、酷6、新浪等)对广大 iOS 用户进行了优化,当判断用户是通过 iOS 设备访问时,即切换到用 HTML5 实现的页面,HTML5 技术会调用系统中的视频播放器播放视频。目前 Android 的主流版本还在 2.3,该版本是支持 Flash 的,所以如果通过 Android 设备访问时,并未强制使用 HTML5,如果未安装 Flash,便会提示“找不到插件”之类的问题而无法观看视频。那么我们如果把 Android 伪装成 iOS 设备,即可无需 Flash 插件播放视频了。

要知道如何伪装,首先需要简单了解视频网站是如何判断我们手中的设备的。在我们访问一个 Web 页面的时候,浏览器会将一段称为“User-agent”的信息传送给网站,User-agent 按照一定的格式组织了操作系统以及浏览器类型和版本等等信息,例如下面这段即是 iPhone 的 User-agent:

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3

视频网站根据此 User-agent 可以知道访问者来正使用 iPhone。你可以使用任意的浏览器访问  http://www.whatsmyuseragent.com/ 来察看你当前的 User-agent。

下面我们只需要修改浏览器的默认 User-agent 即可。这里以修改 Chrome for Android 举例,其他浏览器请自行搜索修改方法。在手机的 /data/local 目录下新建文件”chrome-command-line”(需 Root,如何 Root 手机请自行搜索),内容为chrome 的命令行字串,例如伪装成 iPhone 的 User-agent,可以写:

chrome --user-agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3"

然后结束掉 Chrome for Android 进程,重新运行,访问  http://www.whatsmyuseragent.com/ 看看是不是已经变成 iPhone 的 User-agent 了。至此就可以免去 Flash 插件看优酷、土豆、酷6等视频了。

对于日常使用来说,这已经足够了,但对于我这种喜欢折腾的人来说,这还有些美中不足——User-agent 中还包含了所使用的界面排版引擎、浏览器内核版本等等信息,完全替换成 iPhone 的 User-agent 还是和 Chrome 本身的信息略有些差异。经过我的测试发现其实只要 User-agent 中包含“iPhone”或“iPad”一词,都可以被识别为 iOS 设备。我通过访问  http://www.whatsmyuseragent.com/ 记录下 Chrome for Android 原始的 User-agent 为:

Mozilla/5.0 (Linux; Android 4.1; Galaxy Nexus Build/JRN84D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

然后根据其略作修改,将”chrome-command-line”文件内容改为:

chrome --user-agent="Mozilla/5.0 (Linux; Android 4.1; Galaxy Nexus Build/JRN84D, compatible iPhone) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"

可以看到我在中间加入了“compatible iPhone”,由于这段 User-agent 包含了“iPhone”自然就可以“兼容iPhone”了 :),另外手机型号 Galaxy Nexus,系统 Android 4.1,Build Tag 是 JRN84D,这些信息都完整保留了下来。

更多关于 Chrome for Android 的 User-agent 可以参考这里: https://developers.google.com/chrome/mobile/docs/user-agent

至此,我的问题就完美解决了。

最后,也许有人还会问网页 Flash 游戏怎么办?虽然我不用手机玩 Flash 游戏,我想答案只能是等待游戏开发者提供 HTML5 的版本。处在 2 种技术的切换时期,这种情况在所难免。当然,还没有必要现在就去担心这些,毕竟你仍可以使用手中的 Android 2.2/2.3/4.0 配合 Flash继续“偷菜”(看视频还是使用 HTML5 为好,别忘了“省电”)。又或者等到 HTML5 普及了,会出现大量更加优秀的游戏,你就会忘了你那片儿菜地了……

 

 


本文固定链接:  http://weachy.tk/2012/07/06/275.html | 维奇@HOME

该日志由   于2012年07月06日发表在  ChromePhone 分类下

相关 [android html5 视频] 推荐:

【转载】在Android上使用HTML5观看视频 | 维奇@HOME

- - HTML5研究小组
我希望让更多的人能够了解一种将取代 Flash 的东西,所以我尽量写的比较直白——即使程序员的逻辑在常人看来已经完全属于“异类”了. Adobe 公司放弃移动平台的 Flash 支持已经是板上钉钉的事了,Google Play 的 Flash 插件也会在 8 月份下架,这在一定程度上也会促进 HTML5 的发展和普及,因此我个人还是对 Adobe 的做法十分赞赏的.

HTML5视频发展状况

- - HTML5研究小组
注:这篇报告来自 LongTail Video. HTML5已经进入了在线视频市场,这是一件激 动人心的事情,同时也对工业开发者提出了挑战. 随着HTML5规范和各种浏览器的不断改变,LongTail Video花费了大量的时间来弄清楚这一技术的本质,并且在各种浏览器以及设备上测试了播放效果,然后针对HTML5播放效果对产品进行了优化.

HTML5 视频直播(一)

- - JerryQu 的小站
前不久工作中遇到了在移动 WEB 端直播视频的需求,研究了一下相关技术,记录一下. 目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前就只有 HLS 能用,我们重点介绍它. HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS,高版本 Android 也增加了对 HLS 的支持.

搅搅 HTML5 视频这滩浑水(2)HTML5 视频标准

- Richard - Apple4.us
HTML5 标准制定时曾经考虑过指定一种视频格式(包括视频编码、音频编码、容器格式)作为标准的一部分,所有浏览器厂商都必须实现. 理想的视频格式应该具有如下特性:. 解码容易,且要有硬件解码器以供处理能力不足的便携设备使用. 当时考虑过的两个组合是 Theora 视频编码、Vorbis 音频编码、Ogg 容器格式,或者 H.264/AAC/MP4(此时 Google 尚未收购 On2).

Android视频录制

- - CSDN博客移动开发推荐文章
/*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/. this.surfaceView.getHolder().setFixedSize(320, 240);//设置分辨率. mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频.

【转载】HTML5的视频格式之争

- - HTML5研究小组
HTML5的视频格式之争. 你可能听说过,HTML5支持直接播放视频. 但是,你可能不知道的是,这背后涉及到复杂的视频格式之争,甚至还牵涉到所有的电子影像设备. 如果你想知道答案,请不要错过下面这篇精彩的文章. 它是我迄今读到的最清晰易懂的解说. 原文网址: http://ruthsarian.wordpress.com/2010/05/05/the-elephant-in-html5s-room/.

Firefox 实现 HTML5 音视频 GStreamer 后端

- - LinuxTOY
得益于 GStreamer 后端的实现,未来 Firefox 将可以使用系统内置解码器实现 HTML5 音视频的解码和播放工作. 根据 该 Mozilla Bugzilla 上的追踪,目前用于 HTML5 音视频标签播放的 GStreamer 后端支持已经实现并且得到合并许可. 此举意味着 Firefox 将可以通过 GStreamer 作为中介,使用操作系统已经具备的解码包完成 HTML5 音视频的处理工作,带来了如下好处:.

HTML5视频播放器总结

- - mo-Android
目前HTML5的各种应用在如火如荼的进行着,大家都在不断的尝试,尽管目前还没有优秀的产品出现,但是目前各方面的应用产品在层出不穷. 而我一直关注的HTML5视频播放这一块,应该说在国外是很火的,很多公司或者个人都在这推出自己的HTML5 视频播放器,详细的说明大家看下面这张图片:. 以上HTML5视频播放器,我也是使用了其中的2-3个,感觉比较好的还是Video JS,对我们开发人员来说很方便,网站有详细的文档说明,以及扩展说明等,播放器制作的很不错,很具有商业价值,下面给大家看一个我们使用的样例:.

html5选择摄像头 android - Enable rear camera with HTML5 - Stack Overflow

- -

HTML5能否取代Android和iOS应用?

- - CSS库
大量新生移动设备的兴起,改变了互联网的未来. 在技术的发展上, HTML5会取代App应用吗. 在HTML5规范中,已经加入了相机、磁力罗盘、GPS信息的支持. 很多新兴浏览器也已经开始支持这些新特性. 能否用一个统一的HTML5来替代 android和 ios并行开发的双重成本呢. 以下译自Michael Mahemoff的一篇文章,详细分析了HTML5能否取代Android和iOS应用程序.