में एक एमजेपीईजी वीडियो स्ट्रीम बनाना मेरे पास एक दूरस्थ वीडियो स्रोत से मेरे डेटाबेस में छवियों को जेपीईजी छवियों के रूप में प्रति सेकंड लगभग 5 फ्रेम पर भेजा जा रहा है। मैं यह समझने की कोशिश कर रहा हूं कि उन छवियों को वीडियो प्रारूप में कैसे प्राप्त करें ताकि मैं सिल्वरलाइट पर एक लाइव वीडियो फ़ीड स्ट्रीम कर सकूं।सी #
ऐसा लगता है कि एमजेपीईजी स्ट्रीम बनाने के लिए मुझे लगता है लेकिन मुझे कुछ समस्याएं हैं। सबसे पहले मैं एक HTTP अनुरोध के माध्यम से स्ट्रीम करने की कोशिश कर रहा था इसलिए मेरे पास सॉकेट के साथ सौदा नहीं था लेकिन शायद यह मेरा कोड तोड़ रहा है।
अगर मैं क्यूटी से मेरी स्ट्रीम में सर्फ की कोशिश मैं एक वीडियो त्रुटि मिलती है, मीडिया प्लेयर पहली फ्रेम छवि दिखाता और सिल्वरलाइट :)
दुर्घटनाओं यहाँ है कोड धाराओं कि - के बाद से मैं इस तरह से कर सकते हैं इस्तेमाल किया सामग्री प्रकार केवल एक बार भेजा जाए जब मुझे पता चले कि यह आदर्श नहीं है और मूल कारण हो सकता है। सभी छवियां LINQ2SQL ऑब्जेक्ट के माध्यम से आ रही हैं।
मैंने पहले ही सिल्वरलाइट में छवि नियंत्रण के छवि स्रोत को अपडेट करने का प्रयास किया था लेकिन झिलमिलाहट स्वीकार्य नहीं है। अगर सिल्वरलाइट एमजेपीईजी का समर्थन नहीं करता है तो कोई भी बिंदु जारी नहीं है लेकिन ऐसा लगता है कि ऐसा करता है। मेरे पास H.264 फ्रेम आने की पहुंच है लेकिन यह MP4 के माध्यम से अधिक जटिल लग रहा था।
Response.Clear();
Response.ContentType = "multipart/x-mixed-replace; boundary=--myboundary";
ASCIIEncoding ae = new ASCIIEncoding();
HCData data = new HCData();
var videos = (from v in data.Videos
select v).Take(50); // sample the first 50 frames
foreach (Video frame in videos)
{
byte[] boundary = ae.GetBytes("\r\n--myboundary\r\nContent-Type: image/jpeg\r\nContent-Length:" + frame.VideoData.ToArray().Length + "\r\n\r\n");
var mem = new MemoryStream(boundary);
mem.WriteTo(Response.OutputStream);
mem = new MemoryStream(frame.VideoData.ToArray());
mem.WriteTo(Response.OutputStream);
Response.Flush();
Thread.Sleep(200);
}
धन्यवाद!
संपादित करें: मेरे पास फ़ायरफ़ॉक्स में स्ट्रीम स्ट्रीम है इसलिए यदि मैं पृष्ठ पर सर्फ करता हूं तो मुझे वीडियो दिखाई देता है! लेकिन कुछ और प्रारूप स्वीकार नहीं करता है। आईई, एसएल, मीडिया प्लेयर नहीं - कुछ भी नहीं।
क्या आपने कभी यह हल किया है? –
इस विधि का उपयोग नहीं कर रहा है - मैं बस ब्राउज़र में जेएस का उपयोग करके पृष्ठभूमि छवि लोडिंग कर रहा हूं और फिर छवियों को जितनी जल्दी हो सके स्विच कर रहा हूं। ठीक काम किया – typemismatch
आपके पास मूलभूत बातें हैं, यहां एक कार्यान्वयन है @ https://net7mma.codeplex.com/SourceControl/latest – Jay