
هنگام افزودن تلویزیون زنده (Live TV) به سرور Plex از طریق یک تیونر شبکهای (Network Tuner)، پلتفرم سرور بهطور خودکار راهنمای کانال بهروز ایجاد میکرد. اما در Jellyfin، کاربر میتوانست بین ایستگاهها جابهجا شود و راهنمای سنتی ساخته نمیشد. ساخت راهنمای کانالی که برنامهها را بهروز نگه دارد در Jellyfin نیازمند تنظیمات اضافی است؛ ضمن اینکه SiliconDust برای این راهنما سالانه ۳۵ دلار دریافت میکرد.
خوشبختانه تیونر او راهنمای کانال رایگانی ارائه میدهد که میتوان آن را با یک اسکریپت پاورشل (PowerShell) بهصورت دستی دریافت و بهروز کرد یا اجرای آن را هر چند روز یکبار خودکار کرد. او همچنین یک تریگر (Trigger) سرور تنظیم کرد تا فهرست برنامهها بهروزرسانی شود و تماشا و ضبط محتوای پخش زمینی (Over-the-Air) از نمایشگرهای متصل به Jellyfin آسانتر شود.
افزودن تیونر شبکهای و دریافت کانالها
در گام نخست، آنتن HD (HD Antenna) به تیونر متصل و تیونر به شبکه وصل شد. ترکیب آنتن و تیونر در بهترین موقعیت برای دریافت سیگنال قرار گرفت و از طریق یک اکستندر وایفای (Wi-Fi Extender) با درگاه اترنت (Ethernet Port) باز به شبکه متصل شد. اتصال مستقیم به روتر (Router) ایدهآل بود، اما برای این کاربر امکانپذیر نبود. با این حال همهچیز درست کار میکرد و بیشترین تعداد کانال از همان موقعیت دریافت میشد.
کاربر وارد جعبه ارزانقیمت تیونر شد، فریمور (Firmware) جدید را نصب کرد و کانالها را بهروزرسانی کرد. سپس به بخش تلویزیون زنده (Live TV) در داشبورد Jellyfin رفت و Jellyfin بلافاصله تیونر شبکهای را شناسایی کرد. پس از آن، Jellyfin کانالها را میدید، اما هنوز راهنمایی برای آنها نداشت. SiliconDust یک راهنمای رایگان دو روزه با قالب XMLTV (XMLTV) برای تیونر شبکهای HDHomeRun ارائه میدهد. کاربر با اسکریپت پاورشل فهرست برنامهها را دریافت و آن را بهصورت محلی در فایل guide.xml ذخیره کرد.
راهاندازی راهنمای کانال در Jellyfin
برای داشتن راهنمای مناسب، از رابط برنامهنویسی کاربردی (API) اختصاصی SiliconDust بهعنوان منبع راهنما استفاده شد. اسکریپت پاورشل روی درایو محلی سرور ذخیره و اجرا شد تا فهرست برنامهها در فایل guide.xml دانلود شود. سپس فایل در Jellyfin و در مسیر Live TV و سپس TV Guide Data Providers اضافه شد. پس از آن، Jellyfin با انتخاب گزینه بهروزرسانی داده راهنما (Refresh Guide Data) تنظیم شد تا راهنما را بخواند و در دستگاههای مختلف نمایش دهد.
پس از راهاندازی راهنمای XMLTV، کاربر هر چند روز یکبار اسکریپت را دستی اجرا میکرد و کانالها را از داشبورد سرور بهروزرسانی میکرد. اسکریپت پاورشل با تیونر تماس میگیرد تا توکن احراز هویت (Authentication Token) آن را بگیرد و سپس با استفاده از آن فهرست برنامههای تلویزیونی را دانلود کند. این اسکریپت سند XMLTV را بررسی میکند و آن را در راهنمای کاربر ذخیره میکند و نسخه قبلی را جایگزین میسازد.
در بخش وظایف زمانبندیشده (Scheduled Tasks) در Jellyfin، یک تریگر تلویزیون زنده تنظیم شد تا اسکریپت هر ۲۴ ساعت در نیمهشب اجرا شود، فایل راهنمای ایکسامال (XML) را بررسی کند و تغییرات یافتهشده را اعمال کند. با این حال، کاربر هنوز هر چند روز یکبار اسکریپت را دستی اجرا میکرد تا فهرست تازه داشته باشد؛ اما همیشه این کار را به یاد نمیآورد و به راهی ساده برای خودکارسازی نیاز داشت.
خودکارسازی بهروزرسانی راهنمای XMLTV
Jellyfin راهنما را هر ۲۴ ساعت بهروزرسانی میکرد، اما کیفیت آن به دادههای موجود وابسته بود. کاربر همیشه اجرای اسکریپت بهروزرسانی راهنما را به یاد نمیآورد و اغلب فهرست برنامهها ناقص میشد. سپس اسکریپت را دستی اجرا میکرد تا فهرست درست را بگیرد و بهروزرسانی را در Jellyfin هم اجرا میکرد تا راهنمای تلویزیون زنده در دستگاهها درست نمایش داده شود. اسکریپت فقط دو روز برنامه را از سرویس تیونر شبکهای دریافت میکند و مدیریت دستی آن، بهویژه هنگام ضبط یک برنامه، گیجکننده میشد.
سرور Jellyfin کاربر روی ویندوز (Windows) اجرا میشد؛ بنابراین از زمانبند وظایف ویندوز (Task Scheduler) برای خودکارسازی اسکریپت و بهروزرسانی فهرست کانالها استفاده کرد. او وظیفهای ساخت تا اسکریپت هر روز ساعت ۱۰ شب اجرا شود؛ چون Jellyfin برای بهروزرسانی راهنمای XMLTV در نیمهشب تنظیم شده بود. این وظیفه به پاورشل میگوید اجرا شود و اسکریپت ذخیرهشده را اجرا کند. از آنجا که سرور همیشه روشن است، این خودکارسازی با موفقیت کار کرده است.
نتیجه: راهنمای خودکار و رایگان برای تلویزیون زنده
اکنون کاربر یک راهنمای کانال واقعی دارد که خودش بهروز میشود؛ این کار از طریق دو مرحله فنی انجام شده است. با این حال، هنگام تماشای صفحه و بررسی برنامهها، این پیچیدگی به چشم نمیآید. سرویس رایگان SiliconDust دو روز فهرست برنامه ارائه میدهد که برای کاربر کافی است، چون تلویزیون زنده را زیاد تماشا یا ضبط نمیکند. بنابراین پرداخت برای ۱۴ روز فهرست برنامه برای او ارزش ندارد.
خودکارسازی بهروزرسانی راهنمای کانال پخش زمینی بهصورت رایگان در Jellyfin، تجربه تماشای تلویزیون زنده روی دستگاههای متصل به Jellyfin را بهتر میکند. اگر کاربر بیشتر احتمال داشت برنامههای تلویزیونی ضبط کند، شاید اشتراک SiliconDust را در نظر میگرفت؛ اما این خودکارسازی دو مرحلهای ساده است و برای تماشای رایگان کانالها کار میکند. اگر وظیفه زمانبندیشده شکست بخورد یا Jellyfin از کار بیفتد، کاربر باید اسکریپت را خودش اجرا کند؛ اما این موضوع با نگهداری سروری که به تلویزیون زنده حساس است، قابل انتظار است.