كيف يمكنني برمجيا تحويل mp3 الى اي تيونز-لعب aac/m4a الملف ؟

StackOverflow https://stackoverflow.com/questions/70096

  •  09-06-2019
  •  | 
  •  

سؤال

لقد كنت أبحث عن طريقة لتحويل mp3 to aac برمجيا أو عن طريق سطر الأوامر مع أي حظ.من الناحية المثالية, يجب مقتطف من التعليمات البرمجية التي يمكن أن أسميه من القضبان التطبيق الذي يحول mp3 إلى الجميح للسيارات.أنا ركبت ffmpeg libfaac وكان قادرا على إنشاء ملفات aac مع الأمر التالي:

ffmpeg -i test.mp3 -acodec libfaac -ab 163840 dest.aac

عندما أقوم بتغيير ملف الإخراج اسم دست.m4a, هو لا يلعب في اي تيونز.

وذلك بفضل!

هل كانت مفيدة؟

المحلول

FFmpeg يوفر الجميح للسيارات ترميز المرافق إذا كنت قد جمعت لهم في.إذا كنت تستخدم نظام ويندوز يمكنك انتزاع كامل الثنائيات من هنا

ffmpeg -i source.mp3 -acodec libfaac -ab 128k dest.aac

لست متأكدا كيف يمكن أن أسميه هذا من روبي.

أيضا, تأكد من تعيين البت بشكل مناسب.

نصائح أخرى

هناك ثلاثة فقط مجانا الترميز AAC أن أعرف من التي تتوفر من خلال واجهة سطر الأوامر:

  1. FAAC (LPGL) الذي هو بصراحة سيئة جدا (نوعية ستكون أسوأ بكثير من عرجاء في نفس معدل البت).غرامة على الرغم من إذا كنت على استعداد للذهاب بت أعلى (>>128kbps) و تحتاج AAC التوافق وليس لأسباب تتعلق بالجودة.الطريقة الأكثر شيوعا لاستخدام FAAC من خلال ffmpeg ، libfaac.

  2. نيرو الجميح للسيارات ، فلكس التشفير المتاحة ضمن نظام التشغيل Windows و Linux ، ولكن فقط للاستخدام غير التجاري (و هو في المقابل مغلقة المصدر).

  3. ffmpeg هو الجميح للسيارات ترميز الذي لا يزال قيد التطوير و بينما أنا أعتقد أنه لا تقنيا العمل ، فإنه ليس في جميع مستقرة أو جيدة أو حتى سريع ، حيث لا يزال في المراحل الأولى.أيضا لا تتوفر في الجذع ، بقدر ما أعرف.

(تحرير:يبدو اي تيونز قد يكون واحدا أيضا ، وأظن شروط استخدام مماثلة نيرو.AFAIK الجودة غير قابلة للمقارنة.)

أنا أدرك أنني تأخرت إلى هذا الحزب, ولكن أنا التشكيك في فرضية من هذا السؤال.لماذا تريد تحويل MP3 إلى "itunes لعب" تنسيق ؟ اي تيونز بالفعل يتعامل مع ملفات Mp3 أصلا.

يبدو أنك تفعل غير ضرورية التحويل ، حيث تقوم بتحويله من الضياع صيغة إلى أخرى ، يتم فقدان بعض الجودة في العملية.

بعد تثبيت تحويل التطبيق على لينكس/آلة نافذة أنت التشغيل الخاص بك القضبان التطبيق على استخدام "نظام()" القيادة في روبي الاحتجاج تحويل التطبيق على النظام.نظام("command_here");

في ffmpeg 0.5 أو استخدامها في وقت لاحق ffmpeg -لقد المصدر.mp3 الهدف.m4a

للحصول على أفضل النتائج لنقل البيانات إلى تجاوز الافتراضي معدل البت ffmpeg ينطبق

ffmpeg -ط "الإدخال.mp3" -ab 256k -map_meta_data الإدخال.mp3:الإخراج.m4a الانتاج.m4a

أفضل لا تحويل كما بود يلعب mp3 بخير (أنا أعلم أن هناك مثل هذا الجواب ولكن انخفاض الدائمة لا يسمح التصويت)

لقد كان حظا سعيدا باستخدام mplayer (التي أعتقد يستخدم ffmpeg) و عرجاء.إلى النقطة التي كنت ملفوفة في البرنامج النصي:

#!/bin/sh

TARGET=$1

BASE=`basename "${TARGET}"`
echo TARGET: "${TARGET}"
echo BASE:   "${BASE}" .m4a

# Warning! Race condition vulnerability here! Should use a mktemp
# variant or something...
mkfifo encode
mplayer -quiet -ao pcm -aofile encode "${TARGET}" &
lame --silent encode "${BASE}".mp3
rm encode

آسف على القضايا الأمنية ، صادفت هذا في القطار يوم واحد...

بلدي mplayer و عرجاء تأتي من فينك

في الحقيقة هو جملة من ffmpeg -أنا الإدخال.mp3 -ج:aac -الصارم -2 -ب:256 كيلو الانتاج.m4a ؛ الأصح إذا كان واحد هو محاكاة "الصحيح" البت.را.:الرابط من أجل تجميع نظام.(rpmfusion الحزمة يعمل بشكل جيد جدا:

التكوين:بادئة=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/وتشمل/ffmpeg --libdir=/usr/lib64 --ماندير=/usr/share/الرجل القوس=x86_64 --optflags='-O2-ز -أنابيب -الجدار -Wp ، -D_FORTIFY_SOURCE=2 -fexceptions -fstack-حامي قوي --param=ssp-عازلة-الحجم=4 -grecord-خليجية-مفاتيح-m64 -mtune=generic' --enable-bzlib-تعطيل-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394-تعطيل-إينديف=جاك --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads-تعطيل-ثابت --enable-مشترك --enable-gpl-تعطيل-التصحيح-تعطيل-تجريد --shlibdir=/usr/lib64 --enable-وقت التشغيل-cpudetect

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top