मेरे पास एक ऐप है जो एक बच्चे की प्रक्रिया के रूप में ffmpeg / ffprobe चलाता है (कमांड लाइन पर चलने के समान), और फिर फ़ाइल के बारे में मेटाडेटा प्राप्त करने और / या फ़ाइल के ट्रांसकोडिंग करने के लिए कमांड आउटपुट को पार्स करता है। और मेरे ऐप को यह जानने की जरूरत है कि दी गई फाइल DRM सुरक्षित है या नहीं ।
नोट - मैंने इस प्रश्न को देखा है । यह DRM सुरक्षा निर्धारित करने के लिए आउटपुट के प्रोग्रामेटिक पार्सिंग को संबोधित नहीं करता है। यह केवल आउटपुट के मानव पार्सिंग को संबोधित करता है।
मुझे पहले से ही पता है कि मैं ffprobe चला सकता हूं और अगर मैं अपनी आंखों से आउटपुट के माध्यम से स्कैन करता हूं और "DRM सुरक्षा का पता लगाया गया ... डिकोडिंग संभवतः विफल हो जाएगा" जैसा कुछ आउटपुट में देखें, मुझे पता है कि फ़ाइल संरक्षित है। यह नमूना आउटपुट देखें:
ffprobe -hide_banner CelticWoman-OnlyAWomansHeart.wma
[asf @ 0x7f9bab000000] DRM protected stream detected, decoding will likely fail!
Input #0, asf, from 'CelticWoman-OnlyAWomansHeart.wma':
Metadata:
...
हालाँकि, उपरोक्त आउटपुट में दो समस्याएं हैं:
1 - यह मशीन के अनुकूल नहीं है । मुझे कुछ शब्दों की तलाश के लिए आउटपुट के पूरे समूह के माध्यम से स्कैन करना होगा। इस तरह के आउटपुट को पार्स करना अक्षम है, क्योंकि यह मानव उपभोग के लिए है, मशीन की खपत के लिए नहीं।
2 - मुझे नहीं पता कि उपरोक्त आउटपुट विभिन्न फ़ाइल प्रकारों के अनुरूप है या नहीं। दूसरे शब्दों में, ऊपर का नमूना आउटपुट एक ASF कंटेनर में WMA फ़ाइल के लिए है। क्या होगा अगर यह एक FLAC या DTS या अन्य प्रकार की फ़ाइल थी? क्या वर्बेज का उपयोग वही होगा, ताकि मेरा ऐप हर बार पार्स और इसका पता लगा सके?
मुझे जो कुछ चाहिए वह आउटपुट प्रॉपर्टी है जिसे मेरा ऐप मज़बूती से और अनुमानित रूप से पार्स कर सकता है ... कुछ मुख्य-मूल्य जोड़ी जैसे "ड्रम-प्रोटेक्टेड = ट्रू" जो कि मीडिया फ़ाइल प्रकारों के अनुरूप है
तो, ffprobe / ffmpeg पर क्या विकल्प मुझे एक मशीन-पार्स करने योग्य कुंजी-मूल्य जोड़ी देगा जो मुझे बताता है कि क्या फ़ाइल में DRM सुरक्षा है?
बहुत - बहुत धन्यवाद !