I’m Cem Unalan. I blog about things that I build, things that I consume and things that happen to me.

Plex 102

23 June 2020

Plex hakkinda edindigim deneyimlere devam ediyorum.

Bir onceki yazimda Plex’in ne oldugundan, hangi problemleri cozdugunden, yardimci programlarindan ve genel olarak ekosisteminden bahsetmistim. O yazidan sonra Plex kullanim aliskanliklarim epey bir degisti.

Oncelikle Plex sunucusu olarak kullandigim dandik dizustu bilgisayardan kurtuldum sonunda. Bence dizustuler giris seviye icin harika Plex/ev sunuculari. Kolay mudahele icin ekran ve klavyeleri var ve cok az guc tuketiyorlar. Benim elimdeki asiri gucsuz oldugu icin degistirmek zorunda kaldim.

Ote yandan sansliydim cunku masaustu bilgisayarimi yenileyince eski islemci, anakart ve bellekler bosa cikmisti. Bir kasa ve bir guc kaynagi alip kendime ikinci bir bilgisayar topladim ve bunu Plex sunucusu yapmaya karar verdim. Islemci Intel i5-6402P ve Passmark skoru yaklasik 5500 civarinda. Skoru 900 olan dizustu bilgisayardan sonra baya buyuk bir gelisme benim icin. Plex’in sitesindeki CPU rehberine gore 1080p transcode’da problem yasamamam lazim.

Bu bilgisayara once Ubuntu 19.10, sonra da 20.04 LTS kurulumu yaptim. Plex uygulamasini da direkt Snap Store‘dan snap paketi formatinda kurdum. Elbette bu tek kurulum yontemi degil, hatta belki en performansli yontem de degil. Snap paketleri, Ubuntu’da bir sandbox arkasinda calisiyor ve genelde performanslari sorgulaniyor (kesinlikle yavas demek zor). Bu konuyu arastirip snap olarak mi yoksa her zamanki usul .deb ile mi kurmak lazim ogrenmek lazim. Simdilik ben snap ile problem yasamadim.

Daha sonra Plex’e gosterdigim kutuphanemi ve icindeki dosyalari direkt kopyala yapistir usuluyle yeni kuruluma aktardim. Tabi burada sunu kavramak gerekiyor. Yeni bir kurulum, Plex icin yeni bir sunucu demek. Eski sunucudaki izlemis oldugunuz dizi ve filmlerin izlenip izlenmeme bilgileri yeni sunucuda olmayacak. Izleyip de yeni sunucuya tasidiginiz tum filmler Plex’te izlenmemis olarak gelecek. Bunu onleme gibi bir derdiniz varsa, bu yaziya bakmak iyi olabilir. Bundan sonra tasimam gerekirse ben de boyle yapacagim.

Bir onceki bilgisayara Radarr ve Jackett kurmustum. Acikcasi kurdugumla kaldim ve bir daha kullanmadim. Zaten dizustu oldugu icin indirdigim icerigi direkt ekrandan kontrol etmek, Plex’e eklemek, altyazisini kontrol etmek kolay geliyordu.

Tabi simdi yeni duzenimde Plex sunucum bir masaustu bilgisayar ve odanin kosesinde internete bagli duruyor. Her zaman ekrana ve klavyeye baglama imkanim yok. Ben bu cihazi nasil kontrol edecegim gibi sorunlarla ugrastim son bir haftada. Buldugum cozumleri siralamak istiyorum.

Transmisson Uzaktan Erisim

En favori torrent programimiz burda da yardimimiza kosuyor. Transmission acik oldugunda uzaktan erisilebilme ozelligine sahip. Bunu ayarlardaki “remote” sekmesinde gorebilirsiniz.

Bu sayede baska bir bilgisayardan 192.168.0.22:9091 gibi bir adrese (Transmssion’in calistigi bilgisayarin router’dan aldigi lokal IP adresi) gittiginizde karsiniza uzaktaki bilgisayarda calisan Transmission cikacak. Onun arayuzu de programla neredeyse ayni. Normal uygulamada ne yapabiliyorsaniz, uzaktan da yapabiliyorsunuz. Torrent ekleme, indirmeleri yonetme, nereye kaydedilecegini secme gibi. Bu sayede Transmssion’dan indirilen icerikleri direkt Plex’in taradiyi kutuphane klasorlerine atabilir ve Plex uzerinden izlemeye baslayabilirsiniz.

Sabit Lokal IP

Internet servis saglayicilarin sabit IP’lerini biliyorsunuzdur. Bunu lokaldeki Plex sunucunuz icin de yapmaniz oldukca faydali olacaktir. Ornegin yukarida adresi verdim. Transmssion’in calistigi bilgisayarin adresi 192.168.0.22 iken belli bir sure sonra degisebilir ve sonu 22 yerine 23 ile bitebilir. Bu sizden habersiz oldugu icin tekrar sunucunun adresini bulmak zorunda kalabilirsiniz. Elbette zor bir sey degil ama bunu onleyebiliriz.

Normalde bilgisayarlar router’dan DHCP ile bu IP adreslerini otomatik aliyorlar. Bu noktada iki opsiyonunuz var. Router’da spesifik bir bilgisayar icin (MAC adresini kullanarak) bir IP rezerve edebilirsiniz. Plex sunucunuz Router’a gidince direkt olarak ona rezerve ettiginiz IP adresini alir.

Plex’teki rehberde de yazdigi gibi mumkunse bu yontemi kullanin. Ben kullanamadim cunku modemim desteklemiyordu. Onun yerine, bilgisayarinizdan da Router’dan hep ayni IP’yi talep etmesini isteyebilirsiniz. Bu genelde isletim sistemi tarafindan hallediliyor ve ozetle bilgisayariniz aga baglanirken DHCP ile otomatik IP almak yerine Router’dan spesifik bir IP’yi talep ediyor. Bu digeri kadar garanti bir yontem degil, cunku baska bir cihaza verilmis IP’yi talep etmis olabilirsiniz. Ev ortaminda cihaz sayisi fazla olmadigi icin sorun olacagini sanmiyorum.

Ag Dosya Paylasimi

Elbette benim icin sadece Transmission’dan indirilen icerikleri Plex’e atabilmek yetmedi. Bazen Plex rahat tarayabilsin diye dosya isimlerini degistirmek, altyazi bulup test etmek, genel olarak bilgisayara direkt erismek gerekiyor.

Bunun icin evdeki bilgisayardan nasil kontrol ederim diye baktim ve ag uzerinden bilgisayarin dosya sistemine erismeye karar verdim.

Ubuntu ve Mac arasinda yapmak bunu epey kolay oldu. Ag uzerinden dosya paylasimina musaade eden pek cok farkli protokol var. Ben hali hazirda Mac’te desteklenen ve Ubuntu’da da kolayca kurulabilen SMB protokolunden devam ettim. Internetten ogrendigime gore Windows’ta da problem yokmus. Bu kurulumla beraber Plex sunucusu dosya sistemine istedigim gibi erisebiliyorum, video altyazi ekleyebiliyorum, dosya isimlerini duzenleyebiliyorum.

Ag isleri gercekten ayri bir batak. Evdeki kullanim kablosuz internetten ibaretken cok bir sey fark etmiyorsunuz ama iki bilgisayar arasi dosya transferi yaparken daha hizli nasil yaparim diye arastirinca epey dandik bir router/modem’e sahip oldugumu anladim. Laptop’taki Wi-Fi karti da eskiymis. Moralim bozuldu. Simdi su IEEE 802.11 protoklunun sonundaki g, n, ac harfleri anlam kazandi. Daha iyi donanim istiyor insan.

Plex Uzaktan Erisim

Plex, evdeki sunucunuzda tuttugunuz iceriklere ev disindan ulasmaniz icin de ozelliklere sahip. Epey iyi bir ozellik ve isime yarayabilecegini dusunuyorum. Bunun icin ayarlardan Plex arayuzunde “Remote Access” kismina bakabilirsiniz.

Eger sansliysaniz, uzaktan erisimi actiginizda calismaya baslayacaktir. UPnP destekleyen bir modeminiz var ise Plex gerekli portlari ayarlayarak sunucunuzu ev disindan erisilebilir kilmaya calisacaktir.

Eger benim gibi sanssizsaniz, modemde kendiniz port ayarlamalari yapmaniz gerekebilir. Temel olarak Plex uygulamasinda IP adresim budur ve bu porttan bana erisebilirsin demeniz yeterli. Daha sonra modeme gidip 32400 portunu dunyaya acan port yonlendirmeyi yapmaniz gerekiyor.

Elbette burada Turkiye sartlari biraz devreye giriyor. Ben ne kadar ugrastiysam da o portlari acmayi beceremedim. Eger siz de bir problemle karsilasirsaniz Plex’in sitesindeki harika sorun cozme rehberini okuyun. Internet ve ag isleri karisik, arada bir suru bilmediginiz katman olabiliyor. Problem cikaran katmani bulmak icin bu rehber iyi bir baslangic noktasi.

Ben arastirmalarim sonrasi Kablonet’te Carrier-Grade NAT olayina takildigimi dusundum. Zira internette benim oldugu soylenen IP ile, modem arayuzunde gozuken IP farkli idi. Ne kadar port acsam da bu IP’ler uzerinden bilgisayarima ulasamadim. Telefonla arayip bu havuzdan cikmayi talep ettikten bir-iki gun sonra bu problem gitti. Artik uzaktan rahatlikla baglanabiliyorum.

Bu arada, Plex sunucunuzu internete acamasaniz da aslinda telefondan Plex’e baglandiginizda sunucunuzu ve iceriklerini gorebileceksiniz. Bu beni basta sasirtti ancak sonradan Plex’in Relay diye bir ozelligi oldugunu, aslinda o iceriklerin direkt olarak kendi sunucunuzdan cihaza gelmedigini, Plex sunucularinin aracilik ettigini ogrendim. Zaten goruntu kalitesi inanilmaz dusuktu. Uzaktan erisimi denerken boyle bir ozelligin de oldugunu unutmayin.

Wake-on-LAN

Bu kapali bir bilgisayari uyandirmak icin genelde anakartlarda olan bir ozellik. Gereksiz elektrik harcamamak icin Plex sunucusunu surekli acik birakmayi dusunmuyorum ancak arada sirada evden uzaktayken de mudahele edebilmek isterim. Bu sebeple bu ozelligi ayarlamayi planladim ama…

O kadar fazla katmandan atlamaniz gerekiyor ki adami cildirtiyor. Oncelikle anakartinizda bu ozelligi acmaniz gerekiyor. Bu neyse ki cok kolay ve neredeyse her anakartta destekleniyor. Elbette evin disindan bir internet paketinin sizin bilgisayariniza ulasmasi icin bir adres lazim. Evinizin IP adresi surekli degisir olabilecegi icin onunuze iki adet secenek cikiyor:

  • Sabit IP adresi edinmek
  • Surekli degisen IP adresini bir dinamik DNS servisine kaydetirip bir domain edinmek

Ben oncelikle ucretsiz yola yoneldim ve duckdns.org uzerinden bir kayit actim. Burda mantik su. Bir tane domain seciyorsunuz, ornegin benimadim.duckdns.org gibi. Bilgisayarinizdaki bir program surekli olarak (5 dakikada bir gibi araliklarla) duckdns.org uzerinde bu adrese karsilik gelen IP’yi guncelliyor. Bu sayede benimadim.duckdns.org surekli sizin evinizdeki IP’ye cozulen bir adres oluyor.

Bu noktadan sonra bilgisayari internet uzerinden uyandirabilmek icin ona belli bir porttan bir talep gondermeniz yeterli. Elbette bunun olabilmesi icin sizi internete baglayan modemin bu portlara gelen talepleri kabul etmesi ve onlari yonlendirmesi gerekiyor. Ayni Plex icin port acar gibi bir de Wake-on-LAN icin port acmaniz ve yonlendirmeniz lazim. Bu is icin 7 ve 9 portlari ayrilmis ve UDP protokolunu kullaniyor.

Daha sonra Wake-on-LAN icin gerekli paketi uretip (buna sihirli paket deniyor ve acmak istediginiz bilgisayarin MAC adresini iceriyor) gonderecen bir arac ile bilgisayarinizi uyandiriyorsunuz.

Ben ne kadar denediysem deneyeyim, bu portlari acmama, konfigurasyonlari yapmama ragmen ragmen ev disindan Wake-on-LAN’i calistiramadim. Wake-on-LAN’a dair gonderdigim lokal paketlerimin geldigini “tcpdump” ile gorebiliyorum. Ancak ev disindan gonderdigim paketlerin bilgisayara ulasmiyor. Bu konudaki arastirmalarim devam ediyor ve guncelleyecegim.

Wake-on-LAN’a dair cok guzel ozet yazilari paylasiyorum. Ben hepsini bunlardan yola cikarak ogrendim:

https://www.howtogeek.com/70374/how-to-geek-explains-what-is-wake-on-lan-and-how-do-i-enable-it/

https://www.howtogeek.com/192642/how-to-remotely-turn-on-your-pc-over-the-internet/

https://www.lifewire.com/wake-on-lan-4149800