2012-10-09 21 views
5

के साथ अपाचे से क्रोम तक एम 4 वी स्ट्रीम करते समय कनेक्शन बंद कर देता है मैंने एक टेस्ट साइट स्थापित की है .. मैं एक साइट पर खेलने के लिए एक HTML5 वीडियो को लागू करने की कोशिश कर रहा हूं जिसे मैं विकसित कर रहा हूं और मैं चाहता हूं jplayer का उपयोग करें ताकि HTML5 वीडियो समर्थित न होने पर यह एक swf फ़ाइल पर वापस आ जाए।क्लाइंट जेपीर

http://dev.johnhunt.com.au/ जो मेरे पास अब तक है। यह ठीक काम करता है अगर मैं वीडियो के लिए http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v प्रदान करता हूं, हालांकि अगर मैं इसे अपने सर्वर पर होस्ट करता हूं तो यह कभी भी खेलना शुरू नहीं करता है।

माइम प्रकार निश्चित रूप से सही है, वीडियो/एम 4 वी। चार्ल्स प्रॉक्सी का कहना है:

GET /Big_Buck_Bunny_Trailer_480x270_h264aac.m4v HTTP/1.1 
Host dev.johnhunt.com.au 
Cache-Control no-cache 
Accept-Encoding identity;q=1, *;q=0 
Pragma no-cache 
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4 
Accept */* 
Referer http://dev.johnhunt.com.au/ 
Accept-Language en-US,en;q=0.8 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie __utma=120066461.1007786402.1349773481.1349773481.1349786970.2; __utmb=120066461.1.10.1349786970; __utmc=120066461; __utmz=120066461.1349773481.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) 
Range bytes=0- 

और प्रतिक्रिया:

Some binary data (maybe 3 or 4kbytes long) 

कौन सा ठीक लग रहा है

Client closed connection before receiving entire response 

दरअसल, यहां पूरे अनुरोध है। मुझे लगता है कि 'क्लाइंट' मेरा क्रोम ब्राउजर है .. यह क्यों छोड़ रहा है? मैं इसे कैसे ठीक करूं? यह मुझे पागल के रूप में मैं गूगल :(पर कुछ भी नहीं मिल रहा है गाड़ी चला रहा है

मैं jplayer.org पर M4V फ़ाइल का उपयोग जब यह अनुरोध है:

GET /video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v HTTP/1.1 
Host www.jplayer.org 
Cache-Control no-cache 
Accept-Encoding identity;q=1, *;q=0 
Pragma no-cache 
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4 
Accept */* 
Referer http://dev.johnhunt.com.au/ 
Accept-Language en-US,en;q=0.8 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie __utma=24821473.325705124.1349773077.1349773077.1349773077.1; __utmc=24821473; __utmz=24821473.1349773077.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided) 
Range bytes=0- 

प्रतिक्रिया:

Lots of binary data (very long.. working) 

चीयर्स, जॉन।

+0

ध्यान दें, मैं नहीं बल्कि चाहते jwplayer का उपयोग करें क्योंकि यह खुला स्रोत नहीं है। –

+0

अतिरिक्त: देव उपकरण के नेटवर्क टैब के नीचे क्रोम में मुझे वीडियो फ़ाइल के लिए दो अनुरोध मिलते हैं, पहले की लंबित स्थिति होती है, दूसरे की रद्द की स्थिति होती है, दोनों प्रकार लंबित हैं लेकिन रद्द की गई स्थिति एक लाल रंग में है। दोनों आकार 13bytes हैं, दूसरी बार 551ms है। –

उत्तर

8

मुझे पता चला है कि जब क्रोम ब्राउज़र "रेंज: बाइट्स = 0-" अनुरोध भेजता है, तो आपको "206 आंशिक सामग्री" प्रतिक्रिया का जवाब नहीं देना चाहिए। क्रोम को डेटा को सही तरीके से संभालने के लिए, आपको "200 ओके" हेडर वापस भेजना होगा।

मुझे नहीं पता कि यह चश्मा के अनुसार सही है या नहीं, लेकिन यह क्रोम काम करने के लिए मिलता है और अन्य ब्राउज़रों को तोड़ने के लिए प्रतीत नहीं होता है।

+1

यह सच है, क्रोम वीडियो वितरित करने में विफल रहता है जबकि अन्य (फ़ायरफ़ॉक्स और सफारी) इसे पूरी तरह से करते हैं। –

+1

स्ट्रीम को अवरुद्ध करने और स्थिति कोड बदलने के लिए ऐप बनाने के बजाय अपाचे में इस प्रतिक्रिया स्थिति को बदलने का एक तरीका है? उत्तर के लिए –

+1

वाह धन्यवाद, मैं एंड्रॉइड पर अपने स्वयं के http सर्वर लिखने के लिए वही चीज़ चला रहा था। 216 के बजाय 200 लौटने से वास्तव में इसे ठीक किया जाता है! – Maks

0

अपने अपाचे पर एक समस्या हो सकती है ... शायद आप उपयोग कर रहे अपाचे टैग दिया।

क्या आपने माइम प्रकार को अपाचे में जोड़ा है?

उदा।

AddType वीडियो/mp4 mp4

AddType वीडियो/mp4 M4V

इसके अलावा कि gzip जाँच के लिए बंद कर दिया है मीडिया के लिए ... यह पहले से ही संकुचित है ... और jPlayer gzip नहीं है। swf।

क्या आप अपना अपाचे कॉन्फ़िगर पोस्ट कर सकते हैं? इस तरह के this?

चीयर्स रॉबिन

संपादित

ओ और भी आप के लिए चाहते हो सकता है के रूप में अपाचे में स्वीकार-पर्वतमाला बाइट्स आप किसी भी स्ट्रीमिंग मॉड्यूल का उपयोग कर रहे हैं। यदि आप दो लिंक पर निकटता से देखते हैं तो आप 200 की सेवा कर रहे हैं और वे 206 आंशिक डेटा की सेवा कर रहे हैं।

1

क्रोम के साथ बस इसमें भाग लेने के बाद, ऐसा लगता है कि आपको यह सुनिश्चित करने की आवश्यकता है कि Content-Range शीर्षलेख आपके सर्वर द्वारा प्रतिक्रिया में सेट किया गया है।

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html से:

बाइट-सामग्री दूरी-कल्पना मूल्यों के उदाहरण हैं, यह सोचते हैं कि इकाई 1234 बाइट्स की कुल शामिल हैं:

 
     . The first 500 bytes: 
     bytes 0-499/1234 
     . The second 500 bytes: 
     bytes 500-999/1234 
     . All except for the first 500 bytes: 
     bytes 500-1233/1234 
     . The last 500 bytes: 
     bytes 734-1233/1234 

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

  • कोई संबंधित समस्या नहीं^_^