2010-07-31 10 views
5

में उपयोग किए गए कोडेक्स का पता लगाएं मेरे पास कुछ वीडियो कंटेनर फ़ाइलें हैं जिनमें विभिन्न कोडेक्स में ऑडियो और वीडियो शामिल है। अब मैं एक पायथन स्क्रिप्ट से कंटेनर का निरीक्षण करना चाहता हूं यह जानने के लिए कि ऑडियो + वीडियो के लिए किस कोडेक का उपयोग किया जाता है। यह एक लिनक्स बॉक्स पर है इसलिए यदि आवश्यक हो तो मेरे पास सभी टूल्स उपलब्ध हैं।पायथन: वीडियो कंटेनर

मैंने सोचा कि शायद जीस्ट्रीमर मेरी मदद कर सकता है लेकिन मैं एक एपीआई नहीं ढूंढ पाया जो मुझे यहां मदद कर सकता है।

कोई विचार? मैं किसी भी सुझाव के लिए भी खुला हूं, जब तक यह मुफ्त सॉफ्टवेयर है, तब तक gstreamer होने की आवश्यकता नहीं है :-) fs

उत्तर

3

ffmpeg स्रोत डाउनलोड करने का प्रयास करें और उनके कमांड लाइन प्रोग्राम के लिए स्रोत देखें। मैंने अतीत में समान उपयोगिताएं हैंक की हैं। मैं अपना समाधान पोस्ट नहीं कर रहा हूं क्योंकि ffmpeg को उनके एपीआई को बदलना पसंद है, इसलिए मेरा पुराना कोड वर्तमान संस्करण के साथ संकलित करने की संभावना नहीं है। आप कोडेक संदर्भ बनाने के लिए पर्याप्त काम करना चाहते हैं, जिसे आप अपनी आवश्यकता के अनुसार निरीक्षण कर सकते हैं।

कुछ अन्य विकल्प:


संपादित करें:

http://code.google.com/p/pyffmpeg/ हो सकता है कि आप जो चाहते हैं (मैंने इसे स्वयं नहीं उपयोग किया है)।

+0

तो इसका मतलब है कि कोई पुस्तकालय नहीं है जो उस जानकारी को वापस कर सकता है? –

+0

मैंने pyffmpeg को देखा लेकिन मुझे पता नहीं चला कि मैं उस जानकारी को कैसे प्राप्त करना चाहता हूं। इसके अलावा यह मेलिंग सूचियों से व्यापक पैचिंग के बिना मेरे मैक पर संकलित नहीं होगा, और फिर भी जब मैं इसके साथ फाइल खोलने की कोशिश करता हूं तो यह मुझे बस त्रुटि 10 देता है। –

1

आप Gstreamer में decodebin2 का उपयोग कर सकते हैं। कोड उदाहरणों के लिए TAE पर एक नज़र डालें।

+0

पॉइंटर के लिए धन्यवाद, ऐसा लगता है कि मुझे बहुत कुछ चाहिए ... –

6
ffprobe -show_format -show_streams -loglevel quiet -print_format json YOUR_FILE 

बस subprocess.check_output के साथ इस आह्वान और आप अपने मीडिया फ़ाइल की एक सुंदर JSON विवरण मिल जाएगा। यदि आपको stdin से डेटा को पकड़ने की आवश्यकता है, तो POUR: 0 के साथ YOUR_FILE को प्रतिस्थापित करें।

ffprobe ffmpeg के साथ आता है।

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