windows media player upnp
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows media player upnp相关的知识,希望对你有一定的参考价值。
upnp协议
wmp的upnp协议是即插即用协议,涉及到dlna协议,在windows10里面可以把文件右键播放到设备,这个时候其实是dlna协议,内容很是丰富,和普通的upnp协议有区别,下面谈上两个不常用的命令
1、订阅 subscribe
SUBSCRIBE /upnphost/udhisapi.dll?event=uuid:2f2d7356-d17c-49cf-876f-5dcbc561265a+urn:upnp-org:serviceId:AVTransport HTTP/1.1
Cache-Control: no-cache
Connection: Close
Pragma: no-cache
User-Agent: Microsoft-Windows/10.0 UPnP/1.0
NT: upnp:event
Callback: <http://192.168.1.144:2869/upnp/eventing/zjzxaybvby>
Timeout: Second-1800
Host: 192.168.1.108:2869
HTTP/1.1 200 OK
Server: Microsoft-Windows/10.0 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
Timeout: Second-300
SID: uuid:222e1e1a-3801-4144-bea5-51f31c458220
Date: Sat, 21 Aug 2021 00:58:59 GMT
Connection: close
Content-Length: 0
订阅信息也是一个callback 信息,需要订阅者准备一个http server地址,windows media player 会向该地址发送响应的信息。比如播放器停止,开始等等的状态,这个是有用的,可以及时了解播放器的状态。
2、GetTransportInfo
GetTransportInfo 也是我不常常碰到的一个,很少用,不过确实可以用,wmp 就会发这个信息
POST /upnphost/udhisapi.dll?control=uuid:2f2d7356-d17c-49cf-876f-5dcbc561265a+urn:upnp-org:serviceId:AVTransport HTTP/1.1
Cache-Control: no-cache
Connection: Close
Pragma: no-cache
Content-Type: text/xml; charset="utf-8"
User-Agent: Microsoft-Windows/10.0 UPnP/1.0 Microsoft-DLNA DLNADOC/1.50
FriendlyName.DLNA.ORG: MS-BXGVPAQUGSSC
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetTransportInfo"
Content-Length: 400
Host: 192.168.1.108:2869
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><m:GetTransportInfo xmlns:m="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="ui4">0</InstanceID></m:GetTransportInfo></SOAP-ENV:Body></SOAP-ENV:Envelope>
HTTP/1.1 200 OK
Content-Length: 652
Content-Type: text/xml; charset="utf-8"
Server: Microsoft-Windows/10.0 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
EXT:
Date: Sat, 21 Aug 2021 06:24:12 GMT
Connection: close
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><m:GetTransportInfoResponse xmlns:m="urn:schemas-upnp-org:service:AVTransport:1"><CurrentTransportState xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="string">STOPPED</CurrentTransportState><CurrentTransportStatus xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="string">OK</CurrentTransportStatus><CurrentSpeed xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="string">1</CurrentSpeed></m:GetTransportInfoResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
问题 和 总结
wmp无法播放h264的rtsp 协议,这个是个问题,但是他的架构非常精锐,两个服务,一个播放器,把media center建立起来了,值得我们学习
1 upnp 协议服务
2 ssdp协议服务
3 wmp 播放器
而 vlc呢,非常厉害,把服务直接集成到了播放器中,也越来越完善!vlc 2.0
可以这么说,中国要做出vlc 这样的一个播放器,还需要一定的核心技术和时间的。我的打算:是把vlc 和 kodi 以及 wmp 结合起来,做一个国产化的播放器,但是说国产化,很难,毕竟很多还不是我们自己做的,一步一个脚印吧。
以上是关于windows media player upnp的主要内容,如果未能解决你的问题,请参考以下文章
windows media player如何播放mp4视频文件?
使用C#播放音乐 使用windows media player