Nah ini kamu lagi kena β€œjebakan umum” di dunia streaming πŸ˜„
Gue lurusin biar kamu gak bingung lagi.


🎯 Kenapa yang ke-download malah .ts?

πŸ‘‰ Karena:

.m3u8 itu bukan video
➑️ itu cuma playlist

Isinya kira-kira gini:

#EXTM3U
#EXTINF:10,
segment1.ts
#EXTINF:10,
segment2.ts

πŸ‘‰ Jadi:

  • .m3u8 = daftar
  • .ts = potongan video

🧠 Kenapa kamu dapat .ts?

Biasanya karena:

  • kamu klik stream URL β†’ browser langsung download segment .ts
  • bukan file .m3u8 aslinya

βœ… Cara yang BENAR dapat .m3u8

πŸ”Ή Cara 1 (paling gampang β€” langsung pakai test URL)

Coba ini di data.json:

{
  "title": "Test HLS",
  "type": "m3u8",
  "src": "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8",
  "thumb": "https://dummyimage.com/300x200/000/fff&text=HLS"
}

πŸ‘‰ ini public test stream β†’ pasti jalan


πŸ”Ή Cara 2 β€” lihat isi .m3u8

Kalau kamu buka link .m3u8 di browser:

πŸ‘‰ harusnya tampil text (bukan download video)


πŸ”Ή Cara 3 β€” generate sendiri (BEST untuk kamu)

Ini cocok banget sama workflow kamu πŸ”₯


⚑ Buat sendiri .m3u8 pakai ffmpeg

Misal kamu punya:

video.mp4

Jalankan:

ffmpeg -i video.mp4 \
  -codec: copy \
  -start_number 0 \
  -hls_time 10 \
  -hls_list_size 0 \
  -f hls output.m3u8

🎯 Hasilnya:

output.m3u8
output0.ts
output1.ts
output2.ts

πŸ‘‰ Nah ini yang benar:

  • .m3u8 + .ts satu paket

⚠️ Penting banget

Kalau kamu pakai lokal:

media/output.m3u8

πŸ‘‰ sering error karena:

  • path .ts relatif
  • browser blok CORS

βœ… Solusi biar lancar

opsi 1 (simple)

pakai test stream online dulu

opsi 2 (lebih proper)

upload ke:

  • CDN
  • VPS
  • R2 (pakai public URL)

πŸ’¬ Saran jujur buat kamu

Jangan buang waktu cari .m3u8 random di internet.

πŸ‘‰ Lebih bagus:

generate sendiri pakai ffmpeg

Karena:

  • kamu kontrol penuh
  • cocok dengan automation kamu
  • bisa batch process

πŸš€ Next level (kalau kamu mau)

Kita bisa bikin:

πŸ‘‰ script auto:

video.mp4 β†’ m3u8 + ts β†’ masuk data.json

πŸ‘‰ ini jadi:

streaming pipeline full otomatis πŸ”₯

πŸ‘‰ Sekarang

Coba dulu:

  1. pakai test URL (biar lihat berhasil)
  2. coba generate sendiri 1 video

Kalau sudah:
πŸ‘‰ bilang "m3u8 jalan"

Kalau mau lanjut:
πŸ‘‰ bilang:

"gas auto hls pipeline"

Nanti kita bikin sistem kamu makin gila πŸ”₯