【发布时间】:2021-03-09 02:46:23
【问题描述】:
我可以使用以下内容在 DLNA 服务器上显示 mp4(我知道元信息有误,但请参见下文)。
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
<InstanceID>0</InstanceID>
<CurrentURI><![CDATA[http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4]]></CurrentURI>
<CurrentURIMetaData>
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="sample" parentID="0" restricted="0">
<dc:title>Title of Image</dc:title>
<res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_FLAGS=01700000000000000000000000000000;DLNA.ORG_CI=0;DLNA.ORG_OP=01">
http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
</res>
</item>
</DIDL-Lite>
</CurrentURIMetaData>
</u:SetAVTransportURI>
</s:Body>
</s:Envelope>
然后我使用 curl 命令设置 AvTransport,然后播放,这将在 DLNA 服务器上播放视频。如果我只将 url 更改为 jpeg 图像,这不起作用。没有返回错误,屏幕闪烁并且不显示图像。我已经验证了图像 URL 是否有效,并且可以使用 Cling java 应用程序显示在 DLNA 服务器上,但我想摆脱使用 Cling,因为它不再维护,我不需要为我的应用程序提供完整的 DLNA 实现。
【问题讨论】: