2012-01-23 16 views
5

उत्पन्न करता है मैं 52fps पर बहने वाली आरजीबी छवियों की धारा से एक वीडियो फ़ाइल बनाना चाहता हूं। मैंने ओपनसीवी एपीआई का उपयोग करने के लिए बहुत आसान काम किया (सीवी :: वीडियोवाइटर)। समस्या यह है कि मैं केवल वीएलसी के साथ उत्पादित एवी खेल सकता हूं; जो वीडियो चलाता है लेकिन चिल्लाता है:सीवी :: वीडियोवाइटर अपठनीय वीडियो

[0x28307b0] xcb_xv generic error: no available XVideo adaptor 

कोई अन्य वीडियो प्लेयर (उसी कंप्यूटर पर) वीडियो को पढ़ने और चलाने में सक्षम नहीं है। सब कुछ रिकॉर्ड करते समय ठीक दिखता है: मुझे आउटपुट के बारे में जानकारी, फ्रेम के आकार, वीडियो कोडेक, एफपीएस आदि के बारे में जानकारी मिलती है ... कोई त्रुटि नहीं।

Output #0, avi, to '01-23-12_15-24-51.avi': 
Stream #0.0: Video: flv, yuv420p, 500x242, q=2-31, 7744 kb/s, 90k tbn, 52tbc 

OpenCV केवल वीडियो कंटेनर के रूप में avi का समर्थन करता है के रूप में, केवल एक चीज मैं बदल सकता है वीडियो कोडेक है, मैं करने की कोशिश की (FOURCC कोड) FLV1, DIVX, DIV3 लेकिन उनमें से कोई सही ढंग से काम करता है।

मैं इस वीडियो को विभिन्न कंप्यूटरों पर किसी भी वीडियो प्लेयर के साथ खेलना चाहता हूं। मैं इसे कैसे कारगर बना सकता हूं? क्या VideoWriter सही विकल्प है?

कोई भी सुझाव बहुत स्वागत है।

धन्यवाद।

+0

52 एफपीएस पर आप ओपनसीवी क्या कर सकते हैं की सीमा को दबा सकते हैं। मैं पहले 30 एफपीएस के साथ कोशिश करता हूं और देखता हूं कि अन्य वीडियो प्लेयर इसका जवाब कैसे देते हैं। – karlphillip

+0

ओपनसीवी सभी निम्न-स्तर-वीडियो-संबंधित सामग्री करने के लिए एफएफएमपीईजी पर निर्भर करता है; मुझे यकीन है कि ffmpeg 52 fps से आगे जा सकता है। वैसे भी, सुझाव के लिए धन्यवाद मैंने कोशिश की लेकिन यह काम नहीं करता है। – sciarp

+0

वीडियो फ़ाइल बनाते समय एक अलग कोडेक (चार सीसीसी) आज़माएं। एक साधारण एक, एमपीईजी 2, या ऐसा कुछ चुनें – Sam

उत्तर

1

आप अपने चित्रों के लिए एक वीडियो स्रोत है, तो यह उत्पादन के लिए एक ही कोडेक उपयोग करने के लिए एक अच्छा विचार होगा:

int videoType = (int)cap.get(CV_CAP_PROP_FORMAT); 

VideoWriter vout; 
vout.open(videofile + "_out.avi", videoType, 30, imgSize); 

या, यदि आप एक पुराने, सरल FOURCC कोशिश कर सकते हैं। या एक माइक्रोसॉफ्ट-विशिष्ट, अगर आप इसे केवल विंडोज़ पर चलाना चाहते हैं।

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