
开发人员指南
本节是对库兰托自身发展的全面指导。本文的目标读者是任何想参与为Kurento项目编写代码,或想了解该项目的源代码是如何构造的人。
如果您希望编写使用Kurento的应用程序,那么您应该阅读Writing Kurento应用程序。
目录
- 开发人员指南
- 介绍
- 代码库
- 开发101
- Libraries
- Debian软件包
- Build Tools
- Build from sources
- Install required tools
- Add Kurento repository
- Download KMS
- Install build dependencies
- Build and run KMS
- KMS Unit Tests
- Clean up your system
- Install debugging symbols
- Working on a forked library
- Full cycle
- In-place linking
- Debian packaging
- Dependency resolution: to repo or not to repo
- Package generation script
- How-To
- How to add or update external libraries
- How to add new fork libraries
- How to work with API changes
- Known problems
Introduction-介绍
这是KMS使用的工具和技术的概述:
- 代码是用C语言和C++语言编写的。
- 代码风格深受Gtk和GStreamer项目的影响。
- CMake是首选的构建工具,用于构建所有模块。
- 源代码在几个GitHub存储库中进行版本控制。
- 官方支持的平台是Ubuntu的长期支持(LTS)版本:Ubuntu 16.04(Xenial)和Ubuntu 18.04(Bionic)(仅64位)。
- GStreamer多媒体框架位于Kurento媒体服务器的核心。
- 除了GStreamer,KMS还使用其他库,如boost、jsoncpp、libnice等。
Code repositories-代码库
Kurento源代码存储在几个GitHub存储库中,网址为https://GitHub.com/Kurento。这些存储库中的每一个都有特定的用途,通常包含构建同名共享库所需的代码。
构成Kurento媒体服务器的所有回购之间关系的概述:

所有向图依赖项
由于依赖关系图不是严格的线性关系,因此有多种可能的方法将所有模块排序到线性依赖关系列表中;本节提供了一个可能的排序列表,该列表将在所有Kurento文档中一致使用。
Fork repositories-分叉存储库:
KMS依赖于几个开源库,其中主要的库是GStreamer。有时,这些库显示需要调整的特定行为,以便对KMS有用;有时,存在已修复的错误,但由于任何原因,上游源代码不接受修补程序。在这些情况下,虽然功能请求和/或补丁提交的正式路径仍在尝试中,但我们已经创建了受影响库的分支。
- jsoncpp
- libsrtp
- openh264
- usrsctp
- gstreamer (produces libgstreamer1.5)
- gst-plugins-base
- gst-plugins-good
- gst-plugins-bad
- gst-plugins-ugly
- gst-libav
- openwebrtc-gst-plugins
- libnice (produces gstreamer1.0-nice, gstreamer1.5-nice)
Main repositories-主要存储库
- kurento-module-creator:它是一个代码生成工具,用于生成插件的代码脚手架。此代码包括KMS代码和Kurento客户端代码。它主要有Java代码。
- km

本文档为Kurento项目的开发者提供全面指南,涵盖代码库结构、构建工具、依赖库管理及源码构建流程。适合希望参与项目或理解源码构造的开发者。
最低0.47元/天 解锁文章
852

被折叠的 条评论
为什么被折叠?



