# castengine_dlna **Repository Path**: openharmony-sig/castengine_dlna ## Basic Information - **Project Name**: castengine_dlna - **Description**: 暂无描述 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony-sig/castengine_dlna - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2023-07-17 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [castengine_dlna](https://gitcode.com/openharmony-sig/castengine_dlna)。| ⚠️ This repository has been archived. For the new address, please visit [castengine_dlna](https://gitcode.com/openharmony-sig/castengine_dlna).** > --- > # DMR(Digital Media Renderer) - [简介](#e05dce83) - [逻辑架构](#x5H5N) - [模块职责](#b4Dwq) - [目录结构](#767fa455) - [使用说明](#S3D8i) - [相关仓](#55ac5bcd) ## 简介 DMR 是 DLNA 的其中一个功能模块,即 Digital Media Renderer。主要用于被其他 DMC 设备发现后,接受 DMC 的控制指令和订阅服务,并通过相关指令,对 DMR 所在设备进行媒体播放的控制、音量控制、状态回传等操作。 ## 逻辑架构 ![](figures/dlna_slink.png) ## 模块职责 | **模块名称** | **职责** | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | DMR Controller | DMR 控制模块,负责 DMR 管理模块的创建和监听器的注册,以及事件回传。 | | DMR Manager | DMR 管理模块,负责创建 DMR 设备、设备的信息修改,以及控制事件的注册。 | | DMR Listener | DMR 监听器模块,负责控制指令的整合,并回传事件到 DMR Controller。 | | Connection Manager Service | 连接管理服务,对设备之间的 stream 关系进行建模。为控制点提供如下功能:a. 将相应的设备配置为源设备(或者渲染设备) b. 发现(查找)当前网络中正在进行传输的信息 c. 帮助设备之间建立(断开)链接 | | AVTransport | 负责处理媒体播放控制指令,回传播放状态给控制点。 | | Rendering Control Service | 提供一组控制接口用于控制设备的各项参数,比如音量修改、图像参数修改。 | | WebServer | 提供设备支持的服务的具体接口功能列表以及状态参数。 | ## 目录结构 仓目录结构如下: /foundation/CastEngine/castengine_cast_framework # 音视频投播管理服务框架业务代码 ├── clinet # 客户端实现 ├── common # 公共引用 ├── etc # SA描述 ├── interfaces # 接口文件 ├── sa_profile # SA profile文件 ├── service # 服务端实现 /src/session/src/dlna #dlna模块代码 │ ├── include # 公共类型模块,监听器定义 │ ├── src # │ │ ├──common # 应用内部接口 │ │ ├──dmr # DMR Service模块 │ │ ├──dlna_controller.cpp # DMR控制模块 │ │ ├──dmr_listener.cpp # DMR监听器模块 │ │ ├──dmr_manager.cpp # DMR管理模块 │ ├── BUILD.gn # 编译入口 ├── LICENSE # 证书文件 ├── BUILD.gn # 编译入口 ├── test # 测试代码 └── bundle.json # 部件描述文件 ## 使用说明 DMR 作为一个被投端,允许被多个设备发现,但同一时间只能接受一个投屏设备的连接和指令控制。设备连接后,可以进行播放、暂停、上/下一集、快进/快退、音量加减、SEEK 等操作 ## 编译说明 - 需要把代码放到如下目录 foundation/CastEngine/castengine_cast_framework - 加入到编译系统中, - 最后可以跑test里的dlnatest ## 相关仓 [third_party_libupnp](https://gitee.com/openharmony-sig/third_party_libupnp)