مقدمه:
این مقاله هم مثل سایر مقالات وبلاگ، یک مطلب اورجینال است؛ کپی یا ترجمه نیست. سازندهی Plex برای تمام دیوایسها حتی XBox و PlayStation نسخهی اختصاصی دارد ولی متاسفانه اپلیکیشنی برای OpenWrt ندارد! هیچ مستند (Document) رسمی هم برای راهاندازی Plex با داکر روی OpenWrt و تنظیمات مورد نیازش منتشر نکرده و آموزش گامبهگامی (Step by Step) هم موجود نیست.
ادامه،
قبلاً طی این مقاله آموزش راهاندازیِ DLNA و این مقاله آموزش نصب Docker ارائه شده است. لازم است قبل از اینکه این مقاله را ادامه دهید هر ۲ آموزش را گذرانده و روی OpenWrt انجام داده باشید.
در این مقاله قصد داریم تجربهی DLNA را به تجربهی به مراتب با کیفیتتری ارتقاء دهیم. نصب و راهاندازی اپلیکیشن Plex روی OpenWrt، مدیاسنتری برای ما مهیا میکند که بتوانیم کلیه مدیاهای (Videos, Musics, Photos) موجود روی هارد دیسک متصل به OpenWrt را با رابط کاربریای (Interface) شبیه Netflix شامل متادیتای هر مدیا تجربه کنیم. یک ماجراجویی هیجانانگیز و فوقالعاده خصوصاً برای طرفداران فیلم و سریال!
چیزی شبیه شکل زیر روی تلویزیون هوشمند
✅ نکته مهم: برای استفاده از سرویس Plex روی تلویزیون هوشمند باید اپ Plex در استور تلویزیون موجود باشد. تلویزیونهای هوشمند سامسونگ از سیستمعامل تایزن (Tizen) و الجی از WebOS و سونی از اندروید استفاده میکنند و لازم است از استور آنها اپ Plex را نصب کنید. اگر تلویزیون را در اولین استفاده با ریجن ایران Setup کردهاید، شاید اپ Plex در استور تلویزیون نمایش داده نشود. در این صورت تلویزیون را Factory Reset کرده و ریجن را ترجیحاً آمریکا و یا اروپا انتخاب کنید.
در مورد تلویزیونهای سامسونگ ساخت ایران، تا اینکار را انجام ندهید؛ تقریباً هیچ کدام از اپلیکیشنهای اصلی از جمله Apple TV, Amazon, YouTube و … را نخواهید داشت.
البته اگر تلویزیون هوشمند ندارید، همچنان امکان استفاده از سرویس Plex نصب شده روی OpenWrt را روی دیوایسهای دیگر مثل لپتاپ و موبایل، XBox و PlayStation را دارید. در این حالت از وبسایت Plex اپلیکیشن مربوط به سیستم عامل خود را دانلود و نصب نمائید.
✅ بطور کلی وقتی کارتان به قسمت ۸ آموزش میرسد یعنی خیلی پای کار بودهاید و تا اینجا کارهای اصلی و مهم را انجام دادهاید. بقیهی مسیر سادهتر از قبل است. فقط امیدوارم فلش مموریای که برای OpenWrt استفاده کردهاید حداقل ۴ گیگابایت و از جنس مرغوب باشد. اپهای داکر فضا میخواهند.
برویم سراغ آموزش:
نصب و راهاندازی Plex روی OpenWrt
✅ توصیه میشود تا انتهای این آموزش حتماً فیلترشکن وصل باشد. (منظور همان PassWall 2 است.)
ابتدا از این لینک در وبسایت پلکس یک اکانت بسازید. در بالا سمت راست گزینهی Sign Up را انتخاب کنید. ایمیل شما و یک پسورد را میپرسد و با ساخت اکانت اتوماتیک به اکانت لاگین میکند. (تصویر زیر)
در سایت لاگین بمانید، با آن کار داریم.
با ترمینال SSH به OpenWrt متصل شوید. با دستور زیر Image پلکس را دانلود کنید. صبر کنید تا دانلود و استخراج (Extract) تکمیل شود.
docker pull plexinc/pms-docker
شما از طریق پنل لوسی، منوی Docker گزینهی Images هم میتوانید Image را دانلود کنید ولی با وضع اینترنت ایران اصلاً توصیه نمیکنم و احتمال زیاد دردسرهایی را برایتان خواهد داشت. پس بهتر است از ترمینال استفاده کنید.
پس از تکمیل دانلود ایمیجِ پلکس، وارد پنل لوسی شوید. چک کنید در منوی Docker/Images باید چیزی شبیه تصویر زیر را داشته باشید که نشان میدهد Image پلکس به درستی دانلود شده است.
یک فایل جدید متن در Notepad ویندوز باز کنید. (در مکبوک از TextEdit استفاده کنید.) کد زیر را در آن کپی کنید. کمی با ساختار این کد آشنا شویم.
در خط ششم، بعد از علامت = یک رشته حروف داریم که با claim شروع میشود و با hL پایان مییابد. کل این رشته، توکن Plex است. توکن موجود در کد زیر یک “توکن نمونه” است. ما قرار است یک توکن از سایت Plex بگیریم و به جای این توکن در کد زیر بگذاریم.
docker run \
-d \
--name plex \
--network=host \
-e TZ=Asia/Tehran \
-e PLEX_CLAIM=claim-ze3s14rmF4Vx1puhL \
-v /plex/database:/config \
-v /plex/temp:/transcode \
-v /mnt/sda1:/data-a \
plexinc/pms-docker:latest
نکتهی بعدی، خط ۹ است. در این خط آدرس مانتِ هارد دیسک در OpenWrt است. (برای سیستم من: mnt/sda1/) برای شما هم احتمال بسیار زیاد اگر یک هارددیسک در OpenWrt سوار (Mount) کرده باشید، همین آدرس است. در هر صورت شما میتوانید آدرس را از منوی System/Mount Points پیدا کنید. شبیه تصویر زیر. تصویر Mount Points در OpenWrt خودم است. من ۲ هارد دیسک روی OpenWrt مانت کردهام. یک هارد ۱ ترا بایتی که در آدرس mnt/sda1/ است و یک هارد ۵۰۰ گیگا بایتی که در آدرس mnt/sdb1 قرار دارد. اگر شما هم چند هارد دیسک دارید، خطی شبیه خط ۹ بعد از خط ۹ اضافه کنید. بصورت: \ v /mnt/sdb1:/data-b-
تا اینجا ما یک کد متنی در Notepad داریم که آدرس هارد دیسک را کنترل و وارد کردهایم.
حالا نوبت دریافت توکن Plex است، در براوزر وارد تبی شوید که صفحهی وب سایت Plex باز است و لاگین هستید. در نوار آدرس، آدرس زیر را تایپ کنید:
https://www.plex.tv/claim/
در صفحهای که باز میشود یک توکن به شما میدهد، توکن را کپی کنید. شبیه تصویر زیر. ۴ دقیقه زمان داریم تا از این توکن در ساخت کانتینر پلکس استفاده کنیم. نگران نباشید ۴ دقیقه برای ساخت کانتینر Plex کافی است. اگر هم منقضی شد، دوباره با تایپ آدرس، توکن جدید را Claim کنید.
توکن را در فایل متنی Notepad جایگزین “توکن نمونه” کنید. توجه داشته باشید بعد از توکن یک Space و یک Backslash (\) است.
حالا باید یک کانتینر برای ایمیج پلکس بسازیم. از منوی Docker وارد قسمت Containers شوید. روی Add کلیک کنید. صفحهی جدیدی باز میشود. روی دکمهی Command line کلیک کنید (تصویر ۶). مثل تصویر ۷ یک فیلد باز میشود. کد متنی Notepad را بطور کامل کپی و در این فیلد پیست کرده و دکمهی Submit را بزنید. دوباره در پائین صفحه دکمهی Submit را بزنید (تصویر ۸). کمی صبر کنید، کانتینر Plex ساخته میشود (تصویر ۹).
حالا تیک کنار کانتینر Plex را زده و دکمهی Start را فشار دهید تا Plex ران شود (تصویر ۱۰).
حالا نوبت پیکرهبندی Plex است.
پیکرهبندی Plex
من مدیاهایم روی هارد دیسک را بدین صورت دستهبندی کردهام:
روی روت هارد دیسک یک فولدر Videos ساخته و در این فولدر، ۲ فولدر به نامهای Movies و TV Shows ایجاد کردهام. فولدر Movies برای فیلمها و فولدر TV Shows برای سریالها. برای موزیکها و عکسها هم به طریق مشابه روی روت هارد دیسک ۲ فولدر به نامهای Musics و Photos ساختهام. اینها را گفتم تا ساختار مذکور را بتوانید تصور کرده و در تصاویر برای معرفی مسیر مدیاهایتان تعقیب کنید. ساده است، فقط کمی توجه نیاز دارد.
پلکس در اولین اجرا نیاز به تنظیم دارد. مهمترین تنظیم هم مسیر دهی مدیاهای روی هارد دیسک است.
پلکس روی پورت ۳۲۴۰۰ سرور شما (OpenWrt) ران شده است. در نوار آدرس براوزر، همان براوزری که در وبسایت plex.tv لاگین هستید، آدرس زیر را بزنید تا وارد پنل Plex روی OpenWrt شوید. فرض میکنم IP یِ پنل لوسی ۱۹۲.۱۶۸.۵۰.۱ است. شما IP لوسی (OpenWrt) خودتان را باید بزنید.
http://۱۹۲.۱۶۸.۵۰.۱:۳۲۴۰۰/web
به خاطر برخی محدودیتها فعلاً گالری تصاویر دکمهی قبل (Previous) و بعد (Next) ندارد. از این بابت پوزش میخواهم. تصاویر را به ترتیب مشاهده کرده و همزمان انجام دهید. روی هر تصویر کلیک کنید تصاویر بزرگ میشوند.
پس از اینکه تصویر ۲۵ را انجام دادید، اتوماتیک به صفحهای مشابه تصویر ۲۶ خواهید رفت. در بالای صفحه سمت راست در تصویر ۲۶ (فلش قرمز) نشان میدهد سرور در حال ایندکس کردن فیلمها و سریالهای شماست.
برای موزیکها و عکسهایتان روی هارد دیسک دقیقاً مثل بالا عمل کنید.
تا اینجا ما سرور پلکس (Plex Server) را روی OpenWrt راهاندازی کردیم. حالا برای پخش و مشاهدهی مدیاهای روی سرور پلکس، نیاز به کلاینت یا به عبارتی پلیر پلکس (Plex Player) داریم. از سایت plex.tv بالا سمت راست، گزینهی Download تقریباً برای تمامی دیوایسها اپلیکیشن Plex Player وجود دارد. به عبارتی شما با هر دیوایسی میتوانید به سرور Plex تان متصل شده و مدیایتان را پلی کنید! از کامپیوتر گرفته تا PlayStation، موبایل و تلویزیون هوشمند. این تنوع فوقالعاده است!
برای اتصال انواع دیوایسها به سرور Plex تان شما فقط به ۲ پارامتر نیاز دارید. IP سرورتان و پورت ۳۲۴۰۰. تمام.
راهاندازی Plex در تلویزیون هوشمند
پس از اینکه اپلیکیشن Plex را از استور تلویزیون نصب کردید، آن را اجرا کنید. به شما یک QR Code، یک لینک وب و یک کد ۴ رقمی نشان میدهد. در براوزر به اکانتتان در سایت Plex.tv لاگین کنید (یا از قبل لاگین هستید). از آدرسبار براوز وارد لینک وب (https://plex.tv/link) شوید. کد ۴ رقمی را وارد کنید و تمام. اپ Plex تلویزیون شما به سرورتان وصل میشود و از این به بعد میتوانید فیلمها و سریالهایتان را همراه با متادیتای (Metadata) هر فیلم یا سریال روی تلویزیونتان مشاهده کرده و لذت ببرید.
همچنین میتوانید از منوی سمت چپ صفحهی نمایش پلکس وارد Settings شده و از قسمت Manual Servers آدرس و پورت سرور Plex را تعریف کنید. معمولا با روش اول سرور شناسایی میشود و نیازی به تنظیم این قسمت نخواهید داشت.
کلیه تنظیمات سرور از طریق آدرس http://your-openwrt-ip:32400/web از قسمت بالا سمت راست، آیکون آچار در دسترس است.
نکات مهم:
۱- پلکس با اینترنت ایران کار نمیکند. PassWall 2 ران باشد.
۲- اگر هر موقع به هر دلیل دیدید که کلاینت Plex، سرورتان را شناسایی نکرد، فقط کافیست کانتینر Docker آن را Restart کنید، مشکل برطرف میشود.
اگر نیاز بود مطلب جدیدی را به این مقاله اضافه کنم، با تگ آپدیت در ابتدای مقاله مشخص میکنم تا تغییرات را نسبت به مطالعهی قبلیتان از این مقاله به راحتی پیدا کنید.
پایان آموزش.
خیلی ممنون از آموزش عالیتون. این Plex یک مشکلی که داره اینه برنامه گوشیش پولیه و مثلاً اگر بخواهیم یک آهنگ یا فیلم رو از طریق گوشی پخش کنیم فقط ۱ دقیقه اجازه میده و بعد میگه باید خریداری کنی. البته نسخه تلویزیونش این محدودیت رو نداره. خودم jellyfin رو هم نصب کردم که اون رایگانه ولی رابط کاربریش به Plex نمیرسه.
خواهش میکنم. بله الان تست کردم دیدم همینطوره در حالت پلیر پولیه ولی در حالت سرور رایگانه. روی گوشی میشه از DLNA و VLC استفاده کرد.
اپ jellyfin رو روی استور تلویزیون دارین؟
بله دارم، اونم مثل plex واقعاً عالیه و تقریباً برای همه سیستمعاملها موجود هست.
تو استور تلویزیون سامسونگ jellyfin نیست! فقط Plex و Emby هست.
برای تایزن هم داره، فقط نسخه غیررسمیش هست که توی استور سامسونگ نیست.
آره نسخه غیر رسمی رو دیدم. البته شاخ اینا همین Plex هست.
فقط یک چیز دیگهای که هست اینه که بعد از اینکه از طریق App تلویزیون یک فیلم رو پخش میکنم، درصد حافظه اشغال شدم (بر روی سرور Openwrt) به ۹۷درصد میرسه، رم سرور ۴ گیگ هست. بنظرتون نیاز به ارتقا داره یا کافیه؟
نه اون رم نیست. درصد اشغال cpu هستش. از منوی Status/Processes توی لوسی چک کنین. بعد از چند دقیقه خیلی کم میشه البته به قدرت پردازنده ربط داره. رم ۴ گیگ هم کافیه.
والله برا من نوشته memory برای همین بنظرم درصد اشغال حافظه بود. از منوی Status/Processes هم چک کردم و یک اسکرینشات گرفتم. ممنون میشم یک نگاه بندازید، ببینید این درصدهای اشغال حافظه طبیعی هست؟
https://ibb.co/WfFhSXb
بله درسته. آخه نوشته بودید ۹۷%. بخاطر همین تعجب کردم. بله طبیعیه برای من هم تو همین بازهس. تو اسکرین هم نشون داده درصد اشغال cpu کم میشه. اوکیه.
لطفا اموزش تبدیل رزبری پای به اندرویدTV هم بگذارید.
تجربهای در این کار ندارم. باید در موردش جستجو کرد.
سلام . عزض ادب
ممنونم از آموزش خیلی خوبتون
مو به مو جلو رفتم و به خوبی همه چیز اوکی شد فقطه یه مشکلی داره اونم اینکه برای پخش ویدیو روی تلویزیون خیلی لگ میزنه و تاخیر داره انگار که داره از اینترنت محتوا رو آنلاین میگیره و نه از سرور!
این مشکل وقتی که روی تلویزیون فایلها رو از طریق پلیرهای مختلف مثل نوا و وی ال سی از روی درایو اشتراکی لود میکنم وجود نداره اصلا
راه حلی داره؟
بعد ببخشید برای بقیه برنامه های مدیا سرور مثل emby یا jellyfine هم آموزشی در راه هست؟
آقا پدرام سلام. ارادت.
خواهش میکنم.
عجیبه برام که لگ داره! چون با ۲ تلویزیون سامسونگ (تایزن) و ال جی (WebOS) اصلاً این مشکل رو نداشتیم. البته هر ۲ تلویزیون با WiFi 5GHz وصلن.
با اتصال LAN تلویزیون هم تست کنین. اگر بار هم لگ داشت، حتی المقدور با یه تلویزیون دیگه هم تست کنین.
توی لوسی، منوی Status/Processes روی تب CPU usage کلیک کنین تا مصرف منابع CPU سورت بشه ببینین وضعیت مصرف داکرِ Plex چجوریه؟ واسه Memory usage هم به همین ترتیب تست کنین.
کانفیگ سخت افزاری سرور می تونه تاثیر بذاره. اون رو هم بهم بگین. CPU, GPU, RAM, LAN و سرعت شبکه داخلی.
همچنین یه بار داکر Plex رو Restart کنین.
سعی میکنم طی چند روز آینده آموزش Emby هم رو منتشر کنم. jellyfin رو سامسونگ ساپورت نمی کنه ولی LG داره. سونی هم اندرویده و اپ رو داره. فرصت کنم jellyfin رو هم میذارم.
ببخشید یک سوال غیر مرتبط راهی است با داشتن یک کانفیگ مثلا v2ray و ….یا داشتن ip مشخص کرد از چه سایتی سرورش را تهیه کرده؟
وقتی با کانفیگ وصل شدین وارد سایت ipinfo.io بشین. IP تون را با مالک و بقیه مشخصاتش بهتون میده. گاهی در میان اطلاعات ارائه شده آدرس وب سایت فروشنده سرور هم هست. یا ممکنه اون وب سایت، آدرس مالک IP باشه نه مالک سرور.
Restarting (1) 4 seconds ago
stderr: exec /init: exec format error
استاتوس کانتینرم این رو نشون میده و لاگ کانتینتر این ارور خط دوم نشون میده .
به نظرتون مشکل از کجاست ؟
اینجوری نمیشه دلیل خطا رو فهمید. جای شما باشم کل عملیات رو از اول تکرار میکنم.
سلام
ممنونم از تمامی زحمتهایی که میکشید.
Plex با راهنمایی شما کامل انجام شد و تلوزیون هم فایلهای تصویریرو با متادیتاش نشون میده
ولی موقع اجرا این ارور رو دریافت میکنم:
plex in conversion failed. a required codec could not be found or failed to install
سلام. خواهش میکنم. سه ویدئو با فرمت های متفاوت mp4 و x264 (همون mkv معمولی) و x265 رو تست کنین. ببینین روی کدوم خطا میده.
درود چرا استریم لوکال روی اپلیکشن موبایل بعد از ۱ دقیقه پخش قط میشود و مینویسد حتما باید اشتراک بخرید ولی در اپ تیوی این مشکل نیست جایی اشتباه رفتم
درود، اپ رو پریمیوم کرده و باید اشتراک خرید. برای موبایل از سرویس Emby استفاده کنید. امبی و پلکس رو میتونید کنار هم داشته باشید.
درود. بله روی موبایل اشتراک پریمیوم میخواد. Emby رو در کنار پلکس نصب کنید روی سیستم. به خوشگلی پلکس نیست ولی راحت تره و دنگ و فنگ نداره.