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
.m3u8aslinya
β
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+.tssatu paket
β οΈ Penting banget
Kalau kamu pakai lokal:
media/output.m3u8
π sering error karena:
- path
.tsrelatif - 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:
- pakai test URL (biar lihat berhasil)
- 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 π₯