Atitit.多媒体区----web视频格式的选择总结
Atitit.多媒体区----web视频格式的选择总结
4. <object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。 3
1. 因为现阶段不同的浏览器支持的视频格式是不同的
,当我们有多种格式的视频样式的时候,我们会用第二种写法来做兼容调试。一般
的和谷歌的一样,火狐的ogg格式的才可以放,IE7以上版本才支持video标签 +.+
Ogg 格式, MPEG 4格式和 WebM
HTML5,提供了一个video标签。它允许开发者直接将视频嵌入网页,不需要任何第三方插件(比如 Adobe公司的Flash)就能播放。
这当然是一大进步。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
但是,有一个核心问题,却没有得到解决。HTML5没有规定,浏览器到底应该播放哪一种格式的视频。浏览器厂商可以自行选择支持的格式。
一般来说,html5支持的视频格式
一些人对这种情形,感到担忧和不满。他们决定自行开发一种没有专利的视频格式,生成的文件体积要与H.264相仿,画质也要差不多。这种格式就叫做Theora。
Theora的主要开发者,也是Ogg Vorbis([译注] 一种开源的、无专利的音频压缩格式)的开发者
现在,再回过头谈HTML5和它的video标签。
开源浏览器Firefox和KHTML,没有资源去购买H.264许可证。因此,它们原生不支持H.264格式的视频,除非用户自己安装第三方插件。而微软公司和苹果公司则是完全不支持Theora,只支持H.264。
这意味着,未来的HTML5网页,不存在一种通用的视频格式。也就是说,HTML5网站开发者必须为同一个视频,准备两个格式的版本,一个是H.264,另一个是Theora。不过,开发者还有另一个选择,就是要求用户安装第三方插件。
猜猜看,大多数开发者会怎么做?他们很可能什么也不做!保持现状不就行了,让用户继续用Flash观看视频吧,什么麻烦都没了。
2. 各浏览器Html5 Video支持的影音格式:
|
浏览器 | 影音格式 |
Ogg Theora |
MP4(H.264) |
WebM |
|
Microsoft Internet Explorer9 |
╳ |
○ |
╳ |
|
Mozilla Firefox5+ |
○ |
╳ |
○ |
|
Google Chrome13+ |
○ |
○ |
○ |
|
Apple Safari5+ |
╳ |
○ |
╳ |
|
Opera11+ |
○ |
╳ |
○ |
3. 解决方案是什么?Flash和H.264
我想大多数开发者会选择做一个浏览器"嗅探",专门为苹果公司的设备提供一个H.264格式的视频,其余的设备则显示一个Flash播放器,里面也 可以播放这个H.264格式的视频。所以,Flash和H.264成了赢家,
。flash是通过boject或embed嵌入到页面中的,这是最成熟,也是运用最广泛的解决方案,兼容性是最好的。
4. <object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。
object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。
浏览器的对象支持有赖于对象类型。不幸的是,主流浏览器都使用不同的代码来加载相同的对象类型。
而幸运的是,object 对象提供了解决方案。如果未显示 object 元素,就会执行位于 <object> 和 </object> 之间的代码。通过这种方式,我们能够嵌套多个 object 元素(每个对应一个浏览器)。
Refer 参考
HTML5的视频格式之争 - 阮一峰的网络日志.htm
符合web标准的媒体播放器代码 - 蓝色理想.htm
Atitit.多媒体区----web视频格式的选择总结的更多相关文章
- 多媒体开发之视频格式---1080p逐行和1080i隔行
(1)简介 (2)1080p和1080i的区别 (3) ------------------autho:pkf ----------------------time:2015-1-4 (1)简介 (2 ...
- Atitit. 软件---多媒体区---- jmf 2.1.1 Java Media Framework 支持的格式
Atitit. 软件---多媒体区---- jmf 2.1.1 Java Media Framework 支持的格式 JMF,全名为Java Media Framework,它可以在java appl ...
- Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目
Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目 1. Resin4.0.22 1 2. 查看http连接数::Summary>& ...
- 【FFMPEG】各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
目录(?)[-] 编解码学习笔记二codec类型 编解码学习笔记三Mpeg系列Mpeg 1和Mpeg 2 编解码学习笔记四Mpeg系列Mpeg 4 编解码学习笔记五Mpeg系列AAC音频 编解码学习笔 ...
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放 license收费等 ...
- ITU-R BT.1788建议书 对多媒体应用中视频质量的主观评估方法
ITU-R BT.1788建议书 对多媒体应用中视频质量的主观评估方法 (ITU‑R 102/6号研究课题) (2007年) 范围 数字广播系统允许提供多媒体和数据广播应用,包括视频.音频.静态图像. ...
- Atitit Java OpenCV 捕获视频
Atitit Java OpenCV 捕获视频 ,打开一段视频或默认的摄像头 有两种方法,一种是在定义类的时候,一种是用open()方法. 一. 读取视频序列 OpenCV提供了一个简便易用的框架以 ...
- 采用EasyDSS视频点播服务器搭建企业私有化的音视频多媒体、短视频、视频服务网站与管理后台
最近有越来越多的用户咨询关于视频点播的功能,主要需求就是集中于如何搭建专属的私有化视频点播平台: 实现的功能类似于,对应自身拥有的视频文件,需要发布到一个网站,其他用户都可以实现点播观看. 针对于类似 ...
- 主流浏览器HTML5视频格式差异
因最近在研究video.js,现在遇到的问题是在js中设置了swf,但是在ie8下只是显示黑屏并没有播放视频,在网上进行搜索时查到了有关各个浏览器支持哪些视频格式的文章,现在此记录下,方便以后查阅. ...
随机推荐
- 高级需求分析UML建模设计模式笔记
1.REQ->HLR 分析 全系统性质->AD设计 Context,BOM,Conception 2.REQ->LLR 分析 模块分析->DD设计 + 编码 Feature,B ...
- iOS-- UIimageView详解
原文地址: http://blog.csdn.net/djxiaoyu_haha/article/details/40348377 // (1)创建 UIImageView *imageView = ...
- [Android Studio] Android Studio使用教程(二)
以下是本次Google I/O大会发布的IDE Android Studio使用教程第二篇: 在Android Studio使用教程(一)中简要介绍了Android Studio的基本使用,包括安装. ...
- Python学习(五)函数 —— 自定义函数
Python 自定义函数 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print()等.也可以创建用户自定义函数. 函数定义 函数定义的简单规则: 函数代码块以de ...
- C/C++调用java---JNI常用函数
DefineClass jclass DefineClass(JNIEnv *env, jobject loader, const jbyte *buf, jsize bufLen ...
- [转] 菜鸟手脱VMP,附上脱壳过程和自己写的脚本,可跨平台
转载:http://www.52pojie.cn/thread-467703-1-1.html 工作需要要脱一个VMP壳,我是一个从来没接触过脱壳的人.瞬间那种心情遇到的人应该都知道!没办法硬着头皮找 ...
- 自定义ImageView 手势 缩放 滑动 矩阵
功能 初始时大小控制,图片宽或高大于view的,缩小至view大小,否则按原始大小显示双击放大,第一次双击后将图片宽或高放大到view的宽或高的比例再次双击会再在此前基础上放大固定的倍数放大两次后后再 ...
- C++实现委托机制(二)
1.引言: 上一篇文章已经介绍了如何构建一个无参数无返回值的函数指针的委托,这篇文章将对上一文章所述委托进行扩展,使得可以注册任意函数指针,不过再讲篇内容之前先要介绍一下实现这个功能所需要了解的C++ ...
- linux shell scripts:Syntax error: Bad for loop variable
执行脚本报错 #!/bin/bash s=0 for (( i=1; i<=100; i++ )) do s=$(( $s + $i )) done echo $s sh add.sh 报错: ...
- 【云计算】Docker容器不能修改hosts文件怎么解决?
参考资料: http://bbs.csdn.net/topics/390871429 http://tieba.baidu.com/p/4295556808 http://stackoverflow. ...