से मुख्य फ्रेम निष्कर्षण मुझे वीडियो/स्ट्रीम से कुंजी फ्रेम्स निकालने की आवश्यकता है। तो क्या कोई मानक कार्यान्वयन है। मैं खुली सीवी का उपयोग कर रहा हूं। (वर्तमान में मैं धीमी गति से प्रत्येक सेकेंड में फ्रेम निकालने जा रहा हूं, मुझे प्रदर्शन में सुधार करने की आवश्यकता है।) तो अगर किसी ने कार्यान्वयन को अनुकूलित किया है तो कृपया यहां जवाब दें।वीडियो
वीडियो
उत्तर
ffmpeg का उपयोग करते हुए आप निम्नलिखित कोड का उपयोग कर सभी प्रमुख तख्ते निकाल सकते हैं:
ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -i yourvideo.mp4 -vsync 2 -s 160x90 -f image2 thumbnails-%02d.jpeg
क्या -vf एक ffmpeg कमांड लाइन में इस प्रकार एक Filtergraph वर्णन है। चयन फ़िल्टर आउटपुट में पास करने के लिए फ्रेम का चयन करता है। फ़िल्टर का निरंतर "pict_type" और मान "PICT_TYPE_I" है। तो ffmpeg केवल आउटपुट में कुंजी फ्रेम पास कर रहा है।
-vsync 2 प्रत्येक कुंजी फ्रेम के लिए एक से अधिक प्रति उत्पन्न करने के लिए ffmpeg को रोकता है।
-f image2 छवि फ़ाइलों को वीडियो फ्रेम लिखता है। आउटपुट फ़ाइल नाम एक पैटर्न द्वारा निर्दिष्ट किए जाते हैं, जिनका उपयोग अनुक्रमिक रूप से क्रमांकित श्रृंखलाओं की श्रृंखला के उत्पादन के लिए किया जा सकता है। पैटर्न में "% d" या "% 0Nd" स्ट्रिंग हो सकती है।
मुझे लगता है कि कीफ्रेम एक फ्रेम प्रस्तुत करने वाली सामग्री पिछले लोगों से बहुत अलग है (यह औपचारिक परिभाषा नहीं है, लेकिन यह फिट बैठती है)। फ्रेम लें i और i + 1। सभी पिक्सल मतभेदों का योग प्राप्त करने के लिए फ्रेम और cv2.sumElems के बीच अंतर की गणना करने के लिए cv2.absDiff का उपयोग करें। यह सभी फ्रेम i के लिए करें। इससे आपकी वीडियो स्ट्रीम एक आयामी सिग्नल तक कम हो जाएगी। इस सिग्नल में चोटियों देखें और इन चोटियों से संबंधित कीफ्रेम चुनें।
मुझे आरजीबी मूल्यों के लिए sumElems() से एक स्केलर लौटाया गया है। इस स्केलर को सबसे बढ़िया तरीका कैसे संभालें? योग आरजीबी चैनल? केवल एक निश्चित चैनल पर ध्यान केंद्रित करें? – sschrass
आरजीबी चैनलों को समेटें या सिर्फ ग्रेस्केल का उपयोग करें। –
क्या आप चोटी पर फ्रेम ढूंढने के लिए नमूना कोड साझा कर सकते हैं – geek
ffmpeg समाधान अच्छी तरह से काम करना चाहिए।
किसी को चुनिंदा फ़िल्टर 'eq (pict_type \, PICT_TYPE_I)' के साथ समस्याओं का सामना करने के लिए, आप फ़िल्टर को 'eq (pict_type \, I)' के रूप में आज़मा सकते हैं। यह थोड़ी देर के लिए टूट गया था इसलिए ffmpeg के कुछ संस्करण निरंतर पहचान नहीं सकते हैं। फिक्स here देखा जा सकता है।
अंतिम आदेश जो मेरे लिए अंत में काम किया था:
ffmpeg -vf select='eq(pict_type\,I)' -i yourVideo.mp4 -vsync 2 -s 160x90 -f image2 thumbnails-%02d.jpeg
अगर कुछ ऊपर कोड के साथ गलत, इस तर्क के क्रम आज़मा सकते हैं।
ffmpeg -i yourVideo.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -s 160x90 -f image2 thumbnails-%02d.jpeg
आप कुंजी फ्रेम निकालने के लिए ffprobe का उपयोग कर सकते हैं। यह ffmpeg में एक उपकरण है।
ffprobe in.mp4 -select_streams v -show_entries frame = key_frame, pkt_pts_time -of csv = nk = 1: p = 0 | findstr "1,"
कुछ और जानकारी चाहिए –
- 1. वीडियो व्यू लूपिंग वीडियो
- 2. एंड्रॉइड वीडियो व्यू - वीडियो
- 3. वीडियो
- 4. वीडियो
- 5. वीडियो बदलें एचटीएमएल 5 वीडियो
- 6. ऑटोस्टार्ट + लूप वीडियो यूट्यूब वीडियो
- 7. वीडियो प्ले करें जब वीडियो usinng mediaplayer
- 8. .avi वीडियो
- 9. वीडियो यूआरएल
- 10. वीडियो कॉल
- 11. एक वीडियो
- 12. वीडियो यूआरएल
- 13. वीडियो एंड्रॉयड
- 14. वीडियो व्याख्यान
- 15. वीडियो AVFoundation
- 16. यूट्यूब वीडियो
- 17. UIImagePickerController: वीडियो
- 18. वीडियो बफरिंग
- 19. HTML5 वीडियो
- 20. वीडियो व्यू
- 21. कैमरा वीडियो
- 22. iOS: वीडियो
- 23. वीडियो व्यू
- 24. वीडियो व्यू
- 25. प्रदर्शन वीडियो
- 26. उस वीडियो के वीडियो आईडी से डेलीमोशन वीडियो से वीडियो थंबनेल कैसे प्राप्त करें जैसे यूट्यूब में?
- 27. एचटीएमएल 5 वीडियो जावास्क्रिप्ट नियंत्रण - वीडियो को पुनरारंभ करें
- 28. वीडियो अनुक्रम को वीडियो फ़ाइल में कनवर्ट करें एंड्रॉइड जावा
- 29. वीडियो रोकना एचटीएमएल 5 वीडियो टैग में ऑडियो नहीं रोकता
- 30. एंड्रॉइड वीडियो व्यू में यूट्यूब वीडियो कैसे प्रदर्शित करें?
ओपनसीवी में इसे कैसे करें? – Treper
मुझे 'अनिर्धारित स्थिर या अनुपलब्ध '(' PICT_TYPE_I में '' ' – puk
हैलो! यह एक मूल्यवान कमांड है, हालांकि इसका ऑर्डर गलत है और आप छवियों को फिर से आकार दे सकते हैं। आपको सब कुछ पहले, पहले -i video.mp4 रखना चाहिए। यह इस प्रकार है: ffmpeg -i "yourInputVideo.mp4" -vf select = "eq (pict_type \, PICT_TYPE_I)" -vsync 2 -f image2 थंबनेल_% 02d.jpeg –