共计 3859 个字符,预计需要花费 10 分钟才能阅读完成。
OpenHarmony third_party 三方库:
- 三方开源库是封装的软件性能,能够防止反复造轮子、晋升软件开发效率。
OpenHarmony 应用的 第三方开源软件 搁置 gitee 仓库中,并命名为third_party+ 第三方开源软件名称,即开源鸿蒙应用的三方库。
OpenHarmony 仓库:https://gitee.com/organizatio…
学术研究和参加开源的联合
- 笔者开始啃论文的时候,欧 sir 教了一种疾速入门的办法:
即在OpenHarmony 官网仓库里搜寻 third_part,而后用搜寻到的关键词放在学术引擎上搜寻相干论文,啃论文排汇精髓后改良这个三方库(提交代码)
$$ $$
笔者刚刚开始接触三方库时有一些问题:
1. 不分明移植具体某个开源技术到 OpenHarmony 中的作用。
2. 有一些 third_party 应用的开源软件波及到了笔者常识盲区,甚至没有听过。
带着这些疑难笔者将学习和理解 OpenHarmony 三方库 third_party 心得分享如 下:
third_party_openh264
OpenH264 是一个反对 H.264 编码与解码的编解码器库。
- H264 视频压缩算法当初无疑是所有视频压缩技术中应用最宽泛,最风行的。
- openh264 的开源,使用者无需再对 H264 的细节做过多的钻研,升高了开发者应用 H264 的老本。
- open264 强相干的论文:简单利用的高级综合—— H.264 视频解码器
OpenHarmony third_party_openh264 仓库:https://gitee.com/openharmony…
openh264 主页:http://www.openh264.org/
社区相干文章:OpenHarmony3.1 H264 视频播放之路
源代码仓库:https://github.com/cisco/open…
third_party_ninja
Ninja 是 Google 的一名程序员推出的重视速度的构建工具,是比 Make 更疾速的小型构建零碎。
- Ninja 绝对于 Makefile 这套工具更重视于编译速度。个别在 Unix/Linux 上的程序通过 make/makefile 来构建编译,而 Ninja 通过将编译工作并行组织,大大提高了构建速度。
OpenHarmony third_party_ninja 仓库:https://gitee.com/openharmony…
github 地址为:https://ninja-build.org/
社区相干文章:浅析鸿蒙中的 Gn 与 Ninja
third_party_gn
GN 是一种元构建零碎,生成 Ninja 构建文件(Ninja build files),具备如下长处:
- 可读性更好,更容易编写和保护。
- 速度更快。
- 批改 GN 文件后,执行 ninja 构建时会自动更新 Ninja 构建文件。
- 更简略的模块依赖,提供了 public_deps, data_deps 等。
- 提供了更好的工具查问模块依赖图谱。
- 更好的调试反对。在 GN 中,只须要一条 print 语句就能够解决。
OpenHarmony third_party_gn 仓库:https://gitee.com/openharmony…
社区相干文章:
鸿蒙构建零碎——gn 官网 FAQ 翻译,以及 gn 官网文档分享
浅析鸿蒙中的 Gn 与 Ninja
third_party_markupsafe
MarkupSafe 实现了一个对字符进行本义的文本对象,因而在 HTML 和 XML 中能够平安地应用它。具备非凡含意的字符将被替换,以便它们显示为理论字符。
OpenHarmony third_party_markupsafe 仓库:https://gitee.com/openharmony…
我的项目主页:https://pypi.org/project/Mark…
third_party_toybox
Toybox 将最常见的 Linux 命令行实用程序组合成一个 BSD 许可的可执行文件
- 该可执行文件简略,玲珑,疾速,符合标准,并且足够弱小,Android 零碎中的很多命令,如 ps,其本质都是 toybox 外面的性能。
OpenHarmony third_party_toybox 仓库:https://gitee.com/openharmony…
社区相干文章:https://ost.51cto.com/posts/9925
我的项目主页 http://landley.net/toybox/ind…
third_party_gstreamer
GStreamer 是一个十分弱小和通用的框架,用于创立流媒体应用程序。GStreamer 框架的许多长处都来自它的模块化:GStreamer 能够无缝地整合新的插件模块。
- GStreamer 最显著的用处是在构建一个播放器上。
1.GStreamer 曾经反对很多格局的文件了, 包含: MP3、Ogg/Vorbis、MPEG-1/2、AVI、Quicktime、mod 等等。
2. 从这个角度看,GStreamer 更象是一个播放器。 - 它次要的长处却是在于: 它的可插入组件可能很不便的接入到任意的管道当中。这个长处使得利用 GStreamer 编写一个万能的可编辑音视频应用程序成为可能。
OpenHarmony third_party_gstreamer 仓库:https://gitee.com/openharmony…
我的项目主页:https://gstreamer.freedesktop…
强相干论文:在 GStreamer 中对多媒体应用程序进行编程
third_party_ffmpeg
FFmpeg 是一套能够用来记录、转换数字音频、视频,并能将其转化为流的开源技术。采纳 LGPL 或 GPL 许可证。
- 有十分弱小的性能包含视频采集性能、视频格式转换、视频抓图、给视频加水印等.
- 它反对最艰涩的古老格局,直到最尖端的格局。
- 它提供了录制、转换以及流化音视频的残缺解决方案。
- 它蕴含了 libavcodec、libavutil、libavformat、libavfilter、libavdevice、libswscale 和 libswresample,能够被应用程序应用。还有 ffmpeg、ffplay 和 ffprobe,能够被终端用户用于转码和播放。
OpenHarmony third_party_ffmpeg 仓库:https://gitee.com/openharmony…
我的项目主页:https://ffmpeg.org/
强相干论文:通用视频编码 (VVC) 规范的残缺的端到端开源工具链
third_party_mtdev
多点触控协定转换库
OpenHarmony third_party_mtdev 仓库:https://gitee.com/openharmony…
我的项目主页:http://bitmath.org/code/mtdev/
third_party_flutter
Flutter 是 Google 开源的利用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台利用。
OpenHarmony third_party_flutter 仓库:https://gitee.com/openharmony…
社区相干文章:原生适配,让 Flutter 在鸿蒙零碎上跑起来
third_party_pulseaudio
PulseAudio(以前叫 Polypaudio)是一个跨平台的、可通过网络工作的声音服务。
- 它是所有相干古代 Linux 发行版的一个组成部分,并被多个供应商用于各种挪动设施。
- 当声音数据在应用程序和硬件之间传递时,它对声音数据执行高级操作。
- 应用 PulseAudio 能够轻松实现将音频传输到其余机器,更改采样格局或通道数或将多个声音混合为一个输出 / 输入之类的操作。
OpenHarmony third_party_pulseaudio 仓库:https://gitee.com/openharmony…
我的项目主页:http://pulseaudio.org/
third_party_gptfdisk
GPT fdisk 是编辑 GPT(Globally Unique Identifier Partition Table)硬盘的文本模式工具集。
- GPT fdisk(由 gdisk、cgdisk、sgdisk 和 fixparts 程序组成)是一组用于 Linux、FreeBSD、macOS 和 Windows 的文本模式分区工具。
- gdisk、cgdisk 和 sgdisk 程序在全局惟一标识符(GUID)分区表(GPT)磁盘上工作,而不是在较旧的(也是更常见的)主疏导记录(MBR)分区表上工作。
- fixparts 程序可修复对 MBR 磁盘的某些类型的损坏,并容许将分区类型从主磁盘更改为逻辑分区类型,反之亦然。
OpenHarmony third_party_gptfdisk 仓库:https://gitee.com/openharmony…
我的项目主页:https://www.rodsbooks.com/gdisk/
third_party_ntfs-3g
NTFS-3G 驱动程序是一个开源的,收费提供的读 / 写 NTFS 驱动程序。
- 该项目标目标是为硬件平台和操作系统开发,质量保证和反对可信赖,功能强大且高性能的解决方案,这些平台和操作系统的用户须要与 NTFS 牢靠地互操作。
OpenHarmony third_party_ntfs-3g 仓库:
https://gitee.com/openharmony…