Saltar al contenido

Convertir M3U8 a XML

Convierte una playlist M3U8 a XSPF o XML específico del esquema con herramientas locales.

Convierte archivos M3U8 en línea

Todavía no tenemos un conversor en línea específico para M3U8 a XML, pero puedes convertir archivos M3U8 en línea a estos formatos:

¿Quiere convertir M3U8 a XML?

Háganoslo saber. Elegimos qué conversiones añadir a continuación según el interés.

Cómo convertir un archivo m3u8 a xml

  • Otro
  • Aún sin calificaciones.

Un catálogo multimedia, dispositivo o aplicación de edición puede requerir una playlist XML en lugar de un manifiesto HLS. Convertir la playlist también puede facilitar el archivado, la inspección o la edición de las entradas, pero la estructura XML requerida la determina la aplicación receptora.

Qué es el formato M3U8

M3U8 es una variante codificada en UTF-8 del formato de playlist M3U, utilizada principalmente para HTTP Live Streaming (HLS). Es un manifiesto de texto sin formato que contiene directivas como #EXTINF, URL de segmentos multimedia, URL de variant streams, detalles de cifrado, codecs, subtítulos y ajustes del stream.

Los servidores de streaming, las herramientas Apple HLS, FFmpeg, VLC, los sistemas IPTV, los servicios de video basados en navegador y las aplicaciones de grabación utilizan archivos M3U8. Un manifiesto HLS normalmente hace referencia a muchos segmentos .ts o de MP4 fragmentado; no contiene el video en sí.

Qué proporciona XML

XML almacena datos jerárquicos y con nombre en un formato que las aplicaciones pueden analizar, editar, asociar con namespaces y validar mediante un esquema XSD. Se utiliza para configuraciones, catálogos, metadatos, RSS y formatos de playlist como XSPF.

XML no tiene un vocabulario universal para playlists. Una aplicación puede requerir <track> y <location>, otra puede requerir un esquema específico de IPTV y otra puede aceptar XSPF. Un archivo puede ser XML bien formado y seguir siendo inutilizable si sus elementos, atributos, namespaces u orden no coinciden con el esquema de destino.

Convertirlo a XML con VLC

Para una playlist que VLC pueda leer, guárdala como XSPF, un formato de playlist basado en XML:

  1. Abre VLC y carga el M3U8 mediante Media → Open File, o añádelo a la playlist.
  2. Abre la playlist con View → Playlist.
  3. Selecciona Media → Save Playlist to File.
  4. Selecciona XSPF playlist, si VLC muestra una opción de formato, y guarda el archivo con la extensión .xspf.

XSPF no es una conversión XML genérica. Puede conservar las ubicaciones reproducibles y los metadatos básicos de las pistas, aunque puede descartar directivas específicas de HLS, relaciones entre segmentos, datos de cifrado e información de variant streams. Cambia la extensión solo si el programa receptor acepta explícitamente contenido XSPF con la extensión .xml.

Crear un archivo XML estructurado local

Para obtener una representación sencilla e independiente de la aplicación, utiliza la standard library de Python. Esto conserva las directivas como texto y asigna cada URI a un elemento track con la duración y el título de cualquier #EXTINF precedente:

import sys
import xml.etree.ElementTree as ET

source, destination = sys.argv[1], sys.argv[2]
root = ET.Element('playlist', {'source': source})
pending = None

with open(source, encoding='utf-8-sig') as stream:
    for raw in stream:
        line = raw.strip()
        if not line:
            continue
        if line.startswith('#EXTINF:'):
            value = line[len('#EXTINF:'):]
            duration, title = value.split(',', 1) if ',' in value else (value, '')
            pending = (duration, title)
        elif line.startswith('#'):
            directive = ET.SubElement(root, 'directive')
            directive.text = line
        else:
            track = ET.SubElement(root, 'track')
            if pending is not None:
                duration, title = pending
                track.set('duration', duration)
                if title:
                    ET.SubElement(track, 'title').text = title
                pending = None
            ET.SubElement(track, 'uri').text = line

ET.indent(root, space='  ')
ET.ElementTree(root).write(destination, encoding='utf-8', xml_declaration=True)

Ejecuta el script con:

python m3u8_to_xml.py input.m3u8 output.xml

Esto crea XML bien formado utilizando un vocabulario personalizado de playlist, track, title, uri y directive. No es automáticamente compatible con VLC, software IPTV u otra aplicación. Cambia los nombres de los elementos y atributos para que coincidan con la documentación o el XSD del receptor. ET.indent requiere Python 3.9 o posterior; omite esa línea en versiones anteriores.

Convertir para un esquema XML específico

Obtén un archivo XML de ejemplo o un XSD de la aplicación de destino antes de realizar la conversión. Asigna la duración y el título de #EXTINF a los campos correspondientes del esquema, asigna cada URI siguiente a su elemento URL o location requerido y decide cómo representar las directivas, variants, subtítulos, claves y listas de segmentos. Oxygen XML Editor u otro editor XML compatible con esquemas puede validar el resultado con un XSD, pero ningún editor puede inferir automáticamente un esquema de playlist desconocido.

Conversión online y límites de compatibilidad

No existe un servicio universal y confiable de conversión de M3U8 a XML con un solo clic, porque el vocabulario XML de destino no está definido. Un conversor online solo es adecuado cuando indica el esquema de salida exacto requerido por el programa receptor; carga un manifiesto local que no contenga información confidencial, descarga el resultado y valídalo antes de utilizarlo. No envíes URL de streaming privadas, de pago, tokenizadas o temporales a un servicio online. Un script local de Python o un editor XML de escritorio es más seguro para esos archivos.

Las URL relativas siguen siendo relativas después de la conversión y deben resolverse con respecto a la ubicación del manifiesto original. Convertir el manifiesto no descarga, descifra, une ni vuelve a codificar el contenido multimedia al que hace referencia. Las playlists de variantes, las claves de cifrado, los rangos de bytes, las secciones de inicialización, los codecs, los subtítulos y las relaciones entre segmentos multimedia pueden perderse a menos que el esquema de destino tenga campos para ellos.

M3U8 vs XML: comparación de formatos

Cómo se comparan los formatos M3U8 y XML en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo M3U8 y XML
Propiedad .M3U8 HTTP Live Streaming playlist .XML Extensible Markup Language
Estándar abierto Parcialmente abierto Sí
Compresión Sin compresión Sin compresión
Tamaño de archivo típico Muy pequeño Pequeño
Se abre en un navegador web No Sí, de forma nativa
Edición posterior Fácil Fácil
Compatibilidad con metadata Básico Básico
Legible como texto plano Sí Sí
Más adecuado para Streaming Intercambio de datos
Introducido 2009 1998
Desarrollador Apple Inc. W3C
Tipo MIME application/vnd.apple.mpegurl application/xml

La información sobre extensiones y tipos de archivo la proporciona File-Extensions.org

Preguntas frecuentes

¿Qué pasa con mi lista de reproducción M3U8 al convertirla a XML?

Las entradas de la lista de reproducción y los metadatos compatibles se reescriben como XML; los archivos de audio o vídeo no se convierten. Los elementos exactos dependen de si el destino usa XSPF u otro esquema XML.

¿Una M3U8 convertida a XML conserva las rutas relativas y las URL de streaming?

Normalmente, las rutas y las URL se pueden conservar como texto, pero su significado depende del esquema XML de destino y del software que lo lea. Las rutas relativas pueden dejar de funcionar si se mueve la lista de reproducción o si el formato XML espera una estructura de rutas diferente.

¿Por qué mi XML M3U8 convertido no funciona en otro reproductor?

Un archivo XML no es automáticamente una lista de reproducción utilizable porque los distintos reproductores esperan esquemas XML, nombres de elementos y metadatos diferentes. Una M3U8 que sea un manifiesto HLS también puede contener etiquetas para el comportamiento del streaming que un formato XML general de listas de reproducción no puede representar.

¿Convertir M3U8 a XML conserva los caracteres UTF-8 y el orden de la lista de reproducción?

Puede conservar el texto UTF-8 y el orden de las entradas cuando la conversión gestiona correctamente la lista de reproducción. Una codificación no válida, etiquetas M3U8 no compatibles o caracteres que no estén escapados para XML pueden causar errores o modificar el texto.

Ya descargado

Este archivo ya se ha descargado. Para proteger tu privacidad, lo borramos de nuestro servidor justo después de la descarga, así que no se puede volver a descargar. Si lo necesitas otra vez, vuelve a convertir el archivo.