पहली 30 सेकंड के लिए एमपी 3 फसल


103

मूल प्रश्न

मैं एक मौजूदा एमपी 3 फ़ाइल से एक नया (पूरी तरह से वैध) एमपी 3 फ़ाइल उत्पन्न करने में सक्षम होना चाहता हूं - पूर्वावलोकन-कोशिश-पहले-आप-खरीद शैली के रूप में। नई फ़ाइल में केवल ट्रैक के पहले n सेकंड शामिल होने चाहिए ।

अब, मुझे पता है कि मैं फ़ाइल डिलीवर करते समय n सेकंड पर ( " बिटरेट और हेडर साइज से गणना) " स्ट्रीम को काट सकता हूं , लेकिन VBR ट्रैक पर यह थोड़ा गंदा और वास्तविक PITA है। मैं एक उचित एमपी 3 फ़ाइल उत्पन्न करने में सक्षम होना चाहता हूँ।

किसी को कोई विचार?

जवाब

दोनों mp3splitऔर ffmpegदोनों अच्छे समाधान हैं। मैंने ffmpeg को चुना क्योंकि यह आमतौर पर लिनक्स सर्वरों पर स्थापित होता है और खिड़कियों के लिए भी आसानी से उपलब्ध है । यहाँ ffmpeg के साथ पूर्वावलोकन उत्पन्न करने के लिए कुछ और अच्छी कमांड लाइन पैरामीटर हैं

  • -t <seconds> निर्दिष्ट सेकंड के बाद काट लें
  • -y बल फ़ाइल अधिलेखित करें
  • -ab <bitrate>बिटरेट सेट करें जैसे -ab 96k
  • -ar <rate Hz>22.05kHz के लिए -ar 22050 जैसे नमूना दर निर्धारित करें
  • -map_meta_data <outfile>:<infile> नकल ट्रैक मेटाडाटा से लेकर शिशु तक

-ab और -ar सेट करने के बजाय, आप मूल ट्रैक सेटिंग्स कॉपी कर सकते हैं, जैसा कि टिम फार्ले सुझाव देते हैं:

  • -acodec copy

मैंने इसे इस विशिष्ट उद्देश्य के लिए उपयोग नहीं किया है, लेकिन मुझे लगता है कि यह ffmpeg कर सकता है।
अंगूर

बस एक विचार: आप मूल गीत की शुरुआत को छोड़ना चाह सकते हैं। कहते हैं, आप गीत के तीसरे भाग में शुरू होने वाले 30 सेकंड के टुकड़े का उपयोग कर सकते हैं । कुछ गीत में, पहले 30 सेकंड आप ज्यादा नहीं बताता है के रूप में यह सिर्फ एक "दृश्य की स्थापना" हिस्सा है - उदाहरण के लिए पिंक फ्लोयड के ऑन यू क्रेज़ी डायमंड शाइन
बजे टॉमस सेडोविक

बस ध्यान दें, मेरे पास CentOS पर ffmpeg, mptsplit और mp3cutter के साथ बहुत बुरा समय था, उन सभी ने "हेडर मिसिंग" की रिपोर्टिंग की। इसलिए, मुझे एमपी 3 क्लास और कुछ मैथ्स के साथ फाइल द्वारा कट करना पड़ा।
गार्डनर

मुझे नहीं लगा कि ffmpeg ऐसा कर सकता है। धन्यवाद।
श्रीधर सरनोबत

जवाबों:


142

मैं ffmpeg की भी सिफारिश करता हूं, लेकिन जॉन बोकर द्वारा सुझाई गई कमांड लाइन का एक अनपेक्षित साइड इफेक्ट है: यह फ़ाइल को डिफ़ॉल्ट बिटरेट (जो कि कम से कम मेरे पास यहां है संस्करण में 64 केबी / एस है) को फिर से एन्कोड करता है। यह आपके ग्राहकों को आपकी ध्वनि फ़ाइलों की गुणवत्ता का झूठा आभास दे सकता है, और ऐसा करने में अधिक समय भी लगता है।

यहां एक कमांड लाइन है जो ट्रांसकोडिंग के बिना 30 सेकंड तक स्लाइस करेगी:

ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3

-Acodec स्विच विशेष "कॉपी" कोडेक का उपयोग करने के लिए ffmpeg को बताता है जो ट्रांसकोड नहीं करता है। यह तेज बिजली है।

नोट: कमांड को ओबेन सोन की टिप्पणी के आधार पर अपडेट किया गया था


21
हाल के ffmpegसंस्करण (कम से कम 0.10.6) स्थिति के आधार पर अलग-अलग विकल्पों की व्याख्या करते हैं। इनपुट से संबंधित विकल्प पहले प्रदर्शित होने चाहिए -i ...और आउटपुट-रिलेटेड विकल्प के बाद दिखाई देना चाहिए -i ...। यह साधन ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3हैं अब सही जवाब हो।
ओबने सोन

क्या मैं 15 सेकंड इनपुट फ़ाइल से 30 सेकंड का ऑडियो निकाल सकता हूं, इसका मतलब है कि अगर फ़ाइल ग्रेटर है तो 30 सेकंड फिर 30 सेकंड निकालें लेकिन यदि फ़ाइल 15 सेकंड है तो दोहराएं और पूरा 30 सेकंड निकालें।
गिरीश पाटीदार

6
यदि आप शुरुआती समय (ऑफसेट) सेट करना चाहते हैं तो आप उपयोग कर सकते हैं -ss hh:mm:ss[.xxx]। उदाहरण: 00h 00m 15s 500ms से शुरू होने वाले 30 सेकंड केffmpeg -t 30 -ss 00:00:15.500 -i inputfile.mp3 -acodec copy outputfile.mp3 लिए टुकड़ा होगा ।
patryk.beza

1
ऊपर किसी कारण से मेरे लिए काम नहीं किया, लेकिन अगर मैंने इसे बदल दिया: ffmpeg -i inputfile.mp3 -t 30 -acodec copy outputfile.mp3तो यह पूरी तरह से काम कर रहा है
कृष्णेंदु

मेरे लिए -t और -s विकल्पों को 2 कमांड में अलग-अलग उपयोग किया जाना चाहिए। लेकिन यह काम करता है, धन्यवाद!
यान राजा यिन

57

यदि आप पहले 30 सेकंड (और शेष रखना) को प्राप्त करना चाहते हैं तो इसका उपयोग करें:

ffmpeg -ss 30 -i inputfile.mp3 -acodec copy outputfile.mp3


12

यह कमांड भी पूरी तरह से काम करता है। मैंने अपनी संगीत फ़ाइलों को 20 से 40 सेकंड तक क्रॉप किया।

-y: बल आउटपुट फ़ाइल को अधिलेखित करने के लिए।

ffmpeg -i test.mp3 -ss 00:00:20 -to 00:00:40 -c copy -y temp.mp3

1
उत्तम! इसे साझा करने के लिए धन्यवाद।
HerrimanCoder

11

आप एमपी 3 का उपयोग कर सकते हैं:

cutmp3 -i foo.mp3 -O 30s.mp3 -a 0:00.0 -b 0:30.0

यह उबंटू रेपो में है, इसलिए बस sudo apt-get install cutmp3:।


6

आप Mp3Splt को आज़माना चाह सकते हैं ।

मैंने इसे C # सेवा से पहले उपयोग किया है जो केवल mp3splt.exe win32 प्रक्रिया को लपेटता है। मुझे लगता है कि आपके लिनक्स / PHP परिदृश्य में ऐसा ही कुछ किया जा सकता है।


2
एमपी 3 कट के लिए सफलता के साथ MP3Split का इस्तेमाल किया
Freshblood

0

मुझे ऐसा करते समय एक त्रुटि मिली है

Invalid audio stream. Exactly one MP3 audio stream is required.
Could not write header for output file #0 (incorrect codec parameters     ?): Invalid argumentStream mapping:

मेरे लिए फिक्स था:

ffmpeg -ss 00:02:43.00 -t 00:00:10 -i input.mp3 -codec:a libmp3lame out.mp3

0

मेडिपैक एक रैपर ओवर के रूप में एक बहुत ही सरल कमांड-लाइन ऐप है ffmpeg

आप इन आदेशों का उपयोग करके अपने वीडियो को ट्रिम कर सकते हैं:

medipack trim input.mp3 -s 00:00 -e 00:30 -o output.mp3
medipack trim input.mp3 -s 00:00 -t 00:30 -o output.mp3

आप ट्रिम उपकमांड के विकल्प देख सकते हैं:

srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]

positional arguments:
  inp                   input video file ex: input.mp4

optional arguments:
  -h, --help            show this help message and exit
  -s START, --start START
                        start time for cuting in format hh:mm:ss or mm:ss
  -e END, --end END     end time for cuting in format hh:mm:ss or mm:ss
  -t TIME, --time TIME  clip duration in format hh:mm:ss or mm:ss
  -o OUTPUT, --output OUTPUT

आप अन्य विकल्पों का भी पता लगा सकते हैं medipack -h

srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...

positional arguments:
  {trim,crop,resize,extract}

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version number

आप README में https://github.com/srbcheema1/medipack और चेकआउट उदाहरण पर जा सकते हैं ।


1
क्या है इस रैपर का फायदा? क्योंकि यह किसी भी सरल से अधिक नहीं लगता हैffmpeg -i input -ss <start time> -to <end time> output
llogan

मैंने एक विकल्प भी जोड़ा है, -tजिसका उपयोग वैकल्पिक रूप से किया जा सकता है, -eजिसका अर्थ है कि मुझे अगले 4min 36 सेकंड के वीडियो को ट्रिम करना था, मुझे उन समयों को मैन्युअल रूप से जोड़ने की चिंता करने की आवश्यकता नहीं है, मैंने भी वीडियो को क्रॉप करते समय समान आसानी प्रदान की है, उदाहरण देखें README में आपको पॉइंट मिलेगा कि इसका सीएलआई साधारण एफएफएमपी की तुलना में अधिक आसान क्यों है। मैं मानता हूं कि यह इतना शक्तिशाली नहीं है, लेकिन सामान्य व्यक्ति के लिए इसका आसान उपकरण है।
srbcheema1

2
ffmpegहै -toविकल्प है जो अपने -tशायद करता है।
ललगन

फसल उपखंड के तहत README में उल्लिखित फसल% आयु विकल्प के बारे में क्या, वह भी उपलब्ध है ?? मैंने बस उस उपकरण की मांग पर किसी ऐसे व्यक्ति से मांग की, जिसने मुझे कुछ रुपये दिए, क्योंकि वे न चाहते हुए भी बड़ी सीएलआई विकल्प सूची के बारे में चिंता करना चाहते थे, बस वे एक ऐसा उपकरण चाहते थे जो कुछ कार्यों को आसानी से कर सके, भले ही ffmpeg में सभी विकल्प हों, लेकिन फिर भी noob के लिए उन सभी को उसके कमांड-लाइन सहायता अनुभाग में ढूंढना मुश्किल होगा। इस टूल में एक noob को समझने के लिए एक सरल सहायता अनुभाग आसान है
srbcheema1

ज़रूर,-vf "crop=iw*0.1:ih*0.1:0:0"
लल्गन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.