से स्मृति आवंटित नहीं किया जा सकता है मैंने इस मुद्दे पर कई समान पोस्ट पढ़ी हैं लेकिन कोई भी मेरी मदद करने के लिए प्रतीत नहीं होता है। यदि यह वास्तव में एक डुप्लिकेट पोस्ट है, तो कृपया मुझे समाधान युक्त थ्रेड पर निर्देशित करें!OSError: [Errno 12] python subprocess.call
मैं छवियों का एक समूह सहेज रहा हूं और फिर subprocess.call के साथ ffmpeg को कॉल कर रहा हूं। मैं अलग-अलग छवियों के संग्रह के लिए इसे कई बार करता हूं। यह मूल रूप से मैं कर रहा हूं:
from subprocess import call
for video in videos:
call(['ffmpeg', ..., '-i', video, video+'.mp4')])
अलगाव में यह ठीक काम करता है। हालांकि, जब मेरे पास इन कॉल से पहले कुछ अन्य प्रसंस्करण भी किया जाता है (लूप के भीतर नहीं, शब्दशः केवल लूप शुरू होने से पहले स्मृति में मूल्य धारण करते हैं), यह कई वीडियो बनाने के बाद स्मृति त्रुटि के साथ दुर्घटनाग्रस्त हो जाता है (वास्तव में आखिरी बार बनाते समय एक)। this comment के अनुसार, subprocess.call फोर्क्स/वर्तमान प्रक्रिया को क्लोन करता है, जिसका अर्थ यह है कि यह स्मृति आवंटन का अनुरोध करता है कि वर्तमान में स्मृति में कितना है, जो कि ffmpeg को कॉल करने के लिए मैं क्या करना चाहता हूं।
मैं अजगर की अनावश्यक मात्रा आवंटित किए बिना पाइथन के भीतर ffmpeg कैसे कॉल कर सकता हूं?
उत्तर यहाँ consice और स्पष्ट है: उपप्रक्रिया कांटे की प्रक्रिया और स्मृति बढ़ा सकते हैं। यहां एक अधिक शामिल एसओ क्यू एंड ए है जो मदद भी कर सकता है: http://stackoverflow.com/questions/1367373/python-subprocess-popen-oserror-errno-12-cannot-allocate-memory उन लोगों को अधिक जानकारी दें जिनके पास यह समस्या है – Paul