Konversi xml ke m3u8

Konversi XML menjadi M3U8

Konversi XML channel-list menjadi playlist M3U8 saat file berisi URL stream yang dapat diputar.

Konversi file XML secara online

Kami belum punya konverter online khusus untuk XML ke M3U8, tetapi Anda bisa mengonversi file XML secara online ke format berikut dan lainnya:

Bagaimana mengkonversi xml ke m3u8 berkas

  • Audio

Media player, aplikasi IPTV, atau perangkat streaming mungkin memerlukan playlist M3U8 ketika daftar channel atau media disimpan sebagai XML. Konversi hanya berfungsi jika XML berisi URL media yang dapat digunakan; metadata programme atau nama channel saja tidak dapat membuat entri yang dapat diputar.

Apa itu format XML

XML adalah format teks terstruktur untuk data hierarkis, termasuk katalog channel, URL stream, panduan programme elektronik XMLTV, ekspor media library, dan pengaturan aplikasi. XML digunakan oleh penyedia IPTV, media manager, sistem automation, dan aplikasi custom.

XML tidak memiliki schema playlist universal. URL mungkin disimpan dalam atribut url, elemen <url>, atau elemen khusus provider seperti <stream_url>. Buka file di VS Code, Notepad++, atau browser, lalu identifikasi elemen item yang berulang, field display-name, dan field URL sebelum mengonversinya.

Apa itu format M3U8

M3U8 adalah playlist M3U yang dienkode sebagai UTF-8. Playlist channel atau file extended biasanya berisi header #EXTM3U, entri #EXTINF, dan satu URL media:

#EXTM3U
#EXTINF:-1,Example channel
https://example.com/live/stream.m3u8

Aplikasi IPTV menggunakan struktur ini untuk mencantumkan channel live atau file on-demand. Ekstensi .m3u8 yang sama digunakan oleh playlist media HLS, yang merujuk pada segment dan berisi tag seperti #EXT-X-TARGETDURATION dan #EXTINF. Oleh karena itu, daftar channel IPTV tidak selalu merupakan playlist segment HLS.

Cara mengonversi XML ke M3U8

Mengonversi daftar channel dengan Python

Untuk schema yang tidak terdokumentasi atau khusus provider, local Python script lebih aman dan andal daripada mengunggah file ke web service, khususnya jika URL berisi token atau informasi subscriber.

  1. Install Python 3 dari python.org dan letakkan file XML di working folder.
  2. Periksa XML dan tentukan elemen item yang berulang serta field yang berisi nama channel dan URL stream.
  3. Simpan contoh berikut sebagai xml_to_m3u8.py. Contoh ini mengharapkan item <channel> dan mendukung field nama serta URL yang umum:
import xml.etree.ElementTree as ET

root = ET.parse('input.xml').getroot()

def text_value(node, attribute, element):
    return (node.get(attribute) or node.findtext(element) or '').strip()

with open('output.m3u8', 'w', encoding='utf-8', newline='\n') as out:
    out.write('#EXTM3U\n')
    for channel in root.findall('.//channel'):
        name = text_value(channel, 'name', 'name') or 'Unnamed channel'
        url = (channel.get('url') or
               channel.findtext('url') or
               channel.findtext('stream_url') or '').strip()
        if url:
            name = name.replace('\r', ' ').replace('\n', ' ')
            out.write(f'#EXTINF:-1,{name}\n{url}\n')
  1. Jalankan python xml_to_m3u8.py di Windows, macOS, atau Linux.
  2. Uji output.m3u8 di VLC dengan Media → Open File, lalu import file tersebut ke aplikasi IPTV target.

Ganti .//channel dan field lookup jika XML menggunakan nama elemen, nested path, atau namespace yang berbeda. File XMLTV biasanya berisi <channel id="..."> dan record <programme>, tetapi tidak memiliki URL stream; file tersebut dapat menyediakan metadata programme, bukan playlist M3U8 yang dapat diputar.

Menggunakan XSLT untuk schema yang terdokumentasi

Untuk batch processing yang dapat diulang, XSLT memetakan field XML yang telah diketahui secara langsung ke baris playlist. Saxon, XMLStarlet, dan XML libraries milik Python dapat menjalankan transformasi tersebut. Generic file-conversion site tidak dapat menyimpulkan elemen khusus provider mana yang merepresentasikan nama, URL, group, atau logo.

Membuat playlist HLS yang sebenarnya dengan FFmpeg

Jika yang diperlukan adalah HLS stream, bukan daftar IPTV berisi URL yang sudah ada, gunakan FFmpeg untuk membuat file M3U8 dan media segment:

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f hls -hls_time 6 -hls_playlist_type vod output.m3u8

Perintah ini menghasilkan output.m3u8 dan file segment seperti output0.ts; publish semuanya bersama-sama di directory yang sama. Source URL yang diekstrak dapat menggantikan input.mp4. Opsi -c copy menghindari re-encoding, tetapi hanya jika codec dan container source kompatibel dengan HLS client yang dituju. FFmpeg mengonversi media yang diidentifikasi oleh XML; FFmpeg tidak mengonversi metadata XML itu sendiri.

Kompatibilitas dan keterbatasan

Mengubah record XML menjadi teks M3U8 tidak akan mengunduh, memperbaiki, mentranscode, atau mengautentikasi media yang dirujuk. URL harus tetap dapat dijangkau, dan protected stream mungkin memerlukan HTTP header, cookie, token yang kedaluwarsa, atau dukungan DRM yang tidak dapat disediakan oleh playlist dasar.

Tulis file sebagai UTF-8, pertahankan setiap URL pada barisnya sendiri, dan hapus line break dari nama channel. Aplikasi IPTV mungkin menerima atribut seperti tvg-id, tvg-name, tvg-logo, dan group-title pada baris #EXTINF, tetapi atribut tersebut merupakan konvensi aplikasi, bukan persyaratan M3U8 universal.

Tidak ada XML-to-M3U8 online converter yang dapat diandalkan dan tidak bergantung pada schema. Service seperti Convertio dan CloudConvert menangani banyak general document conversion, tetapi tidak dapat memetakan XML provider arbitrer ke playlist yang dapat diputar secara andal. Gunakan online service hanya jika service tersebut secara eksplisit mendukung schema XML yang tepat dan file tidak berisi URL pribadi, credential, atau data subscriber; jika tidak, gunakan Python, XSLT, atau FFmpeg secara lokal.

XML vs M3U8: perbandingan format

Bagaimana format XML dan M3U8 dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file XML dan M3U8
Properti .XML Extensible Markup Language .M3U8 HTTP Live Streaming playlist
Standar terbuka Ya Sebagian terbuka
Kompresi Tanpa kompresi Tanpa kompresi
Ukuran file umum Kecil Sangat kecil
Terbuka di browser web Ya, secara native Tidak
Pengeditan lanjutan Mudah Mudah
Dukungan metadata Dasar Dasar
Dapat dibaca teks biasa Ya Ya
Paling cocok untuk Pertukaran data Streaming
Diperkenalkan 1998 2009
Pengembang W3C Apple Inc.
Tipe MIME application/xml application/vnd.apple.mpegurl

Basis data saat ini tidak berisi xml file converter.