یک اسکریپت برای تبدیل flv به gif

خب تقریبا دو هفته پیش من یک اسکریپت رو توی جلسات اصفهان‌لاگ معرفی و شرح دادم . ولی سریع توضیح دادم و یک قسمتی از اسکریپت رو هم فراموش کردم بنویسم !(البته یه آپشن اضافه بود که توضیح میدم.) گفتم که بیام این جا بیکار نمونه اسکریپت هایی که معرفی می کنم رو این جا هم شرح بدم . نوشتن خیلی ساده تر از توضیح دادنه 🙂

این اسکریپت کارش اینه که به وسیله ی youtube-dl به صورت خودکار فقط کافیه که لینک رو بهش بدید تا خودش اتومات دانلود کنه و اون رو تبدیل به یه gif یعنی یه تصویر متحرک بکنه و بده دست شما 🙂 و یه نکته ای این که منبع اسکریپت اینجا هستش .

که به ابزار هایی که احتیاج داره یکی youtube-dl هست که در پست قبلی معرفی کردم و دیگری mplayer هست که فکر کنم پیش‌فرض توی اکثر دیسترو ها نصب هست .ترمینال

[email protected]:~$ url=http://www.youtube.com/watch?v=V5bYDhZBFLA; youtube-dl --max-quality=FORMAT $url; mplayer $(ls ${url##*=}*| tail -n1) -ss 00:57 -endpos 10 -vo gif89a:fps=5:output=output.gif -vf scale=400:300 -nosound

خب خب … اسکریپت نسبتا ساده ای هستش ولی کارش درسته 🙂 .

خب از اول شروع میکنیم . ابتدا می اد و یک متغیر محیطی به اسم url تعریف می کنه … تمام کاری که شما باید انجام بدید اینه که لینک آدرس مورد نظرتون رو به url بدید … مثل نمونه بعد از این با ; سراغ دستور بعدی می ریم .

بعد می اد و با دستور youtube-dl و اپشن –max-quality=FORMAT (توی نسخه ی قبلی -b بود ولی توی اسکریپت جدید تغییر کرده.) بهترین کیفیت از کلیپ رو از متغیر $url (که همون لینک ما باشه می گیره) تا این جا ما نسخه ی flv مون رو از سایت یوتیوب دانلود کردیم . سپس نوبت به mplayer میرسه .خب حالا باید اسم کلیپ اول رو بدیم بهش … این جا از یک طرفند زیبا استفاده کرده «${url##*=}» این قسمت از کد کارش اینه که بیاد و هر چی بعد از علامت = دید رو نگه داره و بقیه رو برش بزنه . اگه دقت کرده باشید لینک های یوتیوب از یک الگوی خاصی بهره‌مند هستن . و اسم کلیپ دانلودی شما با youtube-dl دقیقا همونی هست که بعد از علامت = هست با فرمت flv .اگه می خواهید در مورد این نوع برش توی ترمینال بیشتر بدونید به این جا مراجعه کنید .

بعد از این که فایل flv رو تحویل mplayer داد نوبت به اپشن ها میرسه تا اون رو تبدیل به gif بکنه ابتدا با اپشن -ss زمان شروع برای تبدیل رو می گیره … در این جا ۵۷ ثانیه رو در نظر گرفته و با -endpos زمان انتها رو می گیره … در این ۱۰ ثانیه بعد تعریف شده . یعنی تا ۱۰ ثانیه بعد رو تبدیل میکنه بعد هم fps یعنی تعداد فریم در هر ثانیه رو تنظیم می کنیم تا فریم های اضافی رو استفاده نکنیم … این جا ۵ رو انتخاب کرده (اضافه کنم که برای مثال اکثر فیلم هایی که ما میبینیم روی ۲۴ فریم بر ثانیه هستند . بنابر این ۵ فریم بر ثانیه مقاداری کند می کنه سرعت نمایش رو … ولی توی حجم بسیار تاثیر داره) و بعد هم output که بشه نام خروجی gif .

در قسمت بعد با scale اندازه ی تصویر رو کوتاه کرد و به ۴۰۰ در ۳۰۰ پیکسل تغییر داده و در آخر هم یک آپشن -nosound تعریف کرده تا کمترین حجم ممکن رو داشته باشید .

پ‌.ن۱:اسکریپت خیلی جالبیه و حتی اگه مثلا برای من چندان استفاده نداشته باشه … حداقل یاد گرفتم که چه طوری اندازه ی تصاویر رو با mplayer تغییر بدم !!! و یا اون قسمت برش واقعا جالب بود .

دانلود کلیپ یوتیوب و تنظیم پرو*کسی برای خط فرمان

خب دوستان !‌این سری با یک ابزار خط فرمان هستم . البته اول بگم که من فعلا به اوبونتو مهاجرت کردم پس سابایون فعلا نداریم . و اسم وبلاگ رو هم به لینوکس تغییر دادم بهتر هستش.

خب دوستان لینوکس کار می دونن که معمولا بهترین نرم افزار ها تحت خط فرمان هستن و خلاصه که خیلی کارشون درسته . یکی از اونایی که امروز معرفیش می کنم وظیفش دانلود کلیپ های یوتیوب با کیفیت های متفاوت و اپشن ها متفاوت هستش :

Youtube-dl

طریقه ی کار باهاش خیلی آسون هست .  فقط کافیه که تحت خط فرمان کد خودتون رو به صورت زیر وارد کنید :

sudo apt-get install youtube-dl $

و همچنین برای دانلود یک کلیپ فقط کافیه دستور رو + لینک کلیپ مورد نظر براش وارد کنید :

youtube-dl -b http://www.youtube.com/watch?v=G3hth9_rvfg $

و برای دریافت با بهترین کیفیت آپشن -b رو به انتهای کد اضافه شده که برنامه خودش جست و جو می کنه و بهترین کیفیت رو می گیره . برای اپشن های بیشتر –help یا -h رو بزنید :

youtube-dl --help $

که اپشن های زیادی هست و شما می تونین با توجه به کلیپی که نیاز دارید تنظیم کنید و دانلود کنید . اما مشکلی که وجود داره بسته بودن یوتیوب است که باید یک پروکسی برای خط فرمان تنظیم کرد برای این کار دستور زیر را وارد کنید :

'export http_proxy='127.0.0.1:8080 $

به جای ۱۲۷٫۰٫۰٫۱ ای‌پی مورد نظر خودتون و به جای ۸۰۸۰ هم پورت مورد نظر رو بزارید (و اگه از Freedom استفاده می کنید به همین حالت وارد کنید.)
و تمام به راحتی می توانید کلیپ های مورد نیاز خودتون رو تهیه و دانلود کنید بدون نیاز داشتن به رپیدلیچ ها و یا هر چیز دیگه ای 🙂

پن ۱ : لطفا کد ها رو کپی پیست نکنید . به خاطر این که نمایش درستی داشته باشن مجبور شدم که یک سری از کد ها رو عقب و جلو بنویسم تا درست بشند . نمی دونم این وردپرس.کام مشکلش چیه دقیقا 🙂

کرنل 2.6.33 و درایور nvidia

کرنل و ان ویدیا

خب دوستان ! دیشب طی یک عملیات عجیب قریب بعد از این که سیستم کاملا بوت میشد هنگامی که می خواست درایور رو اجرا کنه با یه مشکل مواجه شدم و صفحه کاملا مشکی میشه و فقط یه خط بالای صفحه می اد .

خب رسما نا امید سیستم رو خاموش کردم تا امروز صبح که رفتم توی ای ار سی و مشکلم گفتم … گویا مشکل از کرنل 2.6.33 هست که یک هفته ای بیشتر نیست که رلیز شده و درایور قدیمی کارت گرافیک من هستش (173.14.22)

الان آموزشی که می خوام بزارم برای وقتی هستش که recovery mode هم برای شما کار نمیکنه و بعد از بوت شدن کامل سیستم (هر دو مرحله) شما با یک صفحه ی سیاه مواجه میشین که احتمالا مشکل از درایور گرافیک هستش برای حل موقتی این مشکل و استفاده کردن از درایور جایگزین در شرایط خاص اول یک سی دی لایو درون دستگاه بزارین بعدش این دستور رو بزنید تا بتونید فایل مربوطه رو ویرایش کنین :

nano /etc/X11/xorg.conf

در این قسمت :

Section “Device”

Identifier  “SabayonVga0”
Driver      “nvidia”

به جای nvidia بنویسید nv :

Section “Device”

Identifier  “SabayonVga0”
Driver     “nv”

همون طور که گفتم این مشکل از کرنل های جدید هست و کارت گرافیک های قدیمی که به راحتی قابل حل شدن هستش :

وقتی که از طریق درایور جایگزین سیستم رو بوت کردید دستور زیر رو وارد کنید تا بتونید فایل مربوطه رو تغییر بدید :

nano /etc/default/grub

در این قسمت nopat رو اضافه کنین :

# Add your extra parameters here below

“GRUB_CMDLINE_LINUX_DEFAULT=”nopat

و سپس فایل رو ذخیره کنید و بعد کد زیر رو برای انجام تغییرات دوباره بزنید :

grub-mkconfig -o /boot/grub/grub.cfg

و در آخر اگر که درایور رو به درایور جایگزین تغییر داده بوده اید دوباره nv رو به nvidia تغییر بدین .

و این کد رو برای تنظیم شدن دوباره ی گرافیک بزنید تا opengl رو روی nvidia تنظیم کنه .

در آخر هم با استفاده از کد زیر X و دسکتاپ رو ریست کنید :

etc/init.d/xdm restart/

و اگر دکستاپ برنگشت با دستور زیر سیستم را دوباره بوت کنید :

reboot

پی نوشت 1 :‌همون طور که گفتم این مشکل با کرنل و درایور های قدیمی هست یعنی شما توی هر توزیع دیگه ای هم باشید اگه این مشخصات یکسان باشه ممکنه با این مشکل برخورد کنید و برای این مشکل از همین روش استفاده کنید .

پی نوشت 2: گرابی که روی سیستم من نصب هست 1.98 r2 هستش یعنی گراب2 هستش … ممکنه در مورد گراب قدیمی تر برای حل کردن این مشکل فرق بکنه … ولی در آخر باید اون قسمت nopat رو اضافه کنید .

برای اطلاعات بیشتر این جا رو بخونید :

bugs.launchpad.net

چرا سابایون ؟

وقتی که بحث از این که کدوم دیتسرو بهتره هر کسی با توجه به ملاکی که داره یک توزیع خاص رو معرفی می کنه … ولی آخر همه به اوبنتو ختم میشه … اوبنتویی که در 10.04 من بعد از نصب کردنش سیستمم چند بار هنگ کرد 🙂

من با توجه به این که دلیلی که از ویندوز فاصله گرفتم اوبنتو رو زیادی ساده دیدم … همچین به دلم ننشست …

به خاطر همین دنبال توزیع های دیگه ای بودم … توزیع چاکرا پیش من امتحانش رو خوب پس نداد … با این که دکستاپ قشنگی داشت … ولی بسیار مشکل داشت (البته برای من) از فایل ناقص دانلود شدش گرفته تا گرابی که باید به صورت دستی براش بقیه ی توزیع ها رو تعریف کرد … و همچنین کامیونیتی فارسی ضعیفش … دیدم که خیر از ایرانی ها باید فقط اوبنتو رو انتخاب کنم یا شریف !

شریف و پارسیکس هم خوب بودند ولی زیادی آماده بودند … و همین طور قالب هایی که داشتتن چندان دلچسب نبود .

البته هنوز خیلی گزینه های دیگه ای بود … مثل فدورا و اپن سوزه و … اما بین این ها سابایون برای من برتری هایی داشت .

اول از همه دکستاپ جذابش بود . دکستاپش به همراه افکت هایی که Compiz Fusion برام اجرا می کرد خیلی جذاب بود . و همچنین GRUB که تغییر یافته بود .

دوم این که یه دیسترو سورس بیس هست … هر چند که ریپوزیتوری کاملی هم داره ولی خب … نصب کردن پکیج ها از روی سورس حس و حال دیگه ای داره 🙂

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

و در آخر کامیونیتی و ویکی نسبتا خوبش هست . هر چند که ای ار سی مثل اوبنتو نیست که همواره شلوغه و حتی ممکنه سوالاتت گم بشه !‌ ولی خب … کسایی که هستن حتی اگه سوال شما بسیار ابتدایی باشه بهت کمک می کنن تا پیشرفت کنی و مشکلت رو حل کنی و شاید ویکی توی اون جا زیاد پر بار نباشه ولی به خاطر این که جنتو بیس هستش به راحتی میشه از آموزش های جنتو استفاده کرد .

من و سابایون

درود بر خوانندگان عزیز :

من برسام یک تازه کار در زمینه ی لینوکس هستم . نزدیک به یک سالی میشه که به صورت دوال بوت بعضی از دیسترو ها رو امتحان می کردم ولی خب اکثر مواقع در ویندوز بودم …

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