मैं कुछ ऐसा करता था जैसे आपकी तलाश हो। यह एक बहुत ही बुनियादी लूप है जो एक .iso एक्सटेंशन वाली सभी फाइलों को खोजता है। यह उन्हें .mp4 एक्सटेंशन के साथ Xbox 360 प्रीसेट में एनकोड करता है। उस फ़ाइल को .bat के रूप में सहेजें और आप इसे अपनी फ़ाइलों को एनकोड करने के लिए चला सकते हैं।
@echo off
for %%f in (*.iso) do (
M:\HandBrakeCLI -i 'M:\encode\%%f' -o 'M:\encode\%%f.mp4' -Z 'Xbox 360' -S '700' -2 -T -L
)
pause
ध्यान रखें कि उपरोक्त स्क्रिप्ट M: \ encode \ folder में प्रत्येक फ़ाइल को एनकोड करेगी, इसलिए आप थोड़ा और कोड जोड़ना चाहेंगे। एक विकल्प यह होगा कि फ़ाइलों को उस निर्देशिका से बाहर ले जाने के बाद, जब वे एन्कोडेड होते हैं, एक अन्य विकल्प यह जाँचना होगा कि फ़ाइल पहले से एनकोड की गई है या नहीं।
एक बार आपके पास स्क्रिप्ट है कि आप इसे कैसे चाहते हैं, आप एक निर्धारित अंतराल पर स्क्रिप्ट को चलाने के लिए विंडोज शेड्यूलर सेट कर सकते हैं। मैं हर रात आधी रात को खदान चलाता हूं, लेकिन अगर आप तेजी से परिणाम चाहते हैं तो आप इसे हर 10 मिनट में चला सकते हैं (बस यह सुनिश्चित करें कि यह दूसरी बार फिल्म को एन्कोड करना शुरू नहीं करता है अगर इसे एन्कोड करने में 10 मिनट से अधिक समय लगता है)।
मैंने तब से लिनक्स पर स्विच किया है और मेरी लिनक्स स्क्रिप्ट में थोड़ा अधिक तर्क का उपयोग किया गया है जो आपको उपयोगी लग सकता है। यह स्क्रिप्ट जांचती है कि क्या फ़ाइल पहले से एनकोडेड है (यदि यह मौजूद है), और यदि यह है, तो यह इसे छोड़ देता है। मुझे डर है कि मैं बैच पर कुछ शोध के बिना इस तर्क को लिखने के लिए पर्याप्त नहीं हूं, लेकिन मुझे पता है कि यह संभव है।
#### Checks if .mov file exists and encodes it if it does not exist ####
for file in *.ISO
do
if [ -f /raid/mp4/${file%.*}.mov ] || [ -f /raid/mp4/${file%.*}.ISO.mov ]
then
echo "Already Encoded ${file}"
else
echo /media/raid/mp4/"${file%.*}.mov"
HandBrakeCLI -i "${file}" --main-feature -o /media/raid/mp4/"${file%.*}.mov" -f mp4 -O --strict-anamorphic -e x264 -q 20 -a 1 -E faac -6 dpl2 -R Auto -B 160 -D 0.0 --markers="${file}-chapters.csv" -x ref=2:bframes=2:subq=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0 --verbose=1
fi
done
अपने सवालों के जवाब देने के लिए:
- मैं सिर्फ सॉफ्टवेयर जोड़ने के विपरीत स्क्रिप्ट को एक शेड्यूल पर चलाने की सलाह दूंगा।
- या तो काम करेगा, पृष्ठभूमि शायद सबसे सुविधाजनक है।
- मुझे लगता है कि उनकी फ़ाइलों को कतार में रखने का एक तरीका है, मैं इसे केवल क्रमिक रूप से चलाता हूं, यानी एक समय में जब तक यह किया जाता है,
- नहीं, हैंडब्रेक को फ़ाइलों को माउंट करने की आवश्यकता नहीं है।