Access-Control-Allow-Origin

HLS CORS Kesalahan: Mengapa M3U8 Streaming Gagal di Browser

Kesalahan HLS CORS terjadi ketika browser tidak diizinkan mengambil manifes M3U8, kunci enkripsi, atau segmen media dari asal lain. Streaming mungkin masih diputar di VLC karena CORS adalah aturan browser, bukan aturan media. Untuk menguji streaming online, gunakan asal yang mendukung CORS atau rutekan permintaan HLS melalui proxy.

Terakhir diperbarui: June 20, 2026

Pemutaran, riwayat, favorit, subtitle, dan konversi browser tetap ada di perangkat ini. Permintaan HLS melewati proxy hanya ketika Anda mengaktifkan proxy CORS.

Proksi CORS yang cerdas

Gunakan proksi Cloudflare Worker untuk manifes, kunci, dan segmen saat pemutaran browser langsung diblokir.

Pratinjau video

Tautan laporan kesehatan

Parsing varian, kecepatan bit, durasi segmen, enkripsi, dan status aktif/VOD, lalu ambil sampel segmen media untuk tautan mati. Pemeriksaan segmen dibatasi oleh browser CORS, jadi aktifkan proxy untuk hasil paling akurat.

Bagaimana mengenali kegagalan CORS

MemeriksaGejalaArti
Manifes diblokirPermintaan .m3u8 gagal sebelum pemutaran dimulai.Asal membutuhkan Access-Control-Allow-Origin atau pemain memerlukan proxy.
Kunci diblokirManifes dimuat, namun pemutaran terenkripsi gagal.Kunci AES-128 URL juga harus mengizinkan CORS atau merutekan melalui proxy yang sama.
Segmen diblokirPemutaran dimulai, lalu buffer atau terhenti.Setiap permintaan segmen .ts atau .m4s memerlukan jalur CORS yang sama.
VLC berfungsi, browser gagalPemutaran desktop berfungsi tetapi pemutaran web tidak.Ini biasanya mengkonfirmasi masalah browser CORS, bukan aliran yang rusak.
Pra-penerbangan gagalHeader khusus memicu permintaan OPTIONS yang ditolak oleh asal.Hindari header yang tidak perlu atau konfigurasikan proxy/asal untuk menangani OPTIONS.

Cara memperbaiki atau menguji kesalahan HLS CORS

  1. 1

    Periksa apakah manifes dimuat

    Buka M3U8 URL atau tempel ke pemutar. Jika permintaan manifes diblokir oleh CORS, pemutaran bahkan tidak dapat dimulai.

  2. 2

    Bandingkan dengan VLC

    Jika VLC dapat memutar URL yang sama tetapi browser tidak bisa, streaming mungkin dapat dijangkau dan kegagalannya adalah kontrol akses browser.

  3. 3

    Aktifkan proksi CORS yang cerdas

    Aktifkan proxy sehingga manifes, kunci enkripsi, dan segmen media semuanya melewati respons yang dapat dibaca oleh browser.

  4. 4

    Jalankan laporan kesehatan

    Gunakan validator melalui proxy untuk memeriksa apakah segmen benar-benar aktif dan bukan hanya diblokir oleh CORS.

  5. 5

    Tambahkan Referer hanya bila diperlukan

    Jika asal menggunakan perlindungan hotlink, atur halaman asli URL sebagai Referer. Jangan menambahkan tajuk khusus kecuali asal memerlukannya.

Mengapa HLS membutuhkan CORS pada lebih dari satu URL

Pemain HLS tidak hanya mengambil satu file. Ini mengambil manifes master, satu atau lebih daftar putar media, kunci enkripsi untuk AES-128 streaming, dan banyak segmen URLs. Satu header CORS yang hilang pada salah satu sumber daya tersebut dapat mengganggu pemutaran, jadi hanya menguji respons .m3u8 pertama saja tidak cukup.

Apa yang harus dilakukan Access-Control-Allow-Origin

Untuk streaming publik, asal dapat mengirimkan Access-Control-Allow-Origin untuk situs yang menghosting pemain, atau menggunakan wildcard ketika kredensial tidak terlibat. Untuk aliran pribadi, jaga agar sumber tetap terkunci dan gunakan titik akhir proksi yang terkontrol untuk pengujian. Hindari mencampur URL langsung dan proksi dalam sesi HLS yang sama.

Mengapa proxy berguna untuk debugging

Proksi memungkinkan browser meminta aset HLS dari asal Anda yang diizinkan sementara proksi mengambil manifes, kunci, dan segmen URL yang sebenarnya. Hal ini memungkinkan untuk mengetahui apakah suatu streaming rusak atau hanya diblokir oleh kebijakan browser. Ini juga memberi Anda satu tempat untuk menambahkan Referer atau User-Agent ketika asal memerlukannya.

Pertanyaan yang sering diajukan

Apa yang menyebabkan kesalahan HLS CORS?

Kesalahan HLS CORS terjadi ketika browser tidak dapat membaca manifes M3U8, kunci enkripsi, atau segmen media karena asal tidak mengizinkan akses lintas asal. VLC masih dapat memutar streaming karena CORS diterapkan oleh browser.

Mengapa streaming M3U8 saya diputar di VLC tetapi tidak di Chrome?

VLC tidak dibatasi oleh pemeriksaan browser CORS. Jika VLC berfungsi dan Chrome gagal, streaming biasanya dapat dijangkau, namun browser tidak dapat membaca satu atau lebih permintaan HLS tanpa header CORS atau proxy.

Bisakah proxy CORS memperbaiki pemutaran M3U8?

Ya, untuk pengujian dan debugging. Proksi harus merutekan manifes, daftar putar media, kunci, dan segmen sehingga setiap permintaan HLS berasal dari asal yang boleh dibaca oleh browser.

Apakah segmen HLS memerlukan header CORS?

Ya. Manifes, playlist turunan, kunci, dan setiap segmen media harus dapat dibaca oleh browser. Streaming bisa gagal meskipun file .m3u8 tingkat atas memiliki header CORS yang benar.

Apakah ini sama dengan perlindungan hotlink?

No. CORS adalah aturan akses browser. Perlindungan hotlink adalah aturan asal yang mungkin memerlukan Referer atau User-Agent tertentu. Beberapa aliran memiliki kedua masalah tersebut, jadi Anda mungkin memerlukan proxy ditambah Referer yang cocok.