Converter m3u8 para xml

Converter M3U8 para XML

Converta uma playlist M3U8 em XSPF ou XML específico de schema usando ferramentas locais.

Converter ficheiros M3U8 online

Ainda não temos um conversor online dedicado para M3U8 para XML, mas pode converter ficheiros M3U8 online para estes formatos:

Quer converter M3U8 para XML?

Diga-nos. Escolhemos as próximas conversões a adicionar de acordo com o interesse.

Como converter m3u8 para xml arquivo

  • Outro

Um catálogo de mídia, dispositivo ou aplicativo de edição pode exigir uma playlist XML em vez de um manifesto HLS. Converter a playlist também pode facilitar o arquivamento, a inspeção ou a edição das entradas, mas a estrutura XML necessária é determinada pelo aplicativo receptor.

O que é o formato M3U8

M3U8 é uma variante codificada em UTF-8 do formato de playlist M3U, mais comumente usada para HTTP Live Streaming (HLS). É um manifesto de texto simples que contém diretivas como #EXTINF, URLs de segmentos de mídia, URLs de streams variantes, detalhes de criptografia, codecs, legendas e configurações de stream.

Servidores de streaming, ferramentas Apple HLS, FFmpeg, VLC, sistemas IPTV, serviços de vídeo baseados em navegador e aplicativos de gravação usam arquivos M3U8. Um manifesto HLS normalmente referencia muitos segmentos .ts ou segmentos MP4 fragmentados; ele não contém o vídeo em si.

O que XML oferece

XML armazena dados hierárquicos e nomeados em um formato que os aplicativos podem analisar, editar, organizar em namespaces e validar em relação a um esquema XSD. Ele é usado para configuração, catálogos, metadados, RSS e formatos de playlist como XSPF.

XML não possui um vocabulário universal de playlists. Um aplicativo pode exigir <track> e <location>, outro pode exigir um esquema específico para IPTV e outro pode aceitar XSPF. Um arquivo pode ser um XML bem-formado e ainda assim não ser utilizável se seus elementos, atributos, namespaces ou sua ordenação não corresponderem ao esquema de destino.

Converta para XML com o VLC

Para uma playlist que o VLC consiga ler, salve-a como XSPF, um formato de playlist baseado em XML:

  1. Abra o VLC e carregue o M3U8 por meio de Media → Open File ou adicione-o à playlist.
  2. Abra a playlist com View → Playlist.
  3. Escolha Media → Save Playlist to File.
  4. Selecione XSPF playlist, se o VLC apresentar uma opção de formato, e salve com uma extensão .xspf.

XSPF não é uma conversão XML genérica. Ele pode preservar localizações reproduzíveis e metadados básicos das faixas, mas pode descartar diretivas específicas do HLS, relações entre segmentos, dados de criptografia e informações sobre streams variantes. Renomeie a extensão somente se o programa receptor aceitar explicitamente conteúdo XSPF sob .xml.

Crie um arquivo XML estruturado local

Para uma representação simples e independente de aplicativo, use a biblioteca padrão do Python. Isso preserva as diretivas como texto e mapeia cada URI para um elemento track com qualquer duração e título #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)

Execute-o com:

python m3u8_to_xml.py input.m3u8 output.xml

Isso cria um XML bem-formado usando um vocabulário personalizado de playlist, track, title, uri e directive. Ele não é automaticamente compatível com VLC, software de IPTV ou outro aplicativo. Renomeie os elementos e atributos para corresponder à documentação ou ao XSD do destinatário. ET.indent requer Python 3.9 ou posterior; omita essa linha em versões mais antigas.

Converta para um esquema XML específico

Obtenha um arquivo XML de exemplo ou um XSD do aplicativo de destino antes de fazer a conversão. Mapeie a duração e o título de #EXTINF para os campos correspondentes do esquema, mapeie cada URI seguinte para o elemento de URL ou localização exigido e decida como representar diretivas, variantes, legendas, chaves e listas de segmentos. O Oxygen XML Editor ou outro editor XML com suporte a esquemas pode validar o resultado em relação a um XSD, mas nenhum editor pode inferir automaticamente um esquema de playlist desconhecido.

Conversão online e limites de compatibilidade

Não existe um serviço universal e confiável de conversão de M3U8 para XML com um único clique, pois o vocabulário XML de destino não é definido. Um conversor online só é adequado quando especifica o esquema de saída exato exigido pelo programa receptor; carregue um manifesto local não confidencial, baixe o resultado e valide-o antes de usá-lo. Não envie URLs de streaming privadas, pagas, com tokens ou temporárias a um serviço online. Um script Python local ou um editor XML para desktop é mais seguro para esses arquivos.

As URLs relativas continuam relativas após a conversão e devem ser resolvidas com base na localização do manifesto original. Converter o manifesto não baixa, descriptografa, une nem recodifica a mídia referenciada. Playlists variantes, chaves de criptografia, intervalos de bytes, seções de inicialização, codecs, legendas e relações entre segmentos de mídia podem ser perdidos, a menos que o esquema de destino tenha campos para eles.

Comparação de formato: M3U8 vs XML

Como os formatos M3U8 e XML se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo M3U8 e XML
Propriedade .M3U8 HTTP Live Streaming playlist .XML Extensible Markup Language
Padrão aberto Parcialmente aberto Sim
Compressão Sem compressão Sem compressão
Tamanho típico do arquivo Muito pequeno Pequeno
Abre num navegador web Não Sim, nativamente
Edição posterior Fácil Fácil
Suporte a metadados Básico Básico
Legível em texto simples Sim Sim
Mais usado para Streaming Intercâmbio de dados
Introduzido 2009 1998
Desenvolvedor Apple Inc. W3C
Tipo MIME application/vnd.apple.mpegurl application/xml

Outras conversões de arquivo .m3u8

Conversão inversa

Converter para .xml
de outros formatos

Compartilhar nas redes sociais: