2015-02-10 22 views
6

मैं यूपीएनपी के माध्यम से एक वीडियो चलाने के लिए अपने टीवी (सोनी ब्राविया केडीएल -42W800A) को एक कमांड भेजने की कोशिश कर रहा हूं। मैं एसएसडीपी का उपयोग कर अपने नेटवर्क पर सभी यूपीएनपी डिवाइसों को खोज सकता हूं।UPNP C# का उपयोग करके SetAVTransportURI को कैसे भेजें?

HTTP/1.1 200 OK 
CACHE-CONTROL: max-age=1800 
EXT: 
LOCATION: http://192.168.1.11:52323/dmr.xml 
SERVER: Linux/2.6 UPnP/1.0 KDL-42W800A/1.7 
ST: urn:schemas-upnp-org:service:AVTransport:1 
USN: uuid:00000000-0000-1010-8000-d8d43c73618b::urn:schemas-upnp-org:service:AVTransport:1 
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-42W800A"; 
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-42W800A"; mv="1.7"; 

इस मैं स्थान एक्सएमएल टीवी पर अधिक विशिष्ट जानकारी युक्त फ़ाइल को पुनः प्राप्त करने का पालन किया है से: यहाँ टीवी से एक नमूना प्रतिक्रिया है। नीचे दिया गया:

<?xml version="1.0"?> 
<root xmlns="urn:schemas-upnp-org:device-1-0" 
     xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11" 
     xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation"> 
    <specVersion> 
    <major>1</major> 
    <minor>0</minor> 
    </specVersion> 
    <device> 
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType> 
    <friendlyName>BRAVIA KDL-42W800A</friendlyName> 
    <manufacturer>Sony Corporation</manufacturer> 
    <manufacturerURL>http://www.sony.net/</manufacturerURL> 
    <modelName>KDL-42W800A</modelName> 
    <modelNumber>MINT1.7.0.1</modelNumber> 
    <UDN>uuid:00000000-0000-1010-8000-d8d43c73618b</UDN> 
    <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC> 
    <microsoft:magicPacketWakeSupported xmlns:microsoft="urn:schemas-microsoft-com:WMPNSS-1-0">1</microsoft:magicPacketWakeSupported> 
    <iconList> 
     <icon> 
     <mimetype>image/png</mimetype> 
     <width>32</width> 
     <height>32</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_32x32.png</url> 
     </icon> 
     <icon> 
     <mimetype>image/png</mimetype> 
     <width>48</width> 
     <height>48</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_48x48.png</url> 
     </icon> 
     <icon> 
     <mimetype>image/png</mimetype> 
     <width>60</width> 
     <height>60</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_60x60.png</url> 
     </icon> 
     <icon> 
     <mimetype>image/png</mimetype> 
     <width>120</width> 
     <height>120</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_120x120.png</url> 
     </icon> 
     <icon> 
     <mimetype>image/jpeg</mimetype> 
     <width>32</width> 
     <height>32</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_32x32.jpg</url> 
     </icon> 
     <icon> 
     <mimetype>image/jpeg</mimetype> 
     <width>48</width> 
     <height>48</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_48x48.jpg</url> 
     </icon> 
     <icon> 
     <mimetype>image/jpeg</mimetype> 
     <width>60</width> 
     <height>60</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_60x60.jpg</url> 
     </icon> 
     <icon> 
     <mimetype>image/jpeg</mimetype> 
     <width>120</width> 
     <height>120</height> 
     <depth>24</depth> 
     <url>/MediaRenderer_120x120.jpg</url> 
     </icon> 
    </iconList> 
    <serviceList> 
     <service> 
     <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType> 
     <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId> 
     <SCPDURL>/RenderingControlSCPD.xml</SCPDURL> 
     <controlURL>/upnp/control/RenderingControl</controlURL> 
     <eventSubURL>/upnp/event/RenderingControl</eventSubURL> 
     </service> 
     <service> 
     <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType> 
     <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId> 
     <SCPDURL>/ConnectionManagerSCPD.xml</SCPDURL> 
     <controlURL>/upnp/control/ConnectionManager</controlURL> 
     <eventSubURL>/upnp/event/ConnectionManager</eventSubURL> 
     </service> 
     <service> 
     <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType> 
     <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId> 
     <SCPDURL>/AVTransportSCPD.xml</SCPDURL> 
     <controlURL>/upnp/control/AVTransport</controlURL> 
     <eventSubURL>/upnp/event/AVTransport</eventSubURL> 
     </service> 
     <service> 
     <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType> 
     <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId> 
     <SCPDURL>/DIALSCPD.xml</SCPDURL> 
     <controlURL>/upnp/control/DIAL</controlURL> 
     <eventSubURL></eventSubURL> 
     </service> 
     <service> 
     <serviceType>urn:schemas-sony-com:service:IRCC:1</serviceType> 
     <serviceId>urn:schemas-sony-com:serviceId:IRCC</serviceId> 
     <SCPDURL>/IRCCSCPD.xml</SCPDURL> 
     <controlURL>http://192.168.1.11/sony/IRCC</controlURL> 
     <eventSubURL></eventSubURL> 
     </service> 
     <service> 
     <serviceType>urn:schemas-sony-com:service:ScalarWebAPI:1</serviceType> 
     <serviceId>urn:schemas-sony-com:serviceId:ScalarWebAPI</serviceId> 
     <SCPDURL>/ScalarWebApiSCPD.xml</SCPDURL> 
     <controlURL>/upnp/control/ScalarAPI</controlURL> 
     <eventSubURL></eventSubURL> 
     </service> 
    </serviceList> 
    <av:X_MaxBGMCount xmlns:av="urn:schemas-sony-com:av">64</av:X_MaxBGMCount> 
    <av:X_StandardDMR xmlns:av="urn:schemas-sony-com:av">1.1</av:X_StandardDMR> 
    <av:X_ScreenResolution xmlns:av="urn:schemas-sony-com:av">2K</av:X_ScreenResolution> 
    <av:X_IRCCCodeList xmlns:av="urn:schemas-sony-com:av"> 
     <av:X_IRCCCode command="Power">AAAAAQAAAAEAAAAVAw==</av:X_IRCCCode> 
     <av:X_IRCCCode command="Power ON">AAAAAQAAAAEAAAAuAw==</av:X_IRCCCode> 
     <av:X_IRCCCode command="Power OFF">AAAAAQAAAAEAAAAvAw==</av:X_IRCCCode> 
    </av:X_IRCCCodeList> 
    <pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId> 
    <pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory> 
    <pnpx:X_hardwareId>VEN_0106&amp;DEV_0006&amp;REV_01</pnpx:X_hardwareId> 
    <df:X_deviceCategory>Display.TV Multimedia.DMR</df:X_deviceCategory> 
    <av:X_TrackID_DeviceInfo xmlns:av="urn:schemas-sony-com:av"> 
     <av:X_TrackID_BaseURL>http://192.168.1.11/sony/BgmSearch</av:X_TrackID_BaseURL> 
    </av:X_TrackID_DeviceInfo> 
    <av:X_DIALEX_DeviceInfo xmlns:av="urn:schemas-sony-com:av"> 
     <av:X_DIALEX_AppsListURL>http://192.168.1.11/DIAL/sony/applist</av:X_DIALEX_AppsListURL> 
    </av:X_DIALEX_DeviceInfo> 
    <av:X_ScalarWebAPI_DeviceInfo xmlns:av="urn:schemas-sony-com:av"> 
     <av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version> 
     <av:X_ScalarWebAPI_BaseURL>http://192.168.1.11/sony</av:X_ScalarWebAPI_BaseURL> 
     <av:X_ScalarWebAPI_ServiceList> 
     <av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>system</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>videoScreen</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>audio</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>avContent</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>recording</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>appControl</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>browser</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>notification</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>cec</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>accessControl</av:X_ScalarWebAPI_ServiceType> 
     <av:X_ScalarWebAPI_ServiceType>irCommandProxy</av:X_ScalarWebAPI_ServiceType> 
     </av:X_ScalarWebAPI_ServiceList> 
    </av:X_ScalarWebAPI_DeviceInfo> 
    <av:X_RDIS_DeviceInfo xmlns:av="urn:schemas-sony-com:av"> 
     <av:X_RDIS_Version>1.0</av:X_RDIS_Version> 
     <av:X_RDIS_SESSION_CONTROL>false</av:X_RDIS_SESSION_CONTROL> 
     <av:X_RDIS_ENTRY_PORT>20677</av:X_RDIS_ENTRY_PORT> 
    </av:X_RDIS_DeviceInfo> 
    </device> 
</root> 

इस जानकारी का उपयोग करते हुए, यदि मेरे पास लिंक है तो मैं टीवी को वीडियो चलाने का अनुरोध कैसे कर सकता हूं? मैंने जो ऑनलाइन पढ़ा है उस पर आधारित होने की कोशिश की है और अब तक यह कोड मिला है, जिसे AVTransportURI सेट करना है, लेकिन यह त्रुटि 500 ​​आंतरिक सर्वर त्रुटि दे रहा है।

private const string SetAvTransportURIXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + 
                "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">" + 
                 "<s:Body>" + 
                  "<u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">" + 
                   "<InstanceID>0</InstanceID>" + 
                   "<CurrentURI>{0}</CurrentURI>" + 
                   "<CurrentURIMetaData></CurrentURIMetaData>" + 
                  "</u:SetAVTransportURI>" + 
                 "</s:Body>" + 
                "</s:Envelope>"; 

    public void PlayVideo(string videoLink) 
    { 
     byte[] bytes; 
     bytes = Encoding.UTF8.GetBytes(String.Format(SetAvTransportURIXml, videoLink)); 

     HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.1.11:52323/upnp/control/AVTransport"); 
     request.Headers.Add("SOAPAction", "\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\""); 
     request.ContentType = "text/xml; encoding=\"utf-8\""; 
     request.ContentLength = bytes.Length; 
     request.Method = "POST"; 
     Stream requestStream = request.GetRequestStream(); 
     requestStream.Write(bytes, 0, bytes.Length); 
     requestStream.Flush(); 
     requestStream.Close(); 
     var response = (HttpWebResponse) request.GetResponse(); 
     if (response.StatusCode == HttpStatusCode.OK) 
     { 
      Stream responseStream = response.GetResponseStream(); 
      if (responseStream == null) return; 
      string responseStr = new StreamReader(responseStream).ReadToEnd(); 
      Console.WriteLine(responseStr); 
     } 
    } 

किसी भी मदद की सराहना की जाएगी, धन्यवाद।

उत्तर

5

CurrentURIMetaData पैरामीटर में कुछ डीआईडीएल-लाइट मेटा-डेटा डालने का प्रयास करें। अगर मैं बस उस क्षेत्र को खाली छोड़ देता हूं तो मेरा एलजी टीवी कुछ भी खेलना मना कर देता है।

<?xml version="1.0"?> 
<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="f-0" parentID="0" 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:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000">{0}</res> 
</item> 
</DIDL-Lite> 

इसके अलावा करने के लिए HTTP प्रतिक्रिया में कुछ विशेष हेडर है करने की आवश्यकता हो सकती है:

उदाहरण के लिए मेरे लिए निम्नलिखित काम करता है (स्वाभाविक रूप से इस जब बाहरी XML संरचना में एम्बेडेड भाग निकले जाने की आवश्यकता है) टीवी का मीडिया अनुरोध (यूआरएल पर आप आपूर्ति करते हैं)। मेरे एलजी टीवी, जब तक कि मीडिया फ़ाइल प्रतिक्रिया के बाद हेडर है खेलने के लिए मना कर दिया (केस-संवेदी BTW!):

contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000 
transferMode.dlna.org: Streaming 

बातें जब UPnP/DLNA को लागू गलत हो सकता है कि का एक बहुत हैं। अगर ऐसा कुछ भी है जो टीवी पसंद नहीं करता है, तो वह इसे स्वीकार करने से इंकार कर देगा। त्रुटि संदेश बल्कि विशिष्ट नहीं हो सकता है। परीक्षण करने के लिए कई सारे परीक्षणों की आवश्यकता है ताकि डीएलएनए डिवाइस कार्यान्वयन को सह-संचालन के लिए अलग किया जा सके। बाजार पर कई/अधिकांश टीवी डिवाइस चश्मे के केवल एक छोटे से सबसेट को लागू करते हैं। अपने तरीके से।

गीथब कोड खोज पर SetAVTransportURI आदि के लिए खोज करना यह पता लगाने में सहायक हो सकता है कि दूसरों ने चीजों को कैसे लागू किया है।

+0

प्रतिक्रिया के लिए धन्यवाद, अब मैं जहां चरण के लिए मिल गया है मैं मेरे एक्सबॉक्स वन (मेटाडाटा जोड़कर) पर जा सकता है, हालांकि सोनी पर यह सेटएवीट्रांसपोर्टरी ठीक करता है और 200 ओके प्रतिक्रिया प्राप्त करता है, फिर टीवी पर लोड करते समय यह प्लेबैक उपलब्ध नहीं है। क्या यह संभावित रूप से http प्रतिक्रिया हेडर के साथ कुछ करने के लिए है जिसके बारे में आपने बात की थी? –

+0

हां, यह काफी संभव है कि यह मीडिया अनुरोध HTTP प्रतिक्रिया शीर्षकों पर निर्भर करता है (यदि आपने सत्यापित किया है कि डिवाइस वास्तव में HTTP अनुरोध भेज रहा है और 200 उचित प्रतिक्रिया प्राप्त कर रहा है)। – snap

1

मैं अपने सोनी ब्राविया केडीएल -40EX505 के लिए कोडिंग कर रहा हूं और एक ही समस्या थी।

192.168.0.102 संगीत फ़ाइलों के लिए मेरा कंप्यूटर और सर्वर है। 1 9 2.168.0.10 सोनी टीवी है।

मैं setAVTransportURI करते हैं, निम्न होता है:

निम्नलिखित पोस्ट ऊपर दिया गया URL पद से CurrentURI में निर्दिष्ट करने के लिए टीवी के लिए भेज दिया जाता है

POST /upnp/control/AVTransport HTTP/1.1 
Host: 192.168.0.10:52323 
Connection: keep-alive 
Content-Length: 442 
Cache-Control: no-cache 
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop 
Content-Type: text/xml;charset="UTF-8" 
Soapaction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI" 
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 
Postman-Token: a8169b28-fb09-7029-60a9-b7e2641dc1d6 
Accept: */* 
Accept-Encoding: gzip, deflate 
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<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>http://192.168.0.102:80/music.php?f=geradeaus</CurrentURI> 
     <CurrentURIMetaData></CurrentURIMetaData> 
     </u:SetAVTransportURI> 
    </s:Body> 
</s:Envelope> 

टीवी sents एक HEAD अनुरोध :

HEAD /music.php?f=geradeaus HTTP/1.1 
getcontentFeatures.dlna.org: 1 
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40EX505"; 
X-AV-Client-Info: av="5.0"; cn="Sony Corporation"; mn="BRAVIA KDL-40EX505"; mv="1.7"; 
Host: 192.168.0.102:80 

HEAD अनुरोध में जवाब है:

HTTP/1.1 200 OK 
Date: Sat, 05 Mar 2016 20:58:58 GMT 
Server: Apache/2.4.9 (Win64) PHP/5.5.12 
X-Powered-By: PHP/5.5.12 
Content-Length: 9622288 
transferMode.dlna.org: Streaming 
Accept-Ranges: bytes 
Cache-Control: no-cache 
contentFeatures.dlna.org: DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000 
Content-Type: audio/mpeg 

यदि सब कुछ काम करता है, तो टीवी 200 ओके के साथ पहला POST अनुरोध प्रतिसाद देता है, अन्यथा आपको 500 आंतरिक सर्वर त्रुटि मिलती है।

परिणाम

तो, सोनी ब्राविया KDL-40EX505 के लिए यह ऑडियो या वीडियो के लिए हैडर अनुरोध के जवाब में

transferMode.dlna.org: Streaming 

और

contentFeatures.dlna.org: DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000 

सक्षम करने के लिए महत्वपूर्ण है फ़ाइल।

<?php 
    $file = $_GET['f'].'.mp3'; 

    header('Content-Length: '.filesize($file)); 
    header('Content-Type: audio/mpeg'); 
    header('transferMode.dlna.org: Streaming'); 
    header('Accept-Ranges: bytes'); 
    header('Cache-Control: no-cache'); 
    header('contentFeatures.dlna.org: DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000'); 

    fpassthru(fopen($file, 'rb')); 
    exit; 
?> 

यह 192.168.0.102:80/music.php?f=geradeaus के माध्यम से कहा जाता है और रिटर्न

geradeaus.mp3 contentFeatures.dlna.org जानकारी प्राप्त करें: मुझे लगता है कि एक php फ़ाइल के साथ किया था स्ट्रिंग

मैंने संगीत फ़ाइल चलाने के लिए एंड्रॉइड के लिए BubbleUPnP का उपयोग किया है (आपको एक यूपीएनपी प्लेयर ढूंढना है जो आपके लिए काम करता है)। इसके बाद मैंने क्लिंग वर्कबेंच (http://4thline.org/projects/cling/workbench/) खोला, मेरा टीवी चुनें, ट्रीव्यू में एवीट्रांसपोर्ट चुनें और "सेवा का उपयोग करें" बटन चुनें। BubbleUPnP के माध्यम से खेली गई फ़ाइल का यूआरआई "वर्तमान यूआरआई" के तहत प्रदर्शित होता है। फिर मैंने उस यूआरआई के खिलाफ वायरशर्क के माध्यम से मिले हेडर्स के साथ एक हेड कॉल किया (महत्वपूर्ण getcontentFeatures.dlna.org, एक्स-एवी-फिजिकल-यूनिट-इन्फो और एक्स-एवी-क्लाइंट-इन्फो, आप एक http भी भेज सकते हैं अपने टीवी पर जाएं: वायरशर्क का उपयोग करने के बजाय 52323/अपनिप/कंट्रोल/एवीट्रांसपोर्ट, जो प्रतिक्रिया हेडर में एक्स-एवी-फिजिकल-यूनिट-इन्फो और एक्स-एवी-क्लाइंट-इन्फो देता है)। एंड्रॉयड पर BubbleUPnP को

प्रमुख कॉल:

सही contentFeatures.dlna.org तार के साथ
HEAD /external/audio/media/8588.mp3 HTTP/1.1 
Host: 192.168.0.12:57645 
Connection: keep-alive 
Cache-Control: no-cache 
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40EX505"; 
X-AV-Client-Info: av="5.0"; cn="Sony Corporation"; mn="BRAVIA KDL-40EX505"; mv="1.7"; 
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 
getcontentFeatures.dlna.org: 1 
Postman-Token: 39fabd1c-7464-6631-2645-c62cdca6f83d 
Accept: */* 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 

BubbleUPnP जवाब

HTTP/1.1 200 OK 
Date: Sat, 05 Mar 2016 21:31:37 GMT 
Server: Android, UPnP/1.0 DLNADOC/1.50, BubbleUPnP/2.6.0.2-amz 
Cache-Control: no-cache 
transferMode.dlna.org: Streaming 
contentFeatures.dlna.org: DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000 
Content-Type: audio/mpeg 
Last-Modified: Sat, 05 Mar 2016 18:21:43 GMT 
Content-Length: 8523162 
Accept-Ranges: bytes 
+0

स्ट्रिंग और समर्थित प्रारूपों को जानने के लिए यहां एक विवरण दिया गया है http://wiki.serviio.org/doku.php?id=device_sf – KeKru

संबंधित मुद्दे