GoLang वेब सर्वर स्ट्रीमिंग वीडियो
प्रश्न: एक Golang वेब सर्वर को HTML, CSS, जावास्क्रिप्ट और छवियों को असफल रूप से प्रस्तुत करने के लिए कॉन्फ़िगर किया गया है एक MP4 वीडियो स्ट्रीम करने का प्रयास।
बड़ी वीडियो फ़ाइलों को संभालने से समस्या उत्पन्न होती है। Chrome को एक निश्चित आकार से अधिक के वीडियो के लिए रेंज अनुरोधों का समर्थन करने के लिए सर्वर की आवश्यकता होती है, लेकिन प्रदान किया गया कोड इसका समाधान नहीं करता है। रेंज अनुरोध समर्थन को लागू करके, सर्वर प्लेबैक को सक्षम करते हुए, वीडियो के केवल अनुरोधित भाग को भेज सकता है।
ए: रेंज अनुरोधों का समर्थन करने के लिए कोड को बढ़ाएं।
संशोधित करें MP4 फ़ाइलों की जांच शामिल करने और उचित हेडर और प्रतिक्रिया कोड भेजने के लिए कोड:
if contentType == "video/mp4" {
size := binary.Size(data)
if size > 0 {
requestedBytes := r.Header.Get("Range")
w.Header().Add("Accept-Ranges", "bytes")
w.Header().Add("Content-Length", strconv.Itoa(size))
w.Header().Add("Content-Range", "bytes " requestedBytes[6:len(requestedBytes)] strconv.Itoa(size-1) "/" strconv.Itoa(size))
w.WriteHeader(206)
}
}
इसके अतिरिक्त, वीडियो फ़ाइलों की सेवा के लिए http.ServeFile() का उपयोग करने पर विचार करें, जो रेंज अनुरोधों का समर्थन करता है:
if contentType == "video/mp4" {
http.ServeFile(w, r, path)
}
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3