تبدیل جمعی فایل های چند رسانه ای

یه مشکلی که همیشه داشتم این بود که کلی فایل تصویری بود که از یوتیوب و این ور اونور می گرفتم. وقتی می خواستم این ها را به mp3 تبدیل کنم تا بتونم توی ماشین هم گوش بدم ، کلی زمان از دست می دادم . باید می شستم دونه دونه تبدیل می کردم و منتظر تمام شدن هر کدوم می شدم.

پس تصمیم گرفتم یه راه حل پیدا کنم که با یه اسکریپت همه را خودش تغییر بده. اونقدر ها هم سخت نبود ، فهمیدم فقط تنبلی باعث می شده که من این کار را انجام ندم. 🙂

این هم اسکریپت نهایی شده:

OIFS=$IFS
IFS=$(echo -en “\n\b”)

for i in `ls *.mp4` ;
do ffmpeg -i “$i” “${i%.*}”.mp3 ;
done

IFS=$OIFS

خوب توی همین چند خط چندین نکته نهفته است. یا بهتر بگم چندین مورد آموزشی:

اول از همه متغیر محیطی IFS یا Internal Field Separator : این متغیر مشخص می کنه که جدا کننده بین ورودی های یک نرم افزار را چی مشخص می کنه . به صورت پیشفرض فاصله هست. ولی در اینجا ما اون را تغییر دادیم تا با خروجی ls هماهنگی داشته باشه. فقط نکته ای که نمی دونم اینه که به چه شکل می شه فهمید که خروجی یک دستور از چه کاراکترهایی برای جداسازی خروجیهاش استفاده می کنه. متغیر OIFS هم برای این مشخص شده که آخر اسکریپت بتونیم مقدار پیشفرض متغیر IFS را بهش برگردونیم.

یه بخش دیگه داخل دستور ffmpeg هم هست که از variable mangling استفاده کردم: ${i%.*} این دستور از آخر تا نقطه اول که در حقیقت پسوند فایل هست را حذف می کند و بعد به جای آن mp3 را قرار دادم.

همین … به همین سادگی

دروغ اول آوریل دبیان و دوستان

راستش خیلی دیر شد. یادم رفت همون موقع بزارم. 🙁  ولی حیفم اومد نظارمش چون خیلی باهاش حال کردم 😀

سایت دبیان، جنتو، آرچ، grml و opensuse از ۳۱ مارچ به مدت ۳ روز تغییر کرده بود. اول جدیش گرفتم بعد متوجه شدیم که دروغ اول آوریل هست. اینم عکسش :-))

دروغ اول آوریل
دبیان و دوستان

 

 

پیکربندی apache2-mpm-itk

در ادامه بحث اجرای کدهای php با کابری به غیراز کاربر www-data که توی دبیان کاربر آپاچی است (توی redhat کاربر apache) رسیدم به apache2-mpm-itk . علت اینکه ناچار شدم به این بسته رو بیارم اینه که هر کدام از دو راه حل گذشته که گفتم (suphpو suexec) مشکلاتی را برای من ایجاد کردند و محدودیت هایی اعمال شد. در مورد آخر یعنی suphp مشکل اینجا بود که با zend کار نمی کرد و خوب تنها انتخابی که برای من باقی مونده apache2-mpm-itk است.

بسته های مورد نیاز

aptitude install apache2-mpm-itk libapache2-mod-php5

ادامه خواندن پیکربندی apache2-mpm-itk