Konversi XML menjadi M3U
Konversi path media dan URL stream dari playlist XML khusus aplikasi menjadi file M3U yang dapat diedit.
Konversi file XML secara online
Kami belum punya konverter online khusus untuk XML ke M3U, tetapi Anda bisa mengonversi file XML secara online ke format berikut dan lainnya:
Ingin mengonversi XML ke M3U?
Beri tahu kami. Kami memilih konversi berikutnya yang akan ditambahkan berdasarkan minat.
Bagaimana mengkonversi xml ke m3u berkas
- File teks
- Belum ada peringkat.
Media player, aplikasi IPTV, atau perangkat portabel mungkin memerlukan playlist M3U meskipun library atau playlist diekspor sebagai XML. Konversi ini memindahkan path media atau URL stream serta judul opsional; konversi ini tidak mengonversi file audio atau video.
Apa itu format XML
XML adalah format markup yang dapat dibaca manusia dan menyimpan data dalam elemen serta atribut bertingkat. Music manager, media player, alat podcast, sistem IPTV, dan aplikasi library menggunakannya untuk katalog, metadata, pencarian tersimpan, dan playlist.
XML tidak memiliki struktur playlist universal. Lokasi media dapat muncul dalam elemen seperti <location>, <path>, atau <file>, atau dalam atribut seperti url. Buka file tersebut dalam code editor dan identifikasi elemen atau atribut yang berisi setiap path file atau URL yang dapat diputar. XML yang hanya berisi pengaturan, rating, referensi artwork, atau metadata katalog tidak dapat dikonversi menjadi playlist yang berguna tanpa data lokasi media tambahan.
Apa itu format M3U
M3U adalah format playlist teks biasa yang didukung oleh VLC, foobar2000, Winamp, Kodi, banyak aplikasi IPTV, dan perangkat media portabel. Playlist dasar berisi satu nama file lokal atau URL per baris:
#EXTM3U
/music/song-one.mp3
https://example.com/stream
Extended M3U menambahkan baris #EXTINF opsional yang berisi durasi dan judul tampilan:
#EXTM3U
#EXTINF:-1,Song title
/music/song-one.mp3
M3U berukuran lebih kecil dan lebih mudah diedit daripada sebagian besar export XML, tetapi biasanya hanya mempertahankan lokasi media dan metadata tampilan per entri yang terbatas. M3U8 adalah playlist M3U yang dikodekan sebagai UTF-8; beberapa player lama memerlukan ekstensi .m3u8, sedangkan lainnya menerima konten UTF-8 dalam file bernama .m3u. M3U8 juga digunakan oleh HTTP Live Streaming, yang playlist-nya berisi directive tambahan dan tidak dapat dipertukarkan dengan setiap playlist media biasa.
Cara mengonversi XML ke M3U
Gunakan aplikasi sumber terlebih dahulu. Jika XML berasal dari music manager, program DJ, sistem IPTV, atau media library, periksa fungsi export playlist pada aplikasi tersebut dan pilih M3U atau Extended M3U. Export khusus schema mempertahankan lebih banyak informasi dan menghindari perkiraan mengenai elemen XML yang berisi entri yang dapat diputar. Misalnya, aplikasi yang mengimpor library XML miliknya sendiri mungkin dapat menyimpan playlist yang diimpor tersebut langsung sebagai M3U.
Gunakan VLC untuk konversi desktop setelah mengidentifikasi entri. Tambahkan file atau URL stream yang dirujuk ke playlist VLC, lalu pilih Media → Save Playlist to File dan pilih M3U atau Extended M3U. VLC tidak mengurai schema XML sembarang, sehingga tidak dapat langsung mengonversi setiap file XML; entri media harus sudah dibuka di VLC atau ditambahkan secara manual.
Gunakan script lokal untuk schema XML yang tidak memiliki alat export. Simpan kode berikut sebagai xml_to_m3u.py. Sesuaikan nama entri dan nama lokasi dengan file sumber:
import sys
import xml.etree.ElementTree as ET
def local_name(tag):
return tag.rsplit('}', 1)[-1].lower()
def value(node, names):
wanted = {name.lower() for name in names}
for child in node.iter():
if child is node:
continue
if local_name(child.tag) in wanted and child.text and child.text.strip():
return child.text.strip()
for key, text in node.attrib.items():
if local_name(key) in wanted and text.strip():
return text.strip()
return ''
source, output = sys.argv[1], sys.argv[2]
root = ET.parse(source).getroot()
entry_names = {'track', 'item', 'media'}
location_names = {'location', 'path', 'file', 'url'}
title_names = {'title', 'name'}
with open(output, 'w', encoding='utf-8', newline='\n') as playlist:
playlist.write('#EXTM3U\n')
for entry in root.iter():
if local_name(entry.tag) not in entry_names:
continue
location = value(entry, location_names)
if not location:
continue
title = value(entry, title_names) or location
playlist.write(f'#EXTINF:-1,{title}\n{location}\n')
Jalankan di terminal dengan:
python xml_to_m3u.py library.xml playlist.m3u
Ubah entry_names jika sumber menggunakan elemen record lain, seperti song atau channel. Ubah location_names jika path atau URL menggunakan nama elemen atau atribut yang berbeda. Script ini menangani namespace XML biasa dengan membandingkan nama elemen lokal, tetapi entri yang berada dalam struktur tidak biasa tetap memerlukan pemeriksaan dan penyesuaian.
Buka file yang dihasilkan dalam text editor dan uji beberapa entri sebelum mengimpornya. XML editor atau validator online dapat membantu memeriksa file yang tidak dikenal, tetapi converter online generik tidak dapat memetakan schema playlist XML sembarang ke M3U secara andal. Jangan upload file library yang berisi path pribadi, kredensial stream, atau URL subscription kecuali ketentuan privasi dan penyimpanan layanan tersebut dapat diterima.
Kompatibilitas dan keterbatasan kualitas
- Path absolut seperti
C:\Music\song.mp3hanya berfungsi jika drive dan direktori tersebut tersedia. Path relatif lebih portabel, tetapi player berbeda dalam cara menyelesaikannya; simpan playlist di lokasi yang dapat diprediksi dan uji pada perangkat target. - Gunakan UTF-8 untuk nama file dan judul non-ASCII. Beberapa perangkat lama memerlukan
.m3u8; perangkat lainnya hanya mendukung encoding lama atau M3U biasa, jadi ikuti dokumentasi software target. - Pertahankan URL stream HTTP atau HTTPS yang valid apa adanya. Playlist tidak dapat memperbaiki URL yang kedaluwarsa, stream yang dibatasi, codec yang tidak didukung, atau autentikasi yang tidak tersedia.
- Konversi URL file seperti
file:///C:/Music/song.mp3hanya jika player target mendukungnya; jika tidak, ubah ke format path lokal yang diharapkan player tersebut. - Artwork album, rating, cue point, data autentikasi, struktur playlist bertingkat, dan field XML khusus aplikasi umumnya akan hilang. M3U hanya menyediakan metadata per entri yang terbatas melalui directive seperti
#EXTINF. - Validasi XML sebelum mengurainya. XML yang malformed, export terenkripsi, file terkompresi, dan XML yang menyimpan identifier database alih-alih path memerlukan aplikasi asal atau parser khusus.
XML vs M3U: perbandingan format
Bagaimana format XML dan M3U dibandingkan pada properti yang paling penting untuk konversi ini.
| Properti | .XML Extensible Markup Language | .M3U M3U playlist |
|---|---|---|
| Standar terbuka | Ya | Sebagian terbuka |
| Kompresi | Tanpa kompresi | Tanpa kompresi |
| Ukuran file umum | Kecil | Sangat kecil |
| Terbuka di browser web | Ya, secara native | Sebagian |
| Pengeditan lanjutan | Mudah | Mudah |
| Dukungan metadata | Dasar | Dasar |
| Dapat dibaca teks biasa | Ya | Ya |
| Paling cocok untuk | Pertukaran data | Musik |
| Diperkenalkan | 1998 | 1996 |
| Pengembang | W3C | — |
| Tipe MIME | application/xml | audio/x-mpegurl |
Basis data saat ini tidak berisi xml file converter.