c++ DLNA 字幕显示实现与白金库

标签 c++ subtitle dlna

谁能解释一下在不对视频文件进行转码的情况下播放媒体文件(视频)时是否可以获取可用外部字幕(.srt 文件)的 DLNA 标准传递信息。

如果可能的话,谁能告诉我 DLNA 标准中对此进行了解释的地方?或者如何实现?

我正在尝试使用白金库来实现它,但不知道该怎么做,也不知道这是否可行。

谢谢

最佳答案

可能吗?是的。标准化?不,可靠吗?绝对不。没有关于如何正确制作字幕的规范,无论是在 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_MediaItemResourcem_Uri您的 SRT 文件(由您的 DMS 提供)。

添加新字段比较棘手,PLT_Didl有一组固定的字段,您必须将其与 PLT_MediaObject::ToDidl 一起扩展这在其操作中非常固定。与框架其余部分的可见设计工作相比,我认为 Platinum 的这一部分有些仓促。

无论如何,您的 DMS 还必须准备好充当字幕的 HTTP 服务器,这意味着将权力赋予您拥有的任何类作为 PLT_MediaServerDelegate::ProcessFileRequest 的实现。 .

关于c++ DLNA 字幕显示实现与白金库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305855/

相关文章:

安卓 : DLNA compliant devices

android - 使用 FMOD 将输出保存到文件

ffmpeg 没有在 mkv 上正确刻录 srt 字幕

android - VideoView 上的字幕

youtube - 如何访问可汗学院视频的字幕?

dlna - DLNA 1.5 和 2.0 之间的差异

android - 搜索用于远程播放的 DLNA(Upnp) 媒体渲染器

c++ - vector 中的模板推导失败

c++ - 在 C++ 中删除小数点后的一些数字

C++ Opengl - 使用聚光灯照明