Platinum UPnP SDK 使用教程
1. 项目介绍
Platinum UPnP SDK 是一个开源的 UPnP(通用即插即用)框架,由 plutinosoft 公司开发。该 SDK 包含两个主要模块:
- Neptune:一个 C++ 运行时库。
- Platinum:一个模块化的 UPnP 框架,依赖于 Neptune。
Platinum 提供了构建 UPnP 设备和服务的基础设施,支持多种平台,包括 Windows、OSX、iOS、Linux 等。它不仅提供了核心的 UPnP 功能,还包含了一些示例应用程序,帮助开发者快速上手。
2. 项目快速启动
2.1 克隆项目
首先,克隆 Platinum 项目到本地:
git clone https://github.com/plutinosoft/Platinum.git
cd Platinum
2.2 构建项目
2.2.1 Windows
在 Windows 上,使用 Visual Studio 2010 打开解决方案文件:
cd Build\Targets\x86-microsoft-win32-vs2010
Platinum.sln
2.2.2 OSX 和 iOS
在 OSX 和 iOS 上,首先安装 Carthage:
brew update
brew install carthage
然后构建 Neptune 和 Platinum 框架:
carthage bootstrap
carthage build --no-skip-current
构建完成后,框架文件可以在 Carthage/Build 文件夹中找到。
2.2.3 Linux 和 Cygwin
在 Linux 和 Cygwin 上,使用 SCons 构建:
brew update
brew install scons
git submodule update --init
scons target=[TARGET] build_config=[Debug|Release]
构建输出将在 Build/Targets/[TARGET]/[Debug|Release] 文件夹中。
3. 应用案例和最佳实践
3.1 文件媒体服务器测试
FileMediaServerTest 是一个 UPnP MediaServer 的示例,允许 UPnP ControlPoint 浏览目录内容并流式传输文件。
FileMediaServerTest [-f <friendly_name>] <path>
-f:可选的 UPnP 服务器友好名称。<path>:本地路径以提供服务。
3.2 媒体渲染器测试
MediaRendererTest 是一个 UPnP MediaRenderer 的示例,可以由 UPnP ControlPoint 控制。
MediaRendererTest [-f <friendly_name>]
-f:可选的 UPnP 服务器友好名称。
3.3 媒体爬虫
MediaCrawler 是一个组合的 UPnP MediaServer 和 ControlPoint,它从网络上的其他 MediaServer 中浏览内容,并将它们聚合在一个视图中。
MediaCrawler
3.4 微媒体控制器
MicroMediaController 是一个同步的 ControlPoint,允许你使用类似 shell 的界面浏览任何 MediaServer。
MicroMediaController
4. 典型生态项目
4.1 MediaConnect
MediaConnect 是 FileMediaServerTest 的一个派生实现,专门用于使内容对 Xbox 360 可见。
4.2 MediaServerCocoaTest
MediaServerCocoaTest 是一个基本的 Cocoa 测试服务器应用程序,展示了如何在 Mac OSX 上使用 Platinum 框架。
4.3 语言绑定
Platinum 还提供了多种语言的绑定,包括:
- Objective-C:在
Source/Extras/ObjectiveC目录下。 - C++/CLR:在
Source/Extras/Managed目录下。 - Android Java/JNI:在
Source/Platform/Android目录下。
通过这些绑定,开发者可以在不同的平台上使用 Platinum SDK,进一步扩展其应用场景。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0205- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
MarkFlowy一款 AI Markdown 编辑器TSX01