Hallo teman-teman semua! Bagaimana nih kabarnya? Semoga kita semua selalu diberikan kesehatan dan kelancaran dalam menjalankan aktivitas sehari-hari. Baiklah, pada artikel kali ini kita akan membahas materi baru yang berkaitan dengan jaringan komputer, yaitu jaringan multimedia, khususnya konfigurasi IPTV dan layanan video streaming menggunakan Jellyfin Server. Dalam perkembangan teknologi jaringan komputer, layanan multimedia menjadi salah satu teknologi yang banyak digunakan untuk mendistribusikan berbagai konten digital melalui jaringan. Salah satu contohnya adalah video streaming dan IPTV (Internet Protocol Television). Video streaming memungkinkan pengguna menikmati konten video tanpa harus mengunduh seluruh file terlebih dahulu, sedangkan IPTV merupakan teknologi yang digunakan untuk mendistribusikan siaran televisi melalui jaringan berbasis IP.
Untuk membangun layanan multimedia tersebut, kita dapat memanfaatkan salah satu aplikasi media server open source, yaitu Jellyfin. Jellyfin merupakan perangkat lunak media server yang berfungsi untuk mengelola dan menyediakan koleksi media digital seperti film, video, musik, serta siaran televisi melalui jaringan. Dengan menggunakan Jellyfin, pengguna dapat mengakses koleksi media yang tersimpan pada server melalui berbagai perangkat, seperti komputer, laptop, smartphone, maupun perangkat Smart TV yang mendukung aplikasi Jellyfin. Selain digunakan untuk mengelola koleksi video pribadi, Jellyfin juga menyediakan fitur Live TV yang memungkinkan pengguna mengakses siaran televisi melalui sumber IPTV yang kompatibel. Untuk mengaktifkan fitur tersebut, kita dapat menggunakan sumber siaran berbasis playlist M3U dan data panduan program televisi atau XMLTV. Dengan demikian, Jellyfin dapat dimanfaatkan sebagai media server yang menggabungkan pengelolaan koleksi video dan layanan IPTV dalam satu sistem. Jellyfin merupakan aplikasi open source yang dapat digunakan tanpa biaya lisensi perangkat lunak. Aplikasi ini juga mendukung berbagai platform client sehingga pengguna dapat mengakses layanan media server melalui perangkat yang berbeda selama jaringan dan konfigurasi akses telah disiapkan dengan benar. Informasi lebih lengkap mengenai aplikasi ini dapat dipelajari melalui website resminya, yaitu https://jellyfin.org/.
Peralatan dan Bahan Instalasi Jellyfin Server
Sebelum memulai proses instalasi dan konfigurasi Jellyfin Server, ada beberapa peralatan dan bahan yang perlu kita persiapkan terlebih dahulu, yaitu:
- VirtualBox atau aplikasi Virtual Machine lainnya, jika kita ingin menjalankan server menggunakan mesin virtual. VirtualBox dapat diunduh melalui situs resminya: https://www.virtualbox.org/wiki/Downloads/.
- ISO Ubuntu Server, yang digunakan sebagai sistem operasi untuk menjalankan Jellyfin Server. File instalasi dapat diunduh melalui https://ubuntu.com/download/server.
- Komputer atau laptop, yang digunakan untuk menjalankan VirtualBox dan Ubuntu Server.
- Aplikasi Jellyfin Server, yang dapat diunduh melalui website resmi https://jellyfin.org/downloads/server/.
- WinSCP atau aplikasi transfer file lainnya, jika diperlukan untuk memindahkan file media dari komputer ke server. WinSCP dapat diunduh melalui https://winscp.net/eng/index.php.
- Beberapa file video atau film, seperti format MP4, MKV, atau format video lainnya yang didukung Jellyfin untuk keperluan pengujian layanan streaming.
- Playlist IPTV berformat M3U, yang berasal dari penyedia layanan IPTV atau sumber siaran yang memiliki izin untuk digunakan.
- File panduan program televisi XMLTV, jika tersedia dan ingin menampilkan informasi jadwal acara pada fitur Live TV.
- Koneksi jaringan, yang digunakan untuk menghubungkan server dengan perangkat client agar layanan video streaming dan IPTV dapat diakses.
Pastikan seluruh peralatan dan bahan yang diperlukan sudah tersedia. Selain itu, Ubuntu Server harus sudah terinstal dan dapat dijalankan dengan baik. Kita juga perlu memastikan server memiliki alamat IP yang dapat dijangkau oleh perangkat client melalui jaringan.
Langkah-Langkah Instalasi dan Konfigurasi Jellyfin Server
Pada tutorial kali ini, kita akan membahas langkah-langkah instalasi dan konfigurasi Jellyfin Server untuk menjalankan layanan IPTV dan video streaming. Sebelum memulai proses konfigurasi, pastikan Ubuntu Server telah siap digunakan dan seluruh peralatan yang diperlukan sudah dipersiapkan. Tahapan pertama adalah melakukan instalasi Jellyfin Server pada Ubuntu. Setelah proses instalasi selesai, kita akan melakukan konfigurasi awal melalui antarmuka web Jellyfin, mulai dari membuat akun administrator, menentukan direktori penyimpanan media, hingga menambahkan koleksi video yang akan digunakan sebagai konten streaming. Selanjutnya, kita akan melakukan konfigurasi IPTV melalui fitur Live TV dengan menambahkan sumber siaran menggunakan playlist M3U.
- Langkah 1: Bukalah server DNS kita terlebih dahulu kemudian Daftarkan host yang akan kita gunakan untuk server IPTV kita pada DNS server di
/etc/bind/db.jarmud.comdengan nama iptv. Pada kasus kali ini IP dari server IPTV (Jellyfin) yaitu192.168.100.103
Baca: Tutorial Konfigurasi DNS Server di Ubuntu Menggunakan BIND9: Panduan Lengkap untuk Pemula
- Langkah 2: Simpanlah pengaturan dari DNS dan lakukan proses restart agar seluruh pengaturan aktif pada server kita
- Langkah 3: Ceklah Host domain yang baru saja kita daftarkan sebelumnya dan tambahkan IP dari DNS kita untuk memastikan bahwa server sudah dapat diakses melalui IP DNS kita. Pada kasus ini, IP DNS yang digunakan yaitu
192.168.100.100
- Langkah 4: Ceklah juga DNS dari google untuk memastikan bahwa IP DNS kita sudah dapat melakukan forwarder ke Internet. Jika tahapan ini sudah dilakukan maka tahapan konfigurasi DNS sudah selesai dilakukan
- Langkah 5: Lalukan Remote ke dalam server IPTV yang sudah kita import sebelumnya, kemudian loginlah ke dalam server dari linux ini. Lalu pastikan kita sudah masuk ke dalam pengaturan dari root dengan menjalankan
sudo su
- Langkah 6: Ubahlah nama dari server kita menjadi “
IPTV-Server“
- Langkah 7: Cek kembali IP dari server Jellyfin kita, lalu pastikan server kita sudah mendapatkan IP Address dari jaringan kita dari internafe
Bridge Adapteryang kita atur pada Virtualbox. Jika kita melakukan import melalui file Ova yang sama maka kita dapat mengubah pengaturan dari filenano /etc/machine-iddan editlah 2 sampai 3 digit terakhir dengan nomor unik (Hexadecimal). Lalu lakukan perintahrebootpada server kita
- Langkah 8: Lakukan pengujian internet pada server Jellyfin kita dengan cara mengakses DNS google pada terminal server Jellyfin kita
- Langkah 9: Lakukan update repository dari server Jellyfin kita dengan menggunakan perintah
apt update
- Langkah 10: Installah beberapa paket yang digunakan untuk proses persiapan awal dari tahapan instalasi server Jellyfin kita
sudo apt install curl wget gnupg ca-certificates \ apt-transport-https software-properties-common -y
- Langkah 11: Ceklah hostname yang sudah kita ubah pada server Jellyfin kita terlebih dahulu
- Langkah 12: Downloadlah repository resmi dari Jellyfin terlebih dahulu karena paket dari Jellyfin secara default belum terdaftar pada server ubuntu kita. Repositori ini didapatkan dari situs resmi dari jellyfin.org
# 1. Dokumentasi Instalasi https://jellyfin.org/docs/general/installation/linux/?utm_source=chatgpt.com#debian--ubuntu-and-derivatives # 2. Membuat Folder Repositori sudo mkdir -p /etc/apt/keyrings # 3. Download Repo dan masukkan ke dalam folder yang dibuat curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key \ | sudo gpg --dearmor \ -o /etc/apt/keyrings/jellyfin.gpg # 4. Memberikan hak akses dari file repo yang di download sudo chmod 644 /etc/apt/keyrings/jellyfin.gpg
- Langkah 13: Tambahkan repo dari jellyfin yang kita download tadi pada source ubuntu kita terlebih dahulu
sudo tee /etc/apt/sources.list.d/jellyfin.sources <<EOF Types: deb URIs: https://repo.jellyfin.org/ubuntu Suites: noble Components: main Architectures: amd64 Signed-By: /etc/apt/keyrings/jellyfin.gpg EOF
- Langkah 14: Lalukan proses update pada server jellyfin kita terlebih dahulu untuk melakukan update repo yang sudah kita tambahkan sebelumnya
- Langkah 15: Installah paket jellyfin kita setelah repositori berhasil ditambahkan
- Langkah 16: Aktifkan service jellyfin kita terlebih dahulu dan pastikan bahwa service tersebut sudah ready
- Langkah 17: Bukalah pengaturan dari Windows kita yang akan digunakan sebagai client, lalu tambahkan IP DNS pada menu DNS Server di windows kita. Tujuan kita melakukan ini agar Client windows dapat mengakses IP yang didaftarkan pada DNS dengan menggunakan nama host atau domain yang sudah didaftarkan sebelumnya
- Langkah 18: Lakukan pengecekan pada client windows kita dengan cara mengakses perintah ping melalui CMD dari windows. Pada kasus ini kita melakukan ping host domain kita yaitu ping
iptv.jarmud.com
- Langkah 19: Bukalah browser kita terlebih dahulu untuk melakukan tahapan instalasi lanjutan dari server jellyfin kita. Gunakan port
8096untuk dapat mengakses layanan jellyfin. Tahapan instalasi jellyfin sama seperti tahapan instalasi Emby Server
Baca: Tutorial Instalasi dan Konfigurasi Emby Server di Ubuntu untuk Video Streaming
# Akses Host domain via Browser http://iptv.jarmud.com:8096/
- Langkah 20: Daftarkan nama user pertama dari jellyfin kita terlebih dahulu. Pastikan untuk username/password dari server ini harus selalu diingat karena seluruh konfigurasi Jellyfin akan disetting dengan menggunakan akun ini. Pada kasus ini username dari akun yang didaftarkan berupa
jellyfin
- Langkah 21: Pada tahapan ini kita diminta untuk mendaftarkan library atau playlist yang akan digunakan. Karena pada tahapan ini kita belum mempersiapkan lokasi untuk peletakan file video yang digunakan maka tahapan ini kita skipkan saja
- Langkah 22: Aturlah bahasa yang digunakan untuk server ini. pada kasus ini kita memilih bahasa berupa “
English“
- Langkah 23: Pastikan pada bagian remote access ini dicentang agar kita dapat melakukan remote ke dalam server jellyfin ini
- Langkah 24: Pada tahapan terakhir akan muncul tampilan konfirmasi seperti ini, lalu kita klik tombol finish untuk menuntaskan tahapan instalasi jellyfin
- Langkah 25: Setelah berhasil maka kita akan diarahkan ke tampilan login dari server jellyfin ini
- Langkah 26: Kita coba lakukan proses login ke dalam server jellyfin ini, pastikan username / password yang daftarkan dapat digunakan pada tahapan login
- Langkah 27: Buka kembali terminal dari server Jellyfin kita dan installah paket web server kita terlebih dahulu
- Langkah 28: Pastikan server web yang sudah kita install ini sudah kita
enableterlebih dahulu dan pastikan seluruh status dari server ini sudah aktif
- Langkah 29: Bukalah browser kita terlebih dahulu, lalu akseslah nama host domain kita pada browser tanpa perlu menambahkan port jellyfin yaitu
8096di bagian belakang host domain
# Akses Halaman Web Server Apache http://iptv.jarmud.com/
- Langkah 30: Aktifkan pengaturan dari konfigurasi Web server kita terlebih dahulu seperti paket
proxy,proxy_http,proxy_wstunnel,rewritedanheadersuntuk melakukan pengalihan untuk server jellyfin kita
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_wstunnel sudo a2enmod rewrite sudo a2enmod headers
- Langkah 31: Bukalah pengaturan dari Virtualhost dari webserver kita. Tambahkan sebuah file baru untuk mengatur konfigurasi virtualhost dengan perintah
nano /etc/apache2/sites-available/jellyfin.conf. Tambahkan sintak dibawah ini untuk proses pengalihan layanan dari jellyfin kita
<VirtualHost *:80>
ServerName iptv.jarmud.com
ServerAdmin webmaster@localhost
ProxyRequests Off
ProxyPreserveHost On
# Informasi koneksi asli dari client
RequestHeader set X-Forwarded-Proto "http"
RequestHeader set X-Forwarded-Port "80"
# Mengaktifkan Rewrite Engine
RewriteEngine On
# Meneruskan koneksi WebSocket
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:8096/socket/$1 [P,L]
# Meneruskan koneksi HTTP biasa
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://127.0.0.1:8096/$1 [P,L]
# Timeout koneksi
ProxyTimeout 3600
# Log Apache tanpa mencatat query string
LogFormat "%h %l %u %t \"%m %U %H\" %>s %b" jellyfin_safe
CustomLog ${APACHE_LOG_DIR}/jellyfin-access.log jellyfin_safe
ErrorLog ${APACHE_LOG_DIR}/jellyfin-error.log
</VirtualHost>
- Langkah 32: Aktifkan pengaturan dari virtualhost kita dengan perintah
a2ensitedan matikan pengaturan default dari web server dengan perintaha2dissite
cd /etc/apache2/sites-available/ # Pengaturan untuk mengaktifkan pengaturan dari Virtualhost kita sudo a2ensite jellyfin.conf sudo a2dissite 000-default.conf sudo apache2ctl configtest
- Langkah 33: Lakukan perintah restart agar seluruh konfigurasi dari virtualhost kita sudah dapat berjalan pada server kita
- Langkah 34: Aktifkan pengaturan dari firewall dari server jellyfin kita seperti hanya mengizinkan seperti Port SSH dan Web kita
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw enable sudo ufw status
- Langkah 35: Buka kembali halaman website kita, lalu refreshlah browser kita terlebih dahulu pastikan bahwa ketika kita mengakses halaman host domain untuk jellyfin, kita tidak perlu memasukkan port
8096kita lagi
- Langkah 36: Installah paket
treeuntuk melihat informasi dari struktur folder kita nantinya
- Langkah 37: Daftarkan folder yang akan kita gunakan untuk penyimpanan video kita. pada kasus ini kita akan mendaftarkan 3 buah server yang diletakkan pada folder
/srv/media/
sudo mkdir -p /srv/media/Film sudo mkdir -p /srv/media/Edukasi sudo mkdir -p /srv/media/Dokumenter tree /srv/media/
- Langkah 38: Tambahkan group yang akan kita gunakan untuk mengupload file video yang akan kita gunakan nantinya. Pada kasus ini group yang didaftarkan berupa
media
sudo groupadd media
sudo usermod -aG media ivan
sudo chown -R ivan:media /srv/media
# Sintak ini digunakan untuk memberikan hak akses untuk folder /srv/media agar dapat melakukan perintah upload dan lainnya
sudo find /srv/media -type d -exec chmod 2775 {} \;
sudo find /srv/media -type f -exec chmod 664 {} \;
- Langkah 39: Installah pake ACL untuk mengatur hak akses user agar dapat mengelola folder yang akan kita gunakan
- Langkah 40: Tambahkan konfigurasi hak akses dengan perintah ACL untuk group
mediasehingga group tersebut dapat mengupload file di folder/srv/media
sudo setfacl -R -m g:media:rwX /srv/media sudo setfacl -R -m d:g:media:rwX /srv/media
- Langkah 41: Setelah seluruh instalasi dilakukan, restartlah paket dari jellyfin kita terlebih dahulu
- Langkah 42: Tambahkan source video kita ke dalam server terlebih dahulu. Untuk menambahkan source ini kita dapat melakukan upload menggunakan aplikasi WinSCP. Lalukan proses seperti tahapan remote melalui aplikasi ini seperti untuk bagian host name masukkan IP dari Jellyfin kita yaitu
192.168.100.103dan gunakan port number yaitu22. Sedangkan untuk username dan password ini kita gunakan username dari linux kita
- Langkah 43: Tambahkan musik kita ke dalam seluruh playlist kita, sehingga tampilan dari struktur tabel ketika kita gunakan perintah
tree /srv/media/akan seperti ini
- Langkah 44: Loginlah kembali ke halaman jellyfin ini dan masuklah ke pengaturan dashboard kita terlebih dahulu pada website jellyfin kita
- Langkah 45: Buatlah library baru sesuai dengan banyaknya folder source video yang kita daftarkan pada menu
Library > Add Media Library. lalu tambahkan display name sesuai dengan nama playlist yang akan didaftarkan. Pada bagian Folders tambahkan lokasi dari library kita
- Langkah 46: Untuk menambahkan lokasi Folders dari library kita dapat melakukan cara seperti ini. Pada kasus ini kita akan menambahkan direktori yang sudah kita daftarkan yaitu dokumenter. Sehingga pada path folder dapat dimasukkan seperti ini
/srv/media/Dokumenter
- Langkah 47: Tambahkan seluruh libary yang sudah kita buat sebelumnya pada server jellyfin kita. Pada kasus ini kita menggunakan 3 library yaitu
Dokumenter,EdukasidanFilm
- Langkah 48: Tambahkan user baru untuk mengatur pembagian dari hak akses library kita terlebih dahulu pada menu
Users > Add User
- Langkah 49: Aturlah pengaturan dari user kita termasuk library yang diatur, pengaturan display pada login dan lainnya seperti dibawah ini
- Langkah 50: Aturlah agar akun yang baru kita tambahkan ini tidak muncul pada bagian halaman login dan agar user ini tidak dapat mengelola library dengan cara uncheck pada bagian
Allow this user to manage the server
- Langkah 51: Agar server ini memiliki layanan IPTV maka kita perlu mengakses halaman
Live TV > Tunner Device > Add Tiner Device
- Langkah 52: Pada menu Live TV Tuner Setup dan pilihlah Tuner Type menjadi
M3U Tuner. Lalu masukkan data API dari IPTV pada formFile or URLdengan link dari github IPTV
# Siaran Lengkap https://iptv-org.github.io/iptv/index.m3u # Siaran Indonesia https://iptv-org.github.io/iptv/languages/ind.m3u # Siaran Animasi https://iptv-org.github.io/iptv/categories/animation.m3u # Kumpulan Siaran https://github.com/iptv-org/iptv/blob/master/PLAYLISTS.md # Source Lainnya dari Internet https://www.jendelatv.id/2022/08/download-file-m3u-iptv.html
- Langkah 53: Simpanlah pengaturan dari Tuner Device dan tunggu hingga seluruh API di load pada server kita
- Langkah 54: Setelah itu bukalah halaman utama dari Jellyfin kita maka kita akan dapat melihat beberapa playlist termasuk menu
Live TV
- Langkah 55: Pilihlah menu
Live TVdan pilihkan dropdownChannelsmaka server kita sudah dapat mengakses seluruh siaran yang sudah ditambahkan
Dengan mengikuti tutorial ini, diharapkan teman-teman dapat memahami cara membangun media server menggunakan Jellyfin, mulai dari proses instalasi, pengelolaan koleksi video, hingga konfigurasi layanan IPTV. Materi ini juga dapat menjadi dasar untuk mempelajari pengembangan jaringan multimedia dan layanan streaming berbasis server secara lebih lanjut.