2009-08-13 7 views
5

मेरे पास विंडोज़ पर सी # नेट क्लाइंट है और एक .mov फ़ाइल से स्टार्ट टाइमकोड और अवधि/लंबाई मेटाडेटा निकालने की आवश्यकता है। वहां कोई भी जो जानता है कि यह कैसे करना है? मैंने नेट पर चारों ओर देखा लेकिन अभी तक कुछ भी नहीं मिला। आपके समय के लिए आपका अग्रिम धन्यवाद।एक .mov फ़ाइल से स्टार्ट टाइमकोड और अवधि/लंबाई मेटाडेटा निकालने के लिए कैसे करें?

उत्तर

0

मुझे किसी भी सी # लाइब्रेरी के बारे में पता नहीं है जो .mov फ़ाइलों को पार्स करने में सक्षम है। क्या आप अपने पर्यावरण में अप्रबंधित कोड को कॉल कर सकते हैं? (फुल ट्रास्ट अनुमतियों की आवश्यकता है)

फाइलों को स्वयं पार्स करना वास्तव में मुश्किल है (हमने इसे एक बार डायरेक्टशो फ़िल्टर में किया था), इसलिए मैं आपके लिए नौकरी करने के लिए लाइब्रेरी का उपयोग करने की सलाह देता हूं। MediaInfo या ffmpeg

MP4 कंटेनर बहुत समान है फ़ाइलों .mov करने पर उदाहरण के लिए देखो, तो आप भी mp4box तरह MP4 उपकरणों का उपयोग कर सकते हैं बहुत विस्तृत जानकारी (शुरू timecode के लिए उदाहरण के लिए)

+0

हां, मैं अपने पर्यावरण में अप्रबंधित कोड को कॉल कर सकता हूं। मैंने MediaInfo और ffmpeg को देखा और टाइमकोड और लंबाई attibutes नहीं देखते हैं। मैं इसके लिए नया हूं क्या आप मुझे बता सकते हैं कि मुझे कुछ याद आ रहा है? धन्यवाद! –

+0

MediaInfo के जीयूआई संस्करण में, आप अधिक विवरण दिखाने के लिए दृश्य को बदल सकते हैं। मैं आमतौर पर 'वृक्ष' दृश्य का उपयोग करता हूं। – chris166

+0

मुझे दो विशेषताओं (टाइमकोड और लंबाई शुरू करें) प्रोग्रामेटिक रूप से प्राप्त करने की आवश्यकता है, आपको लगता है कि मैं MediaInfo का उपयोग करके ऐसा कर सकता हूं? टीआईए –

0

आप तो निकालने के लिए अप्रबंधित कोड को कॉल कर सकते हैं, आप इस जानकारी को प्राप्त करने के लिए विंडोज के लिए क्विकटाइम का उपयोग करने में सक्षम हो सकते हैं।

यह विफल होने पर, आप जो भी जानकारी चाहते हैं वह मूवी हेडर परमाणु में है। सभी क्विकटाइम फिल्में समय 0 से शुरू होती हैं (इसलिए आधे समस्या हल हो जाती है) और उनकी निर्दिष्ट अवधि पर समाप्त होती है, जो कि इसके सबसे लंबे ट्रैक के बराबर होती है। फिल्म समय के पैमाने के संदर्भ में समय निर्दिष्ट किया गया है, जो प्रति सेकेंड इकाइयों की संख्या को परिभाषित करता है; प्रति सेकंड 600 इकाइयां डिफ़ॉल्ट हैं।

आपको मूवी हेडर परमाणु के लिए फ़ाइल स्कैन करके मूवी टाइम स्केल और अवधि मिलती है, जिसका प्रकार 'mvhd' है, और फिर परमाणु के समय पैमाने और अवधि फ़ील्ड में आगे बढ़ रहा है, जो कि 16 बाइट्स की शुरुआत से पहले है परमाणु प्रकार का क्षेत्र ('एमवीएचडी' जो आपको मिला)। प्रत्येक एक बड़ा एंडियन 4-बाइट हस्ताक्षरित पूर्णांक है।

क्विकटाइम एक कंटेनर प्रारूप है, हालांकि, और सभी मूवी फाइलों में मूवी हेडर नहीं है। कुछ बस संदर्भ या स्ट्रीमिंग फिल्में हैं जो किसी अन्य स्थान पर इंगित करते हैं जहां वास्तविक मूवी डेटा रहता है। यहां तक ​​कि यदि मूवी हेडर मौजूद है, तो इसकी आवश्यकता नहीं है कि यह वास्तव में फ़ाइल के डेटा का नेतृत्व करे।

आप QuickTime File Format Specification में क्विकटाइम फ़ाइल प्रारूप के बारे में बहुत कुछ पढ़ सकते हैं। (एमपीईजी -4 फ़ाइल प्रारूप वास्तव में क्विकटाइम फ़ाइल प्रारूप पर आधारित है, इसलिए यदि आप इसके बारे में कुछ भी जानते हैं, तो ज्ञान हस्तांतरण करना चाहिए।)

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