تحميل - اقتطع MP3 إلى أول 30 ثانية




تحميل برنامج lame mp3 (8)

السؤال الأصلي

أريد أن أكون قادرًا على إنشاء ملف MP3 جديد (صحيح تمامًا) من ملف MP3 موجود لاستخدامه كأسلوب معاينة - محاولة قبل الشراء. يجب أن يحتوي الملف الجديد فقط على أول ثانية من المسار.

الآن ، أعلم أنه يمكنني فقط "قطع التيار" في n ثانية (حساب من معدل البت وحجم الرأس) عند تسليم الملف ، ولكن هذا هو قليلا القذرة و PITA حقيقية على مسار VBR. أود أن أتمكن من إنشاء ملف MP3 مناسب.

أي شخص أي أفكار؟

الأجوبة

كل من mp3split و ffmpeg كلاهما حلول جيدة. اخترت ffmpeg كما هو مثبت بشكل شائع على خوادم لينكس وأيضا متاحة بسهولة للنوافذ . هنا بعض معلمات سطر الأوامر الجيدة لإنشاء معاينات مع ffmpeg

  • -t <seconds> قطع بعد عدد محدد من الثواني
  • -y ملف قوة الكتابة
  • -ab <bitrate> تعيين معدل البت على سبيل المثال -ab 96k
  • -ar <rate Hz> تعيين معدل أخذ العينات على سبيل المثال -ar 22050 لـ 22.05 كيلو هرتز
  • -map_meta_data <outfile>:<infile> نسخ بيانات تعريف المسار من infile إلى outfile

بدلاً من الإعداد -ab و -ar ، يمكنك نسخ إعدادات المسار الأصلية ، كما يقترح تيم فارلي ، مع:

  • -acodec copy

إذا كنت ترغب في إزالة أول 30 ثانية (والاحتفاظ بالباقي) ، فاستخدم هذا:

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

فقط كما لاحظت ، كان لدي وقت سيء حقا مع ffmpeg ، mptsplit و mp3cutter على CentOS ، كلهم ​​يبلغون عن "عنوان مفقود". لذلك ، اضطررت للذهاب مع فئة MP3 وبعض الرياضيات لقطع عن طريق الملفات.


كما أوصي ffmpeg ، لكن سطر الأوامر الذي اقترحه John Boker له تأثير جانبي غير مقصود: فهو يعيد تشفير الملف إلى معدل البت الافتراضي (وهو 64 كيلوبت / ثانية في الإصدار الذي أستخدمه هنا على الأقل). قد يمنح ذلك لعملائك انطباعًا خاطئًا عن جودة ملفات الصوت ، ويستغرق أيضًا وقتًا أطول.

في ما يلي سطر أوامر سيتم تقطيعه إلى 30 ثانية دون تحويل الشفرة:

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

يقوم رمز التبديل -acodec بإعلام ffmpeg باستخدام برنامج الترميز "copy" الخاص الذي لا يتم تحويله. إنه سريع بسرعة.

ملاحظة: تم تحديث الأمر بناء على تعليق من Oben Sonne


لقد استخدمت هذا: Mp3Splt قبل مع نتائج جيدة


لم أستخدمها لهذا الغرض المحدد ، لكنني أراهن على أن ffmpeg تستطيع فعل ذلك.


مجرد فكرة: قد ترغب في تخطي بداية الأغنية الأصلية. لنقل ، يمكنك استخدام 30 ثانية قطعة تبدأ من ثلث الأغنية.
في بعض الأغاني ، لا تخبرك أول 30 ثانية بقدر ما أنها جزء من "إعداد المشهد" - على سبيل المثال بينك فلويد " Shine On You Crazy Diamond" .


هذا الأمر يعمل أيضا بشكل مثالي. لقد قطعت الموسيقى الخاصة بي من 20 ثانية إلى 40 ثانية.

-y: فرض ملف الإخراج للكتابة.

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

يمكنك استخدام mp3cut:

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

انها في ريبو أوبونتو ، لذلك فقط: sudo apt-get install cutmp3 .