2012-05-31 9 views
6

के साथ बैच फ़ाइल बनाना मैंने लोगों को एफएफएमपीईजी के साथ एमपी 4 वीडियो को एफएलवी में बदलने में मदद करने के लिए एक छोटी बैच फ़ाइल बनाई है। इसे हर किसी के लिए आसान बनाने का एक तरीका मैं इसका उपयोग करना जानता हूं। मैं सोच रहा था कि मैंने जो लाइन डाली है वह हर स्थिति के लिए सही थी (एमपी 4 फ़ाइल को एफएलवी में परिवर्तित करना), लेकिन कुछ दिन पहले, यह फाइल के लिए काम नहीं करता था। (एफएलवी प्रारूप के लिए उच्च ऑडियो नमूना)"आईएफ" कमांड

मुझे लोगों को इसे बदलने के लिए अन्य कोडलाइन की मदद से मिला, लेकिन मुझे नहीं पता कि मेरी बैच फ़ाइल में इसे सही ढंग से एकीकृत कैसे किया जाए।

गूंज "फ़ाइल का नाम लिखें, विस्तार whitout":

क्या अभी मैं का उपयोग नहीं है सेट /p namefile =

"गूंज तुम क्या करने के लिए नाम दर्ज करें गंतव्य फ़ाइल "करने के लिए दे:/p destinationfile सेट =

ffmpeg मैं% namefile% .mp4 -c: वी libx264 -crf 19% destinationfile% .flv

और मैं एक "आईएफ" जोड़ना चाहता हूं। क्योंकि है कि अगर इस लाइन के साथ काम नहीं करता है, का उपयोग करें कि एक:

ffmpeg मैं% namefile% .mp4 -c: वी libx264 -ar 22050 -crf 28 % destinationfile% .flv

मैं यह कैसे कर सकता हूं?

आपकी मदद के लिए बहुत बहुत धन्यवाद और अगर मैं किसी चीज़ पर अस्पष्ट हूं, तो बस मुझे बताओ और मैं इसे स्पष्ट करने के लिए अपनी पूरी कोशिश करूंगा।

धन्यवाद!

+0

का उपयोग किए बिना कर सकते हैं आप सरल शब्दों में उस स्थिति को लिखते हैं जिसमें आप परीक्षण करना चाहते हैं 'if' कथन? –

+1

हाय और धन्यवाद इस त्वरित उत्तर के लिए @EitanT! मुझे आपके प्रश्न का पूरी तरह से यकीन नहीं है, इसलिए यदि मैं गलत हूं, तो बस मुझे बताओ! जिस स्थिति को मैं ढूंढ रहा हूं, है 'यदि एफएफएमपीईजी वीडियो को परिवर्तित नहीं कर सकता है, तो इस अन्य कोडलाइन का उपयोग करें "।' या यदि हम समस्या के बारे में बात करते हैं तो आखिरी वीडियो मिलता है, यह है 'यदि ऑडियो नमूना 11025,22050 या 44100 नहीं है, तो उस कोडलाइन' का उपयोग करें, मुझे आशा है कि मैं आपके प्रश्न का सही उत्तर दूंगा! धन्यवाद !! –

+0

मैंने एक उत्तर पोस्ट किया है। इसे आज़माएं ... –

उत्तर

8

मुझे यकीन है कि अगर FFMPEG विफलता के मामले में एक मानक त्रुटि कोड देता है नहीं कर रहा हूँ, लेकिन अगर यह होता है, आप निम्नलिखित का उपयोग कर सकते हैं: इस दृष्टिकोण काम नहीं करता है

ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv 
if not errorlevel 1 goto Done 
ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 
:Done 

, आप जाँच कर सकते हैं आगे की कार्रवाई निर्धारित करने के लिए गंतव्य फ़ाइल का अस्तित्व:

ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv 
if exist %destinationfile%.flv goto Done 
ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 
:Done 

इन कार्यों में से एक आशा है।

+0

आपकी त्रुटि तर्क आपकी पहली स्क्रिप्ट में उलटा हुआ है। इसे पढ़ना चाहिए 'अगर त्रुटि नहीं है 1 goto हो गया' – dbenham

+0

धन्यवाद। निश्चित है कि। –

4

ईटनटी के पहले समाधान के समान, लेकिन गोटो का उपयोग किए बिना।

ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv 
if errorlevel 1 ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 

या
संपादित - कोड मिल गया छोटा कर दिया था, सब अब तय

ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv||ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 

EitanT की दूसरी समाधान की तरह, लेकिन गोटो

ffmpeg -i %namefile%.mp4 -c:v libx264 -crf 19 %destinationfile%.flv 
if not exist %destinationfile%.flv ffmpeg -i %namefile%.mp4 -c:v libx264 -ar 22050 -crf 28 %destinationfile%.flv 
+0

बैच में 'गोटो 'के साथ क्या गलत है? –

+0

@EitanT - किसी भी गोटो के साथ तकनीकी रूप से गलत नहीं है। लेकिन गॉट बैच में धीमा है, और गोटो के बिना कोड सरल और छोटा है। इस मामले में गति अंतर महत्वहीन है, लेकिन जब तक तर्क स्पष्ट रहता है तब तक मुझे कोड की मात्रा को कम करना पसंद है। – dbenham

+0

मुझे नहीं लगता कि बैच शामिल होने पर प्रदर्शन एक मुद्दा है ... इसके अलावा, मैं 'गोटो डोन' को सी में 'रिटर्न' के बराबर के रूप में देखता हूं, इसलिए मेरे लिए यह वास्तव में स्पष्ट लगता है। लेकिन मुझे लगता है कि शैली अगर यह एक मामला है। –

संबंधित मुद्दे