پخش شبکههای تلویزیون دیجیتال به آسونی با VLC Media Player انجام میشه و به خوبی از پسش برمیاد ولی ممکنه برای ضبط اون به مشکل بخورید یا حداقل کمی اذیت بشید. همچنین با مشکلات کرشی که توی سرور X وجود داره متوقف شدن عملیات ضبط به معنی از دست رفتن برنامهی مورد نظرتونه. برای همین من سراغ mplayer و خط فرمان رفتم. mplayer یکی از بهترین پخش کنندههای آزاده که بیشک میشه لقب قدرتمندترین پخش کننده رو بهش نسبت داد و البته کارهای بسیار بیشتری از یک «پخشکننده»ی ساده انجام میده.
اسکن شبکهها
برای این کار از برنامهی w_scan استفاده میکنیم. البته فرض بر اینه که قبلش راهاندازهای DVBتون رو نصب کردید.
$ sudo apt-get install w-scan mplayer
و بعدش، شبکه ها رو اسکن میکنیم و اونها رو توی فایل etc/mplayer/channels.conf/
میریزیم.
$ w_scan -ft -c IR -M > channels.conf $ sudo mv channels.conf /etc/mplayer/
توجه: اسکن شبکهها برای من حدود ۴ دقیقه طول کشید.
لیست شبکهها
با دستور زیر میتونید لیست شبکههای موجود رو ببینید:
$ cut -d: -f1 /etc/mplayer/channels.conf
ضبط
شبکهی مورد نظرتون رو از لیست بالا انتخاب کنید، برای مثال من شبکهی نمایش (IRIB NAMAYESH
) رو انتخاب میکنم. چون توی اسم این شبکه فاصله وجود داره، ما مستقیما نمیتونیم اون رو بعنوان یک آرگومان به برنامه پاس کنیم. پس یا باید قبل هر فاصله یک اسکیپ () قرار بدیم یا کل عبارت رو داخل یک جفت
'
قرار بدیم. من راه دوم رو انتخاب میکنم:
$ mplayer -dumpstream 'dvb://IRIB NAMAYESH' -dumpfile Stream.ts
حالا mplayer شروع میکنه به ذخیرهی اطلاعات دریافت شده از دانگل DVB در فایلی با فرمت TS. این فرمت شامل دادههای کاملا خام میشه و ذاتا حجم خیلی زیادی رو به خودش اختصاص میده.
پخش Stream.ts
از اونجایی که TS حاوی دادههای خام و غیر فشردهست، باید به یک فرمت پخش خوب تبدیلش کنیم تا با پلیرهای عادی روی هر پلتفرمی قابل پخش بشه؛ من mkv رو که یک فرمت آزاده انتخاب و برای تبدیل از avconv
استفاده میکنم. لازم به ذکره که پروژهی ffmpeg
مدت زیادیه که متوقف شده و به avconv ملحق شده. avconv رو میتونید توی بستهی libav-tools پیدا کنین.
$ avconv -i Stream.ts Stream.mkv
از برنامههای با کیفیت، مفید و فوقالعاده جدید و ارزشمند IRIB لذت ببرید D: