一、哪些浏览器对HTML5支持的更好??
chrome、firefox、safari、opera等主流浏览器都支持
360、qq、猎豹等国产大多都用的是chromium内核,与chrome标准一致,也都支持,国产双核浏览器用极速模式。
微软的新浏览器edge是支持的,ie11也是ie最后一个版本是支持的,其它版本的ie就要差些了。
所以,基本上所有主流浏览器,只要是最新版本,都支持。
二、五大主流浏览器内核
一个完整的浏览器包含浏览器内核和浏览器的外壳,浏览器内核又可以分为两部分:渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎。
浏览器的构成:一般由7个模块组成:User Interface(用户界面)、Browser engine(浏览器引擎)、Rendering engine(渲染引擎)、Networking(网络)、JavaScript Interpreter(js解释器)、UI Backend(UI后端)、Date Persistence(数据持久化存储)
用户界面:包括地址栏、后退/前进按钮、书签目录等,也就是所看到的除了页面显示窗口之外的其他部分。
浏览器引擎:可以在用户面和渲染引擎之间传送指令或在客户端本地缓存中读写数据等,是浏览器中各个部分之间相互通信的核心。
渲染引擎:解析DOM文档和CSS规则并将内容排版到浏览器中显示有样式的界面,也有人称之为排版引擎,我们常说的浏览器内核主要指的就是渲染引擎。
网络:用来完成网络调用或资源下载的模块。
UI后端:用来绘制基本的浏览器窗口内控件,如输入框、按钮、单选按钮等,根据浏览器不同绘制的视觉效果也不同,但功能都是一样的。
JS解释器:用来解释执行JS脚本的模块,如V8引擎,JavaScriptCore
数据存储:浏览器在硬盘中保存cookie、localStorage等各种数据,可通过浏览器引擎提供的API进行调用。
主流浏览器的内核
Trident(IE内核)
Trident内核代表产品Internet Explorer,是微软开发的一种排版引擎。
Gecko(Firefox 火狐)
Gecko内核代表作品Mozilla FirefoxGecko是一套开放源代码的,以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。
Webkit(Safari)
苹果公司自己的内核,也是Safari浏览器的内核。Webkit内核代表作品Safari 、Chromewebkit是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,
主要用于Mac IOS系统,特点在于源码结构清晰,渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示,主要代表作品有Safari和Google。
Presto(Opera)
Presto内核代表作品OperaPresto是由OperaSoftware开发的浏览器排版引擎,供Opera7.0及以上使用,它取代了旧版Opera4至6版本使用的Elektra排版引擎,包括加入动态功能,
例如网页或其部分可随着DOM及Script语法的事件而重新排版。
Blink(Chrome)
有Google和Opera Software挨罚的浏览器排版引擎,2013年4月发布,现在Chrome内核是Blink。Blink其实是webkit的分支,大部分国产浏览器最新版都采用Blink内核。
移动端的浏览器内核主要说的是系统内置浏览器的内核。
目前移动设备浏览器上常用的内核有Webkit、Blink、Trident、Gecko,其中苹果iOS平台主要是Webkit,Android4.4之前Android系统浏览器的内核是Webkit,Android4.4之后使用Blink,Windows Phone8系统浏览器内核是Trident。
三、IE内核的浏览器有哪些??
IE内核浏览器推荐世界之窗(The World)、傲游浏览器(Maxthon)、腾讯TT(Tencent Traveler)、爱帆浏览器(Avant Browser)、360安全浏览器(360SE)、搜狗浏览器(兼容模式)(Sougou Explorer)、瑞影浏览器(Rayying)。
浏览器最核心的部分是渲染引擎(Rendering Engine),我们一般习惯称之为“浏览器内核”,其负责解析网页语法(如标准通用标记语言的子集HTML、JavaScript)并渲染、展示网页。因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解析也有所不同,因此同一网页在不同的内核浏览器里的渲染、展示效果也可能不同。
四、哪些浏览器支持html5,并简述各个浏览器特点?
任何主流浏览器在当前的时间节点下一定都支持HTML5。
主流浏览器所指的是有独立内核的浏览器,而不是看其用户量。因此主流浏览器包括:Chrome InternetExplorer Firefox Opera safair,而市面上其他的常用浏览器(例如QQ浏览器,360等,也均使用以上浏览器厂家的内核)。
针对于不同浏览器的特点本人不敢保证作答一定准确,仅从自身的认知和日常体验给出些许说明。Chrome浏览器其内容解析速度最快性能最好,但因某些原因在国内使用功能受限,例如Google账户密码同步,历史记录同步等。Opera体积小非常精悍,但是利用率并不非常高。InternetExplorer(IE)基本上各方面在现今来说都没啥优势,但是有很多银行的加密插件等都是基于IE进行开发,因此在某些特别的场景下忍着恶心不得不用。FireFox在国内可正常使用其云服务,老牌,插件丰富稳定,使用云服务的时候分为国内的通行证和国际服务,注意区分。
五、iOS中H264的编码原理 - 音视频总结
举个栗子, 如果摄像头对着一个蜗牛拍摄, 1秒钟之内, 这个蜗牛发生的变化是非常少的, 摄像机一般一秒钟会抓取几十帧的数据, 我们看这个蜗牛这一秒钟的几十帧数据, 会感觉每一帧都几乎是一样的, 蜗牛在一秒钟里的变化实在太小了, 以至于肉眼几乎感觉不到有变化.
像动画, 是25帧/s, 一般视频文件都是在30帧/s左右, 对于一些要求比较高的, 对动作的精细有要求, 想要捕捉到完整的动作的, 高级的摄像机一般是60帧/s, 比如100米短跑时拍摄运动员的动作. 而对于像蜗牛这样一组帧它的变化很小, 为了压缩数据变小, 可以将第一帧完整的保存下来, 作为后面的帧的依赖, 这样后面的第二帧存储第一帧的差异就可以了, 以此类推. 如果没有这个关键帧, 后面要解码数据是完成不了的, 所以I帧特别关键.
视频的第一帧会被作为关键帧保存下来. 而后面的帧会向前依赖, 也就是第二帧依赖于第一帧, 后面所有的帧只存储前一帧的差异. 这样就能将数据大大的减少, 从而达到一个高压缩率的效果.
如果在一秒钟内, 有30帧, 这30帧可以画成一组, 如果摄像机或者镜头它一分钟内都没有发生变化, 那也可以把这一分钟内所有的帧画做一组.
什么叫一组帧?
就是一个I帧到下一个I帧, 这一组的数据, 包括B帧/P帧, 我们称为GOF.
SPS/PPS 实际上就是存储 GOP 的参数, 存储着GOP的相关信息, 没有这些信息, 我们的解码工作就无法顺利做好
SPS(Sequence Parameter Set, 序列参数集)存放帧数, 参考帧数目, 解码图像尺寸, 帧场编码模式选择标识等.
PPS(Picture Parameter Set, 图像参数集), 存放熵编码模式选择标识, 片组数目, 初始量化参数和去方块滤波系数调整标识等(与图像相关的信息)
在一组帧之前我们首先收到的是SPS/PPS数据, 如果没有这2组数据我们是无法解码的, 如果我们在解码时发生错误, 首先要检查是否有SPS/PPS, 如果没有, 可能是因为没有发送过来, 或者是发送过程中丢失了. SPS/PPS数据, 我们也将其归类到I帧, 这2组数据是绝对不能丢的.
我们在观看视频时, 如果遇到花屏/卡顿现象, 一般都是GOF的问题
所以总结起来就是, 花屏是因为丢失了数据. 而卡顿是因为怕花屏, 而主动把数据丢了, 从而产生了卡顿.
x264/x265
x264是目前使用最广泛的编解码器, 它的性能非常优秀, 如果使用软编的话, 基本上都是用的x264. x265也在走向成熟, 在直播系统里, 因为它的压缩比非常高, 所以占用的CPU也非常高, 就目前来说, 在直播系统里是不可用的. 在点播系统里可以尝试使用x265了.
openH264
相对于X264性能要低一些, 但是它有一个特点, 支持SVC视频技术, 就是将视频分层传输, 将视频数据分为小中大三个部分, 如果网络差, 就只传输最小的内核视频帧. 如果网络稍微好点就将中间的一层也传输过去, 如果网络很好, 就把全部的三层都传输过去, 然后可以将三层数据叠加在一起就形成了原来的视频. 如果只有最小的内核层, 只能看到图像的大概信息, 这是不清晰的, 每加一层就清晰一些.
缺点是SVC在移动端不是一个标准, 很多硬件都不支持, 如果使用SVC就不能使用硬编码, 只能使用软编码, 这对CPU的消耗相当大, 就会造成手机容易发烫、耗电等问题.
vp8/vp9
由谷歌退出, vp8对应的是x264, vp9对应的是x265.
H.265是一种新的视频压缩标准, 核心价值是在原来带宽条件下传输更高质量的网络视频. 只需要原先一半左右的带宽即可播放相同质量的视频.
H.265编码后的结果是我们想要的, 但是在编码过程中, H.265比H.264的复杂度高很多, 所需要功耗更大, 耗时更长, 也就对设备要求更高, 而且还有目前的主流浏览器不支持H.265, 这就导致了即使H.265有着很大的优势, 也没有取代H.264成为主流.
六、什么浏览器最好用
谷歌浏览器、火狐浏览器
目前认为最好用的浏览器,简洁、无广告、流畅。使用自研的内核。
一个不错的浏览器,流畅、简洁。可以登录账号,同步相关数据。比如,收藏夹、浏览记录。使用自研的内核。