Apa Itu M3U8? Panduan Ramah untuk Daftar Putar HLS
Panduan praktis tentang cara kerja daftar putar M3U8 di dalam HLS, cara memutarnya, mengonversi ke MP4, dan memecahkan masalah.
Apa itu M3U8? Panduan ramah untuk daftar putar HLS (cara kerja, putar, konversi, perbaiki)
Singkatnya (TL;DR)
- M3U8 adalah daftar putar teks UTF‑8 yang digunakan oleh streaming HLS. Ini memberi tahu pemutar di mana harus mengambil potongan video .ts kecil. Anggap saja sebagai peta rute, bukan videonya sendiri.
- Untuk memutar: buka tautan .m3u8 di VLC (Desktop/Seluler). Di web, gunakan hls.js untuk Chrome/Firefox/Edge (Safari memutar HLS secara asli).
- Untuk mengonversi ke MP4: coba salin aliran dulu (tanpa re‑encode), lalu re‑encode jika perlu dengan FFmpeg. Aliran yang dilindungi DRM tidak dapat dikonversi.
1) Apa sebenarnya M3U8 itu?
M3U8 adalah file teks biasa (UTF‑8) yang mencantumkan segmen media untuk HTTP Live Streaming (HLS). Alih-alih satu file besar, HLS mengiris video menjadi banyak potongan .ts kecil dan mendeskripsikannya dalam daftar putar ini. Pemutar membaca daftar, mengambil segmen secara berurutan, dan terus memutar dengan lancar—bahkan ketika kecepatan jaringan berubah.
Contoh kecil:
#EXTM3U
#EXTINF:6,
segment1.ts
#EXTINF:6,
segment2.ts
Daftar putar master juga dapat mencantumkan beberapa kualitas; pemutar memilih yang terbaik secara otomatis.
2) Bagaimana HLS bekerja dengan M3U8?
- Enkode video -> potong menjadi segmen pendek (misalnya, 6 detik) -> tulis M3U8.
- Pemutar mengunduh daftar putar, lalu menarik segmen satu per satu melalui HTTP.
- Jika bandwidth turun, pemutar dapat beralih ke varian bitrate yang lebih rendah yang tercantum dalam daftar putar master. Desain ini membuat HLS tangguh dan ramah seluler.
3) Cara memutar tautan .m3u8
- Desktop: VLC Media Player → Media → Buka Aliran Jaringan → tempel URL.
- Seluler: VLC untuk iOS/Android juga berfungsi untuk banyak aliran publik.
- Web: Safari memutar HLS secara asli; untuk browser lain gunakan hls.js untuk melampirkan HLS ke elemen video HTML5. Jika pemutaran gagal, periksa apakah URL bersifat publik, tidak di belakang otentikasi, dan tidak dilindungi DRM.
4) Konversi M3U8 ke MP4 (FFmpeg)
Mulailah dengan remux cepat dan tanpa kerugian (tanpa re‑encode):
ffmpeg -i "https://example.com/stream.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4
Jika cara di atas gagal (codec campuran, audio ADTS, dll.), re‑encode dengan aman:
ffmpeg -i "https://example.com/stream.m3u8" -c:v libx264 -c:a aac -movflags +faststart output.mp4
Catatan:
- Aliran pribadi/terautentikasi/DRM tidak akan dikonversi.
- Jika Anda mendapatkan video hitam atau tanpa audio, re‑encode seperti di atas.
5) Masalah umum dan perbaikan
- 403/401 (Terlarang/Tidak Sah): Server mengharapkan header (Referer, User‑Agent, Cookies) atau login. Gunakan situs asli atau pemutar resmi.
- 404 (Tidak Ditemukan): Daftar putar atau segmen dipindahkan/kedaluwarsa. Refresh halaman atau gunakan URL terbaru.
- CORS (web): Halaman Anda tidak dapat mengambil daftar putar lintas domain. Aktifkan CORS di server atau proxy-kan.
- DRM/Enkripsi: Banyak aliran berbayar menggunakan kunci DRM atau AES‑128 dengan akses terbatas. Tanpa hak Anda tidak dapat memutar/mengonversi.
- Gagap/buffering: Coba varian (bitrate) yang lebih rendah atau jaringan yang lebih baik.
6) Catatan hukum dan etika
Hanya putar/unduh konten yang Anda miliki hak untuk menggunakannya. Hormati ketentuan situs, DRM, dan hukum setempat.
7) Ringkasan cepat
M3U8 adalah “peta” untuk streaming HLS. Gunakan VLC (aplikasi) atau hls.js (web) untuk memutarnya. Gunakan FFmpeg untuk remux atau re‑encode jika Anda bisa secara legal. Jika ada yang rusak, periksa otentikasi, CORS, dan DRM terlebih dahulu.
FAQ
- Apakah M3U8 file video? Tidak, ini adalah daftar putar yang menunjuk ke banyak segmen video kecil.
- Mengapa tautan berfungsi di Safari tetapi tidak di Chrome? Safari mendukung HLS secara asli; Chrome membutuhkan pemutaran JavaScript (hls.js).
- Bisakah saya menggabungkan semua segmen menjadi satu MP4? Ya—gunakan FFmpeg (lihat perintah di atas). Re‑encode jika salinan aliran gagal.