Webkit中HTML5 Video的实现分析(六) - Safari视频机制分析

简介: Safari中的视频相关操作封装在QuickTime Plugin里面,存放于/Library/Internet Plugin目录下。   下图是相关类的class diagram: 其中的QuickTime Plugin是通过已淘汰的Apple之前定义的Webkit Plugin协议来实现的,而不是现在支持的Netscape API的机制。
Safari中的视频相关操作封装在QuickTime Plugin里面,存放于/Library/Internet Plugin目录下。
 
下图是相关类的class diagram:


其中的QuickTime Plugin是通过已淘汰的Apple之前定义的Webkit Plugin协议来实现的,而不是现在支持的Netscape API的机制。
可以参考以下文档:
 
Safari/WebKit 的源代码里仍然有对WebKit Plugin 的支持, 也就是为了视频的插件。

另外Safari并不是通过HTMLMediaElement::platformLayer()提供的CALayer,而是通过Widget::platformWidget()来返回CALayer的。


 
以下是几张时序图帮助理解交互过程:
 
创建过程:



点击play按钮的操作序列:



释放的时序图:



下面是FigPluginView的类图,方便理解它内部的实现:


*最新UML图可以到GitHub中下载。

上一篇:  Webkit中HTML5 Video的实现分析(五) - WebKit中视频事件的传递


转载请注明出处: http://blog.csdn.net/horkychen


目录
相关文章
|
14天前
|
Web App开发 数据采集 移动开发
提升Selenium在Chrome上的HTML5视频捕获效果的五个方法
在Selenium中优化Chrome的HTML5视频捕获涉及更新Chrome和ChromeDriver、配置浏览器选项、使用代理IP、调整加载策略及确保安装了正确编解码器。例如,更新驱动程序,添加如`--autoplay-policy`和`--proxy-server`的命令行参数,使用代理以防止被封,设置页面加载策略为'eager',并安装必要的编解码器来确保视频播放。代码示例展示了如何集成这些优化措施。
提升Selenium在Chrome上的HTML5视频捕获效果的五个方法
|
23天前
|
前端开发 搜索推荐 UED
HTML表单提交的几种常用方式及其优缺点分析
HTML表单提交的几种常用方式及其优缺点分析
|
22天前
|
Web App开发 存储 JavaScript
HTML一个简单的视频提速写法构思
HTML一个简单的视频提速写法构思
|
22天前
|
Web App开发 移动开发 HTML5
文本,兼容性-----HTML5新增音频和视频标签
文本,兼容性-----HTML5新增音频和视频标签
|
2月前
|
移动开发 前端开发 JavaScript
如何实时准确地从HTML5视频中截取当前播放画面
如何实时准确地从HTML5视频中截取当前播放画面
118 4
|
2月前
|
移动开发 JavaScript 前端开发
APP的HTML5页面经过运营商网络被植入手机管家问题及分析,解决方案见新文章
APP的HTML5页面经过运营商网络被植入手机管家问题及分析,解决方案见新文章
32 0
|
2月前
|
移动开发 搜索推荐 JavaScript
【专栏:HTML 进阶篇】HTML5 新特性探索:视频、音频与画布
【4月更文挑战第30天】HTML5的视频、音频和画布元素为网页开发注入新活力。视频和音频元素提供跨平台兼容的播放体验,支持自适应和交互控制;画布则允许动态图形和动画创作。在线视频网站、音乐播放器和游戏开发广泛应用这些特性。尽管面临版权和性能挑战,HTML5持续发展,为网页创新带来更多可能。拥抱这些新特性,创造更丰富的网页世界!
|
16天前
|
前端开发 UED
使用HTML和CSS创建响应式表格
在网页设计中,表格是一种组织和展示数据的有效方式。本文档将指导你如何使用HTML和CSS来创建一个既美观又响应式的表格,以便在不同设备和屏幕尺寸上都能良好显示。我们将涵盖基础的HTML表格结构,样式美化以及如何实现响应式布局,使得表格内容在小屏设备上也能清晰阅读
59 0
|
21天前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法