PDA

View Full Version : سوال: کاهش Bitrate یک فایل mp3



tam2145
چهارشنبه 14 خرداد 1393, 08:50 صبح
سلام بر همه دوستان
بنده در حال نوشتن یک برنامه تحت وب هستم و این برنامه نیاز داره که یک فایل mp3 را آپلود کند . الان مشکل این هست که تعداد فایل هایی که باید آپلود شوند ، خیلی زیاد می باشند و باید حجم هاست میزبان رو در نظر بگیرم . می خواستم وقتی که فایل آپلود می شه ، توسط خود اسکریپت قبل از این که به کاربر اعلام بشه که آپلود با موفقیت انجام شده ، Bitrate فایل mp3 تشخیص داده بشه و در صورتی که بالاتر از 64kps بود ، Bitrate فایل آهنگ رو به 64kps کاهش بده تا حجم فایل mp3 بیاد پایین ...
خیلی زیاد توی گوگل سرچ کردم ولی چیزی ک به فارسی باشه اصلن گیر نمیاد ... توی سایت های خارجی هم گشتم ولی چیزی که دستگیرم بشه رو پیدا نکردم .
توی تشخیص Bitrate مشکلی نیست ، از نمونه کد های آدرس زیر استفاده می کنم ولی توی کاهش ش موندم .... اگه کسی بلده یا نمونه سورسی از قبل داره ، لطفا کمک کنه ، خیلی خیلی ممنون میشم ...
http://www.zedwood.com/article/php-calculate-duration-of-mp3

cpuram
چهارشنبه 14 خرداد 1393, 09:41 صبح
http://stackoverflow.com/questions/6650444/mp3-quality-and-size-manipulation-in-php
http://ffmpeg.org/index.html
من اینا رو پیدا کردم .

beh3000
چهارشنبه 14 خرداد 1393, 09:52 صبح
سلام

اول برو سایت ffmpeg.org قسمت دانلودش برو یا از این لینک مستقیما دانلود کن http://www.ffmpeg.org/releases/ffmpeg-2.2.3.tar.bz2

فایل رو از حالت فشرده خارج میکنی بعد میذاریش کنار فایل های پروژت ... مثلا من این کارو کردم توی پروژه ام یک پوشه file ساختم و تمامی فایل های ffmpeg رو اونجا کپی کردم داخل پوشه file هم یک پوشه ساختم که فایل های mp3 رو اونجا آپلود میکنم

بعد توی سورسی که فایل mp3 رو آپلود میکنم بعد از آپلود این کد رو دارم


exec("ffmpeg -i mp3/uploadedfile.mp3 -ab 64k mp3/newfile.mp3");


در ضمن فایل php که این کد رو داخلش میذاری باید کنار فایلهای ffmpeg باشه

tam2145
پنج شنبه 15 خرداد 1393, 12:48 عصر
من از ffmpeg طبق دستور استفاده کرده ام ولی ارور زیر رو داد :

Warning: exec() has been disabled for security reasons in /home/----/public_html/ffmpeg/mp3.php on line 7
با استفاده از تابع function_exists هم چک کردم ، فالس برگردوند ....
لطفا بگید راه حل چیه الان ؟؟:خجالت:

Tarragon
پنج شنبه 15 خرداد 1393, 14:11 عصر
اگر از هاست استفاده کنید 2 راه دارید :
1- به پشتیبانی بگیید تابع exec رو براتون فعال کنن.
2- یه vps بگیرید و خودتون رو راحت کنید. (پیشنهاد می شه)

اگر از از لوکال استفاده کنید که بنظرم نمی کنید باید تابع exec رو فعال کنید.(هرچند لوکال نیست.)

Tarragon
پنج شنبه 15 خرداد 1393, 14:11 عصر
اگر از هاست استفاده کنید 2 راه دارید :
1- به پشتیبانی بگیید تابع exec رو براتون فعال کنن.
2- یه vps بگیرید و خودتون رو راحت کنید. (پیشنهاد می شه)

اگر از از لوکال استفاده کنید که بنظرم نمی کنید باید تابع exec رو فعال کنید.(هرچند لوکال نیست.)