मैं एचटीएमएल 5 वीडियो के साथ काम करने के लिए एक कस्टम वेब सर्वर ऐप को संशोधित करने की कोशिश कर रहा हूं।एचटीएमएल 5 वीडियो और आंशिक रेंज HTTP अनुरोध
यह एक मूलभूत <video>
टैग के साथ एक HTML5 पृष्ठ परोसता है और फिर इसे वास्तविक सामग्री के अनुरोधों को संभालने की आवश्यकता होती है।
एकमात्र तरीका मैं इसे अब तक काम करने के लिए प्राप्त कर सकता हूं, पूरी वीडियो फ़ाइल को स्मृति में लोड करना है और फिर इसे एक ही प्रतिक्रिया में भेजना है। यह एक व्यावहारिक विकल्प नहीं है। मैं इसे टुकड़े से टुकड़ा करना चाहता हूं: वापस भेजो, कहें, 100 केबी, और ब्राउजर के लिए और अधिक अनुरोध करने का इंतजार करें। ,
HTTP/1.1 206 Partial content
Content-Type: video/mp4
Content-Range: bytes 0-99999/232725251
Content-Length: 100000
मैं कुछ अधिक प्राप्त अनुरोध प्राप्त के रूप में
इस प्रकार है:http_version = 1.1
request_method = GET
Host = ###.###.###.###:##
User-Agent = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Accept = video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
Accept-Language = en-US,en;q=0.5
Connection = keep-alive
Range = bytes=0-
मैं एक आंशिक सामग्री प्रतिक्रिया वापस भेजने की कोशिश की:
मैं निम्नलिखित हेडर के साथ अनुरोध दिखाई
Cache-Control = no-cache
Connection = Keep-Alive
Pragma = getIfoFileURI.dlna.org
Accept = */*
User-Agent = NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514
GetContentFeatures.DLNA.ORG = 1
Host = ###.###.###.###:##
(कोई संकेत नहीं कि ब्राउज़र फ़ाइल का कोई विशिष्ट हिस्सा चाहता है।) कोई फर्क नहीं पड़ता कि मैं बीएसी भेजता हूं ब्राउज़र के लिए के, वीडियो नहीं खेलता है।
जैसा कि ऊपर बताया गया है, वही वीडियो ठीक से खेलेंगे यदि मैं एक ही HTTP पैकेट में एक बार में 230 एमबी फ़ाइल भेजने की कोशिश करता हूं।
क्या आंशिक सामग्री अनुरोधों के माध्यम से यह सब अच्छी तरह से काम करने का कोई तरीका है? मैं परीक्षण उद्देश्यों के लिए फ़ायरफ़ॉक्स का उपयोग कर रहा हूं, लेकिन इसे अंततः सभी ब्राउज़रों के साथ काम करने की ज़रूरत है।
मैं यह अजीब आप परीक्षण के लिए Firefox का उपयोग कर रहे हैं और एक MP4 फ़ाइल जो फ़ायरफ़ॉक्स का समर्थन नहीं करता भेजने कि लगता है, तो यह काम कभी नहीं करना चाहिए। –
अब तक मैंने फ़ायरफ़ॉक्स (H264 प्लगइन के साथ) और ब्राउज़र पक्ष पर IE9 और सर्वर पक्ष पर एमपी 4 और वेबएम की कोशिश की है। मुझे लगता है कि मुझे कुछ याद आ रही है। – user434507
आप ग्राहकों से आंशिक रेंज अनुरोध क्यों प्राप्त करना चाहते हैं? बस उनसे पूछने की अनुमति दें कि वे क्या चाहते हैं, और उन्हें सबसे सुविधाजनक तरीके से भेजें। मैंने ऑडियो स्ट्रीमिंग (क्रोम से अनुरोध किया) के साथ काम किया, और एक कस्टम सर्वर - यह वास्तविक समय में ध्वनि भेजता है। मुझे लगता है कि यह डिफ़ॉल्ट और स्वीकार्य तरीका है। यदि आप नेटवर्क लोड के बारे में परेशान हैं, तो चिकनी वीडियो प्लेबैक के लिए पर्याप्त गति तक थ्रॉटलिंग का उपयोग करें। – Stan