एमपी 3 फ़ाइलों के बैच से दो वर्गों को काटें


0

मेरे पास कई सौ एमपी 3 फ़ाइलों के साथ एक फ़ोल्डर है, और मैं प्रत्येक फ़ाइल से दो खंडों को काटना चाहता हूं। यह प्रत्येक फ़ाइल में समान स्पॉट है - 0'00.00-0'03.81 से, और फिर 0'08.83–0'13.95 से।

मैं विंडोज 7 पर हूं, हालांकि अगर यह मदद करता है तो मैं आसानी से 8 या 10 का उपयोग कर सकता हूं। कमांड लाइन पर काम करने के बारे में बिल्कुल भी नहीं।

किसी भी विचार मैं इसे कैसे प्राप्त कर सकता हूं?


मैंने mp3splt नामक एक कार्यक्रम देखा। कमांड लाइन का उपयोग होता है- mp3splt song.mp3 10.12 14.25 -o out.mp3 (स्प्लिट सॉन्ग। एमपी 3 10min 12sec से शुरू होकर 14mins 25sec पर समाप्त होता है और mp3.sice को एक नई फाइल में सेव करता है जिसे out.mp3 कहा जाता है। "( superuser.com/ ) प्रश्न / 277678 /… (जैसा कि इस प्रश्न पर मेरी टिप्पणी में लिखा गया है) इसलिए यदि आप एक फाइल पर कोशिश करने का प्रबंधन करते हैं, तो सवाल यह है कि इसे फ़ाइलों के एक बैच में कैसे लागू किया जाए। और जिस तरह से मैं ऐसा करूँगा। हैdir /s/b *.mp3 >filelist.txt
बार्लोप

तब (बल्कि कमांड प्रॉम्प्ट तकनीक को बंद करने के लिए प्राचीन शेख़ी की तरह, लेकिन कमांड प्रॉम्प्ट को बंद किए बिना), मैं कुछ टेक्स्ट एडिटर का उपयोग करूंगा जो उन फ़ाइलनामों को कमांड में बदलने के लिए समर्थन करता है जिन्हें आप चाहते हैं। उदाहरण के लिए प्रत्येक पंक्ति की शुरुआत और अंत को जोड़ना ताकि प्रत्येक पंक्ति उस फ़ाइल के लिए एक कमांड है। और फिर फ़ाइल को बल्ले के रूप में नाम बदलें और इसे निष्पादित करें। अन्य विकल्प के लिए है / f यह फाइलों की एक सूची खिला और प्रत्येक आदेश उत्पन्न करते हैं। लेकिन पहले चरण 1 का प्रयास करें, यह एक फ़ाइल पर mp3splt है।
बार्लोप

मैं देख सकता हूं कि पहले खंड को काटने के लिए मैं इसका उपयोग कैसे करूंगा। लेकिन मैं इसे दूसरे को करने के लिए कैसे उपयोग करूंगा, जहां वास्तव में मैं फाइल को अनुभागों में विभाजित कर रहा हूं और सिर्फ दूसरा हटा रहा हूं? आपके द्वारा दी गई कमांड ऐसा लगता है कि वह एक स्लाइस को काटना चाहता है और केवल उसे रखना चाहता है, न कि एक स्लाइस को काटकर उसे निकालना चाहता है। मैंने mp3splt के लिए मैन पेज देखा है, और मुझे वह नहीं दिख रहा है जिसकी मुझे आवश्यकता है।
प्रवक्ता

मुझे लगता है कि आप एक फ़ाइल को विभाजित कर सकते हैं, जिसे आप नहीं चाहते हैं कि भागों के बिना इसे वापस एक साथ रख सकते हैं। askubuntu.com/questions/20507/… और stackoverflow.com/questions/62618/…
बार्लोप

1
वहाँ भी ffmpeg है, लेकिन कभी-कभी जब यह सुनिश्चित करने के लिए क्या विशिष्ट मानकों को पारित करने के लिए नहीं है यह यहाँ सामान्य से भी मुश्किल moreso हो सकता है! stackoverflow.com/questions/43728169/…
बार्लोप

जवाबों:


1

तो, मैं कैसे ffmpeg के साथ यह करने के लिए बाहर लगाना समाप्त हो गया मामले में किसी और को कुछ बिंदु पर आश्चर्य हो रहा है, यहाँ है कैसे।

Btw: ये सभी एक फ़ोल्डर में 216 फाइलें हैं, और फ़ाइल नाम का एक क्रम संख्या है। कि डॉस लूपिंग के लिए यह थोड़ा आसान हो गया।

सबसे पहले मैंने एक सादा पाठ फ़ाइल बनाया था, जिसे temps.txt कहा जाता है , जिसमें यह केवल दो पंक्तियाँ हैं:

फ़ाइल temp1.mp3
फ़ाइल temp2.mp3

आप देखेंगे कि एक मिनट में क्या होता है।

फिर मैंने एक बैच फ़ाइल लिखी जो निर्देशिका में सभी फ़ाइलों के माध्यम से लूप करती है (ऊपर क्रमिक संख्या के आधार पर), और प्रत्येक पर दो ffmpeg ऑपरेशन चलाता है:

For / L %% i IN (1,1,216) DO (ffmpeg.exe
  -y -i OriginalFile %% i.mp3 -ss 00: 03.81 -to 00: 08.83 -acodec कॉपी "temp1.mp3" -ss 00: 13.95 -acodec कॉपी "temp2.mp3" ffmpeg.exe
  -y -safe 0 -f concat -i temps.txt -c copy NewFile %% i.mp3
)

पहला ऑपरेशन दो वांछित खंडों को पकड़ता है और उन्हें temp1.mp3 और temp2.mp3 पर कॉपी करता है (मैं उन्हीं दो फ़ाइलनामों का पुन: उपयोग करता रहा)। ffmpeg आपको एक कमांड लाइन पर दोनों वर्गों को अलग करने की अनुमति देता है, जो अच्छा है। इसके अलावा, आप ध्यान दें कि दूसरे भाग में केवल -ssटाइमस्टैम्प है, और कोई -toस्टैम्प नहीं है । यह केवल दूसरे टाइमस्टैम्प के रूप में फ़ाइल के अंत का उपयोग करने की अनुमति देता है।

दूसरा ऑपरेशन ffmpeg को temps.txt फाइल में देखने के लिए कहता है और वहां सूचीबद्ध दो फाइलों को समाप्‍त करता है। Temp फ़ाइल नामों का पुन: उपयोग करना इसीलिए है क्योंकि मैं अभी-अभी स्थिर temps.txt फ़ाइल बनाने में सक्षम था जो मैंने ऊपर बनाई थी।

मैंने इसे काफी स्पष्ट रूप से लिखा है (निर्देशिका में फ़ाइलों की संख्या को हार्ड-कोड करना, अस्थायी फ़ाइलों का पुन: उपयोग करना , कमांड लाइनों में -y ध्वज का उपयोग करना ), क्योंकि मुझे पता था कि मुझे वास्तव में क्या काम करना था, और मेरे पास इसका बैकअप था वैसे भी। यदि आप इसे पुनर्प्राप्त कर रहे हैं, तो आप उन चीजों के बारे में थोड़ा और नाजुक होना चाह सकते हैं।

साथ ही, मैंने इस प्रक्रिया में सभी मेटाडेटा खो दिए। शायद इसे संरक्षित करने का एक आसान तरीका है, लेकिन मुझे यह समझ में नहीं आया। मेरे लिए बस एक बार फिर से नई फाइलों में जोड़ना आसान है ( MP3Tag का उपयोग करके , सभी समय की सबसे बड़ी उपयोगिताओं में से एक)।

इसलिए यह अब आपके पास है।

Btw, कुछ लिंक जो मुझे यह पता लगाने में मदद करते हैं:

  • मैंने ffmpeg से शुरुआत की - री-एन्कोडिंग के बिना ऑडियो फ़ाइल ट्रिम
  • फिर मैं कल्पना ffmpeg प्रलेखन के साथ निर्दिष्ट करने के लिए बेला
  • सहमति के लिए मुझे स्टैक ओवरफ्लो प्रश्न के इस उत्तर से बहुत कुछ मिला । सवाल वीडियो के बारे में था, जो बहुत अधिक जटिल है, लेकिन इस जवाब ने मुझे ऑडियो के बारे में जानने के लिए आवश्यक सब कुछ बता दिया। विशेष रूप से, मैंने दूसरी विधि का उपयोग किया जो इस उत्तर का वर्णन करता है।
  • और अंत में, मैंने वास्तव में इसका उपयोग नहीं किया, लेकिन इस विकी पर कॉनकट कमांड के बारे में अधिक उपयोगी जानकारी है - जिसमें विंडोज या बैश पर एक सूची फ़ाइल को ऑटो-जनरेट करने के निर्देश भी शामिल हैं।

(उन जोड़ने के सुझाव के लिए @barlop को धन्यवाद।)


प्रभावशाली .. btw, अगर आपको कोई विशेष लिंक मिला है जो उस उत्तर को प्राप्त करने में उपयोगी है, तो यह उनके लिए लायक है
बार्लोप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.