[英]LG TV UPnP/DLNA error illegal mime-type
我正在尝试编写一个在我的 LG 智能电视上播放视频文件的 python 脚本。 到目前为止,我已经设置了可以流式传输音频和视频的minidlna服务器。 它适用于同一局域网上的其他设备。 然后我有以下代码可以在我的电视上播放一些东西:
#import requests
#import sys
def upload_file(location, filename, controlURL):
headers = {
'Content-Type': 'text/xml; charset=utf-8',
'SOAPAction': '"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"',
}
#<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sec="http://www.sec.co.kr/"><item id="0" parentID="-1" restricted="0"><dc:title>Video</dc:title><dc:creator>Anonymous</dc:creator><upnp:class>object.item.videoItem</upnp:class><res protocolInfo="http-get:*:video/mp4:*" sec:URIType="public">"http://' + location + '/' + filename + '"</res></item></DIDL-Lite>
data = '<?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://' + location + '/' + filename + ']]></CurrentURI><CurrentURIMetaData></CurrentURIMetaData></u:SetAVTransportURI></s:Body></s:Envelope>'
print "[*] Sending request"
try:
response = requests.post(controlURL, headers=headers, data=data, timeout=2)
except Exception as ex:
print "[x] Request failed!"
sys.exit(ex)
print response.status_code
print response.text
upload_file("192.168.22.217:8200", "MediaItems/22.mp4", "http://192.168.22.198:1498/AVTransport/8167b8fc-bf78-da40-9070-5663d70a8a40/control.xml")
无论是否有请求中的元数据,它都不起作用。 我可以访问192.168.22.217:8200/MediaItems/22.mp4
并且它可以正常播放视频并且 controlURL 是一个有效的(我实际上得到的有点不同,但这超出了这个问题的范围)。
电视成功联系了 minidlna 服务器(我可以从以 HTTP 200 响应并开始提供文件的日志中看到它),但电视不播放任何内容并以 HTTP 500 响应:
<?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>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>714</errorCode>
<errorDescription>Illegal MIME-type</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
为什么会发生? video/mp4
是有效的 MIME 类型。 我还尝试了其他几种 MIME 类型和文件格式,每次都得到相同的结果。
电视:LG 43UJ635V
笔记本电脑:MacBook Pro
minidlnad 版本: minidlnad -V -> Version 1.1.5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.