खोजते समय libvlc_media_player_set_position विफल रहता है I h264 एन्कोडेड mp4 फ़ाइल (जिसमें ध्वनि, केवल वीडियो फ्रेम शामिल नहीं है) से फ्रेम को कैप्चर करने के लिए libvlc 3.0.0 (मैंने 2.2.0 भी कोशिश की है) का उपयोग कर रहा हूं, दृश्य के साथ विंडोज 7 पर स्टूडियो 2012. मैं बिना किसी समस्या के खेल सकता हूं, रोक सकता हूं, रोक सकता हूं और आगे बढ़ सकता हूं। लेकिन जब मैं पीछे की ओर की तलाश करने की कोशिश, मैं समस्याओं में चलाने:पिछला
परिदृश्य: अगर मैं केवल
libvlc_media_player_set_position
(याlibvlc_media_player_set_time
) कहते हैं, ऐसा लगता है जैसे कि यह स्थिति को जाता है। लेकिन वीएलसी फ्रेम प्राप्त कॉलबैक भेजना बंद कर देता है (दूसरे शब्दों में, खिलाड़ी फ्रीज) जब तक यहlibvlc_media_player_set_position
फ़ंक्शन नामक पहले (या अगले) फ्रेम तक नहीं पहुंच जाता है।counter = 0; while (true) { sleep(40); // 25 hz ++counter; if(counter % 100 = 0) { // assuming current_position > 0.1f libvlc_media_player_set_position(p_mi, 0.1f); } }
परिदृश्य: मैं इसे ही काम करता है, तो मैं पहली बार है, तो खिलाड़ी को रोकने के तो शुरू से ही खेलना शुरू कर सकते हैं।
counter = 0; while (true) { sleep(40); // 25 hz ++counter; if(counter % 100 = 0) { // assuming current_position > 0.1f libvlc_media_player_stop(p_mi); libvlc_media_player_play(p_mi); libvlc_media_player_set_position(p_mi, 0.1f); } }
इस परिदृश्य के साथ समस्या यह है, अगर मैं थोड़ी देर के लिए पिछड़े स्थिति रखने के लिए, मैं त्रुटि
core decoder error: cannot continue streaming due to errors
(VLC कमांड लाइन करने के लिए त्रुटि प्रिंट) मिलता है।Unhandled exception at 0x... (libavcodec_plugin.dll) in vlctest.exe: 0xC0000005: Access violation reading location 0x00000040
यह गलत लगता है पहले प्राप्त करने के लिए वीडियो प्लेबैक पुनः आरंभ करने की: इस त्रुटि यह बंद हो जाता है खेल रहे हैं (दुबारा जमने), और अगली बार मैं की तलाश करने की कोशिश करने के बाद, मैं एक "पहुँच उल्लंघन" त्रुटि मिलती है। क्या मैं कुछ भूल रहा हूँ?
अग्रिम धन्यवाद!
मैंने अभी के लिए vlc के बजाय opencv का उपयोग करना शुरू कर दिया है। लेकिन मैं अभी भी समाधान जानना चाहता हूं। – seleciii44