在播放媒体文件(视频)而不转码视频文件时,任何人都可以解释一下可用外部字幕(.srt 文件)的 DLNA 标准传递信息是否可行。
如果可能的话,任何人都可以告诉我DLNA标准中的解释吗?或者如何实施?
我正在尝试使用 platinium 库来实现这一点,但不知道该怎么做或者这是否可能。
谢谢
可能的?是的。标准化?不,可靠吗?绝对不。在 UPnP 或 DLNA 中都没有关于如何正确制作字幕的规范。这最终是一个问题,即 DMR 如何希望 DMS 提供字幕,因此这在很大程度上取决于您要使用的特定 DMR。一些 DMR 需要在媒体描述中使用特定的非标准 DIDL-Lite 字段(三星电视似乎正在推广<sec:CaptionInfoEx>
),一些 DMR 对有点标准的<res protocolInfo="http-get:*:text/srt:*">
. 当然,这两种情况都包含您的 SRT 文件的 URL。您的 DMR 完全有可能根本不支持字幕。UPnP 或 DLNA 中都没有这样的要求(我已经说过了吗?)。
所以 Platinum 没有任何开箱即用的字幕支持。您可以<res>
使用现有逻辑创建标签 - 设置PLT_ProtocolInfo
ContentType 为 text/srt 并分配给PLT_MediaItemResource
您m_Uri
的 SRT 文件(由您的 DMS 提供)。
添加一个新字段更加棘手,PLT_Didl
有一组固定的字段,您必须扩展这些字段,这些字段PLT_MediaObject::ToDidl
在其操作中非常固定。与框架其余部分的可见设计工作相比,我认为 Platinum 的这一部分有些仓促。
在任何情况下,您的 DMS 还必须准备好充当字幕的 HTTP 服务器,这意味着将权力赋予您作为PLT_MediaServerDelegate::ProcessFileRequest
.