2013-04-29 9 views
5

पर मेरे पास बहुत बड़े उच्च गुणवत्ता वाले वीडियो हैं जिन्हें मुझे HTTP (मोबाइल उपकरणों के लिए) पर स्ट्रीम करने की आवश्यकता है। वीडियो के "स्ट्रीमिंग" संस्करण को बनाने के लिए ffmpeg का उपयोग करना संभव नहीं है।सी # स्ट्रीमिंग डाउनग्रेड-गुणवत्ता वीडियो HTTP

मुझे अभी भी HTTP की तलाश/प्रारंभ सुविधा का समर्थन करना चाहिए ताकि उपयोगकर्ता वीडियो में आगे निकल सके।

मैं सर्विसस्टैक (आईआईएस नहीं) का उपयोग कर रहा हूं।

क्या वहां कोई विकल्प उपलब्ध है?

मेरे पास सर्वर तक पहुंच है, इसलिए कोई भी तृतीय पक्ष सेवाएं स्वीकार्य हैं।

उत्तर

4

हमने हाल ही में directly serving Static files के साथ-साथ via a Web Service में आंशिक सामग्री समर्थन दोनों जोड़ दिया है। यह NuGet पर v3.9.44 release of ServiceStack में उपलब्ध होगा, जो इस सप्ताहांत के लिए योजनाबद्ध है (यदि आप इससे पहले इसकी आवश्यकता हो तो ServiceStack from the repo बना सकते हैं)।

आंशिक सामग्री समर्थन स्वचालित रूप से सक्षम हो जाएगा, जहां यह तलाश करने के लिए उपलब्ध हो जाएगा/किसी भी स्थिर फ़ाइल (ServiceStack के माध्यम से परोसा जाता है) के साथ-साथ किसी भी सेवा है कि धारा:

return new HttpResult(new FileInfo(filePath), request.MimeType); 

:

एक फाइल रिटर्न रिटर्न बाइट्स:

:

return new HttpResult(byteArray, "audio/mpeg"); 

एक धारा रिटर्न

रिटर्न एक कच्चे स्ट्रिंग:

return new HttpResult(customText, "text/plain"); 

आंशिक सामग्री समर्थन सेट अक्षम करने के लिए:

Config.AllowPartialResponses = false; 
+0

सुंदर! वीडियो के संपीड़ित संस्करण पर कोई सुझाव? –

+0

नहीं, हम केवल डेटा के परिवहन को सक्षम करते हैं, संपीड़न एक अनुप्रयोग-स्तरीय चिंता है जो मुझे लगता है कि पहले से ही संपीड़ित धारा/बाइट्स में वापस आ जाएगा, जो क्लाइंट द्वारा पहले ही समझा जा चुका/अपेक्षित है। – mythz

+1

मैं अभी भी थोड़ा सा चौंक गया हूं कि मेरे एपीआई में वीडियो समर्थन जोड़ना "अभी काम किया" ... मेरी छवि सेवा कॉपी/पेस्ट करें, कुछ चीजें समायोजित करें, और वॉयला। बहुत बढ़िया। – sirthomas

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