
chromium
文章平均质量分 84
三雷科技
国产操作系统下的QT项目实战,密码算法应用研发,网络安全应用研发。
coco2dx4.0游戏开发,塔防游戏开发实战。
展开
-
Chromium 改造实录:8K 来了
此外,Chromium 自身还使用 FFmpeg 做 demuxer,对于编解码格式的判断则是由 FFmpeg 来完成,所以,对于视频解码的支持还涉及到 FFmpeg 的能力。非常欣慰的是, FFmpeg 已经合入了中国开发者的提交,支持 AVS3,对 HEVC 和 AV1 的支持更不在话下,VVC 也有支持方案,不愧为最全能的媒体库。首先取决于媒体框架的解码能力,其次,需要解除 Chromium 中的限制,并增加编码格式的支持,最后,还需要有一个好的网络环境,才能流畅的播放一部 8K 视频。转载 2023-12-11 07:00:00 · 99 阅读 · 0 评论 -
Chromium 改造实录:增加 MPEG TS 格式支持
这个 config 下的文件组织有些讲究,最上一层是 branding,也就是我们在 args.gn 下定义的 ffmpeg_branding 选项,默认是 Chromiium。TS 容器的 mime type 为 video/mp2t,只有开启了 enable_mse_mpeg2ts_stream_parser,才会加入对 TS 容器的处理。需要说明的是,我测试使用的 TS 流,内部视频采用的 H264 编码,如果采用其他格式编码,修改的过程会有所不同,但思路类似。没有关系,将缺的代码文件加入编译即可。转载 2023-12-10 07:00:00 · 308 阅读 · 0 评论 -
选择最新 Chromium,支持 H264 / H265
在做了充分的准备后,我信心满满的向着 H265 8K 视频解码这个目标发起进攻,然而,正打算动手的时候,我突然发现,别说支持 H265 ,自编的 Chromium WebView 连 H264 解码都不支持。在梳理了一遍又一遍的流程,跟踪调试了一遍又一遍的代码,两眼发花。最后需要说明一下,不能简单说 Chromium 105 之后的版本支持 H264 / H265,在 Android 上,还取决于 MediaCodec 组件的解码能力,Chromium 只是把上面的流程走通了,但实际解码还是依赖底层硬件。转载 2023-12-09 07:00:00 · 441 阅读 · 0 评论 -
Chromium HTML Video 媒体播放代码梳理
从 third_party/blink/ 中的 blink::HTMLMediaElement 开始,经过 content::MediaFactory 短暂跳转后到达 media::WebMediaPlayerImpl, media::WebMediaPlayerImpl 实现了 third_party/blink/public/platform/media/ 中定义的 blink:: WebMediaPlayer。这需要一点一点,耐心阅读源码。更多的时候,遇到问题,找到问题相关的源码,解决问题。转载 2023-12-05 13:34:07 · 272 阅读 · 0 评论 -
Chromium 改造实录:国标AVS2 & AVS3 支持起来
距离今年的五一长假只有几个小时了,一般重大节日也是项目的里程碑(milestone)节点,我也赶在五一长假之前完成了中国标准 AVS2 和 AVS3 在 Chromium 浏览器上的支持工作。有句话,“一流企业做标准,二流企业做品牌,三流企业做产品”。在这一点上,中国企业一向做得不够,在很多重要的标准制定上没有话语权,但这种情况慢慢在改进。比如在音视频领域,中国也推出了自己的超高清标准方案:AVS2 和 AVS3。转载 2023-12-05 13:30:22 · 516 阅读 · 0 评论 -
Intro to Mojo & Services
【代码】Intro to Mojo & Services。转载 2022-11-15 11:33:10 · 190 阅读 · 0 评论 -
URLRequest的生存期 ( chromium 网络一)
本文档概述了浏览器的较低网络层。浏览器中的联网范围从fetch()之类的高级Javascript API,一直到在套接字上写入加密字节。本文档假设URL请求通过浏览器的网络服务进行调解,并重点关注网络服务下的所有层,包括集成的关键点。它特别针对新接触Chrome网络栈的人,但对于那些可能是该栈某些部分的专家,但对其他组件基本不熟悉的团队成员来说,它也应该很有用。本文首先介绍了另一个进程发出的基本请求如何通过网络堆栈工作,然后讨论了各种组件是如何插入的。如果您注意到本文档中有任何不准确之处或者有更好地翻译 2022-05-27 14:27:17 · 699 阅读 · 0 评论 -
chromium网络栈架构分析
概述网络栈是一个主要用于资源获取的单线程跨平台库。它的主要接口是URLRequest和URLRequestContext。URLRequest,如其名称所示,表示对URL的请求。URLRequestContext包含完成URL请求所需的所有关联上下文,如Cookie、主机解析器、代理解析器、缓存等。许多URLRequest对象可能共享相同的URLRequestContext。大多数网络对象都不是线程安全的,尽管磁盘缓存可以使用专用线程,并且一些组件(主机解析、证书验证等)可能使用未连接的工作线程。由于它原创 2022-05-24 17:23:34 · 1203 阅读 · 3 评论 -
Google V8 引擎 原理详解
Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早被开发用以嵌入到 Google 的开源浏览器 Chrome 中,但是 V8 是一个可以独立的模块,完全可以嵌入您自己的应用,著名的 Node.js( 一个异步的服务器框架,可以在服务端使用 JavaScript 写出高效的网络服务器 ) 就是基于 V8 引擎的。和其他 JavaScript原创 2020-11-19 11:19:48 · 2011 阅读 · 1 评论 -
Intro to Mojo &; Services
Intro to Mojo & Services文章目录Intro to Mojo & ServicesOverviewMojo TerminologyExample: Defining a New Frame InterfaceDefining the InterfaceCreating the PipeSending a MessageSending a `PendingReceiver` to the BrowserImplementing the InterfaceServices原创 2021-10-21 19:33:57 · 382 阅读 · 0 评论 -
chrome的Views概述
Views OverviewThis document is an overview of Views concepts, terminology, and architecture.本文档概述了视图、概念、术语和体系结构。The target audience is engineers using or working on Views.目标受众是使用或处理视图的工程师.General Things概述Points in this document are written as (x,y),原创 2021-10-21 15:28:28 · 785 阅读 · 0 评论 -
chrome事件类结构图
@startumlclass event{ + CancelModeEvent* AsCancelModeEvent() + GestureEvent* AsGestureEvent() + KeyEvent* AsKeyEvent() + LocatedEvent* AsLocatedEvent() + MouseEvent* AsMouseEvent() + MouseWheelEvent* AsMouseWheelEvent() + ScrollEvent.原创 2021-10-21 13:27:26 · 190 阅读 · 0 评论 -
Chromium源码目录结构简介
High-level overviewChromium is separated into two main parts (excluding other libraries): the browser and the renderer (which includes Blink, the web engine). The browser is the main process and represents all the UI and I/O. The renderer is the (often) p原创 2021-10-20 10:29:16 · 2201 阅读 · 0 评论 -
Chromium开发-web页面数如何在chromium中显示的
How Chromium Displays Web PagesConceptual application layersWebKitThe WebKit portThe WebKit glueThe render processThreads in the rendererThe browser processLow-level browser process objectsHigh-level browser process objectsIllustrative examplesLife of a "s原创 2021-10-19 22:25:39 · 410 阅读 · 0 评论 -
前端JS之数据类型
今天说的是JS中的数据类型分为两种:简单的值(原始值)和复杂的数据结构(大多指对象)。{1}值包括布尔值,数字,字符,还有两个特殊值,null(空值)和uundefined(为定义)。{2}对象包括狭义的对象,数组和函数typeof运算符以字符串的形式返回6种基本类型之一~把null归为Objiect类型,而不是作为一种特殊类型(null)的值~把function(){}归为Function的类型。即把函数视为一种独立的数据类型,而不是Object的一种特殊子类由于null值返回类型为Obj原创 2021-08-19 10:16:37 · 184 阅读 · 0 评论 -
chromium Sandbox design
OverviewSecurity is one of the most important goals for Chromium. The key to security is understanding: we can only truly secure a system if we fully understand its behaviors with respect to the combination of all possible inputs in all possible states. F转载 2021-07-23 09:00:18 · 418 阅读 · 0 评论 -
Sandbox FAQ
Sandbox FAQWhat is the sandbox?What does and doesn't it protect against?Is the sandbox like what you get with the Java VM?How can you do this for C++ code if there is no virtual machine?Doesn't Vista have similar functionality?Isn't that a lot of work?Shou原创 2021-07-23 08:53:23 · 350 阅读 · 0 评论 -
x11 windowx 第一章: Xlib基本介绍
目录1.1. Overview of the X Window System1.2. Errors1.3. Standard Header Files1.4. Generic Values and Types1.5. Naming and Argument Conventions within Xlib1.6. Programming Considerations1.7. Character Sets and Encodings1.8. Formatting Conventi原创 2020-12-09 15:36:13 · 2906 阅读 · 0 评论 -
Chromium 基础库使用说明(入门必看)
目录Chromium 基础库概览容器类型LinkedListMRUCache智能指针scoped_ptrScopedVectorWeakPtrscoped_refptrlinked_ptr回调函数线程相关线程和消息循环线程本地存储线程同步字串处理文件操作PathServiceFile计时器日志和调试日志输出调用跟踪调用堆栈系统监控内存监控Android 相关ScopedJavaLocalRef,原创 2020-11-26 10:07:29 · 2508 阅读 · 0 评论 -
Mojo C++ Bindings API
Overview Getting Started Interfaces Basic Usage Remote and PendingReceiver Creating Interface Pipes Binding a Pending Receiver Receiving Responses Connection Errors A Note About Endpoint Lifetime and Callbacks Best practices for dealing wi翻译 2020-11-13 17:30:12 · 483 阅读 · 0 评论 -
Chromium内核原理之网络栈
1.内核网络栈概述网络堆栈主要是单线程跨平台库,主要用于资源获取。它的主要接口是URLRequest和URLRequestContext。 URLRequest,如其名称所示,表示对URL的请求。 URLRequestContext包含完成URL请求所需的所有关联上下文,例如cookie,主机解析器,代理解析器,缓存等。许多URLRequest对象可以共享相同的URLRequestContext。尽管磁盘缓存可以使用专用线程,但是大多数网络对象都不是线程安全的,并且几个组件(主机解析,证书验证等)可能使转载 2020-11-10 09:06:58 · 1454 阅读 · 0 评论