Konverze xml do srt

Online konvertor XML do SRT zdarma

Převeďte caption XML do kompatibilních, upravitelných SRT titulků a ověřte časování a ztracené formátování.

Převést XML na SRT online - zdarma

Uploading…
Vybrané soubory přesahují celkový limit 9 MB. Vyberte méně nebo menší soubory.

Soubor se zpracuje hned a smaže se ihned po stažení.

Jak to funguje

  1. 1/3

    Nahrajte soubor .xml

    Kliknutím vyberte soubor, který chcete převést, nebo ho jednoduše přetáhněte do vyznačené oblasti.

  2. 2/3

    Spusťte převod .xml do .srt

    Po úspěšném nahrání souboru klikněte na převod, jakmile budete připraveni.

  3. 3/3

    Stáhněte převedený soubor .srt

    Výsledek převodu je připraven ke stažení.

Jak převést soubor xml do formátu srt

Video editor, media player nebo služba pro titulky může vyžadovat SRT, pokud byly titulky exportovány jako XML z jiného systému. Převod souboru zajistí přenositelnost a možnost úprav titulků, ale pouze v případě, že XML obsahuje identifikovatelný text titulků a časové údaje.

Co je formát XML

XML je strukturovaný značkovací jazyk, nikoli jeden formát titulků. Systémy pro titulky a přepisy používají různá XML schémata, včetně TTML/DFXP, EBU-TT, Final Cut Pro XML a proprietárních exportů ze software pro úpravu, vysílání a převod řeči na text.

Soubor XML s titulky může ukládat titulky v elementech, jako je <p begin="00:00:01.000" end="00:00:04.000">, nebo používat atributy s názvy start, end, in, out či duration. Final Cut Pro XML může popisovat projekt úprav namísto přímého obsahu použitelných titulků, takže před převodem může být nutné provést export z původní aplikace.

XML nemá univerzální strukturu titulků. Přejmenování captions.xml na captions.srt nevede ke konverzi; software musí identifikovat časová pole, extrahovat viditelný text a přepsat data do syntaxe SRT.

Co je formát SRT

SRT je formát prostého textu podporovaný většinou video přehrávačů, nelineárními editory, media servery a platformami pro titulky. Každý titulek obsahuje pořadové číslo, čas začátku a konce, text titulku a prázdný řádek:

1
00:00:01,000 --> 00:00:04,000
Example caption.

Časové značky SRT používají čárky před milisekundami a formát HH:MM:SS,mmm. XML titulky mohou místo toho používat desetinné sekundy, tečky, čísla snímků, čas na hodinách, ticks nebo doby trvání ISO 8601. SRT je malý, snadno upravitelný v textovém editoru a široce kompatibilní, ale obsahuje výrazně méně metadat a stylování než většina XML schémat titulků.

Převod rozpoznaného XML pomocí Subtitle Edit

  1. Vytvořte zálohu zdrojového XML.
  2. Nainstalujte aktuální desktopovou verzi Subtitle Edit, open-source editor titulků pro Windows.
  3. Otevřete soubor prostřednictvím File → Open. Subtitle Edit dokáže importovat několik standardních formátů titulků a caption, ale podpora závisí na konkrétním XML schématu.
  4. Zkontrolujte importované titulky v mřížce titulků a na časové ose. Porovnejte první, prostřední a poslední titulek se zdrojem nebo videem a zkontrolujte zalomení řádků a nelatinkové znaky.
  5. Proveďte export prostřednictvím File → Save as, vyberte SubRip (*.srt) a zvolte kódování UTF-8, pokud dialog nabízí možnost kódování.

Pokud se soubor otevře jako běžné XML, nenaimportuje žádné titulky nebo vytvoří nesprávné časové údaje, pravděpodobně jde o nepodporované nebo projektově specifické schéma. Prohlédnutí XML v textovém editoru může odhalit, zda obsahuje skutečný text titulků a časové údaje; úspěšné otevření souboru nepovažujte za důkaz správného převodu.

Použití online převodníku pro zdokumentované a citlivé informace neobsahující soubory

Online služby pro titulky, jako jsou Happy Scribe a VEED, podporují vybrané formáty titulků a caption, ale podpora XML se u jednotlivých produktů liší a může být omezena na pojmenované schéma, například TTML. Před nahráním ověřte, zda služba výslovně uvádí přesný typ XML. Nenahrávejte důvěrné, dosud nezveřejněné titulky ani titulky obsahující osobní údaje, pokud není zpracování třetí stranou povoleno.

Obecné webové stránky pro převod XML na text nebo XML na SRT často vyberou nesprávné elementy, ignorují namespaces, považují milisekundy za sekundy nebo vrátí prázdný soubor. Stáhněte výsledek, otevřete jej v editoru titulků a před použitím porovnejte jeho časové údaje s videem.

Převod předvídatelného vlastního schématu pomocí Pythonu

Skript je vhodný, když má každý titulek rozpoznatelné hodnoty start, end a textu. Tento příklad podporuje časové údaje ve formátu hodin a číselné sekundy a také hodnoty duration:

import re
import sys
import xml.etree.ElementTree as ET

def seconds(value):
    value = value.strip().replace(',', '.')
    if re.fullmatch(r'\d+(?:\.\d+)?', value):
        return float(value)
    match = re.fullmatch(r'(\d+):(\d{2}):(\d{2})(?:\.(\d+))?', value)
    if not match:
        raise ValueError(f'Unsupported time: {value}')
    h, m, s, fraction = match.groups()
    return int(h) * 3600 + int(m) * 60 + int(s) + float('0.' + (fraction or '0'))

def srt_time(value):
    ms = max(0, round(value * 1000))
    h, remainder = divmod(ms, 3600000)
    m, remainder = divmod(remainder, 60000)
    s, ms = divmod(remainder, 1000)
    return f'{h:02}:{m:02}:{s:02},{ms:03}'

root = ET.parse(sys.argv[1]).getroot()
cues = []
for element in root.iter():
    start = element.get('start') or element.get('begin')
    end = element.get('end')
    duration = element.get('duration') or element.get('dur')
    if not start or (not end and not duration):
        continue
    start = seconds(start)
    end = seconds(end) if end else start + seconds(duration)
    text = ' '.join(''.join(element.itertext()).split())
    if text and end > start:
        cues.append((start, end, text))

cues.sort()
with open(sys.argv[2], 'w', encoding='utf-8', newline='\n') as output:
    for number, (start, end, text) in enumerate(cues, 1):
        output.write(f'{number}\n{srt_time(start)} --> {srt_time(end)}\n{text}\n\n')

Spusťte jej příkazem python xml_to_srt.py captions.xml captions.srt. Upravte názvy atributů a výběr titulků podle zdrojového schématu. Skript neinterpretuje časové kódy SMPTE založené na snímcích, doby trvání ISO 8601, ticks, nezdokumentované jednotky milisekund, XML namespaces vyžadující kvalifikované vyhledávání ani oddělené elementy stylování a mluvčího. Také slučuje vložená zalomení řádků do mezer; pokud je nutné zachovat strukturu řádků, nahraďte tento řádek zpracování textu.

Kontrola časování, kódování a ztracených metadat

  • Před převodem ověřte časovou základnu. Počty snímků vyžadují snímkovou frekvenci zdroje; číselné hodnoty mohou představovat sekundy, milisekundy nebo ticks.
  • Správně převádějte relativní doby trvání: titulek s hodnotami begin a dur končí na hodnotě begin + dur.
  • Zkontrolujte překrývající se titulky, titulky s nulovou délkou, obrácené časové údaje, chybějící text, duplicitní titulky a více jazykových stop. Čtečky SRT tyto případy zpracovávají nekonzistentně.
  • Při načítání zdroje zachovejte kódování znaků deklarované v XML a SRT uložte jako UTF-8. Po exportu zkontrolujte znaky s diakritikou a nelatinková písma.
  • Počítejte se ztrátou funkcí specifických pro XML, jako jsou umístění, barvy, fonty, metadata mluvčích, časování karaoke, pořadí čtení a komplexní stylování řádků. Nezbytné označení mluvčích nebo formátování vytvořte ručně.
  • Otevřete výsledné SRT v Subtitle Edit nebo jiném editoru titulků a zobrazte jeho náhled společně s videem. Před předáním zkontrolujte první a poslední titulky, změny scén, zalomení řádků a synchronizaci.

XML vs SRT: srovnání formátů

Jak si formáty XML a SRT stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů XML a SRT
Vlastnost .XML Extensible Markup Language .SRT SubRip Subtitle
Otevřený standard Ano Částečně otevřený
Komprese Bez komprese Bez komprese
Typická velikost souboru Malé Velmi malé
Otevírá se ve webovém prohlížeči Ano, nativně Částečně
Další úpravy Snadné Snadné
Podpora metadat Základní Základní
Čitelný jako prostý text Ano Ano
Nejvhodnější pro Výměna dat Sdílení a distribuce
Zavedeno 1998 1997
Vývojář W3C Unknown / SubRip community
MIME typ application/xml application/x-subrip

Často kladené otázky

Je konvertor XML do SRT zdarma?

Ano, převod XML do SRT na 101convert.com je zcela zdarma. Není potřeba registrace, e-mail ani instalace. Pokud potřebujete vyšší limit velikosti souboru nebo chcete převádět více souborů najednou, podívejte se na naše tarify.

Jak velký může být můj soubor XML?

Můžete nahrát soubory XML o velikosti až 100 MB a převést až 100 souborů najednou v jedné dávce.

Co se stane s nahranými soubory?

Soubory se zpracovávají automaticky a několik minut po převodu jsou z našich serverů smazány. Vaše soubory nikdy neprohlížíme ani nesdílíme.

Musím pro převod XML do SRT instalovat nějaký software?

Ne. Převod XML do SRT probíhá kompletně online v prohlížeči a funguje na Windows, Macu, Linuxu, Androidu i iPhonu.

Konverze se nezdařila?

Ve většině případů je příčinou nesprávný formát souboru. Nahrajte platný soubor XML pro tuto konverzi z XML do SRT. Občas může být chyba také na naší straně. Analyzujeme opakované neúspěšné konverze, a pokud zjistíme závadu konvertoru, vypneme jej nebo opravíme.

Ztratí se při převodu titulků z XML do SRT formátování a umístění?

Obvykle ano: SRT zachovává čísla titulků, časy začátku a konce a text titulků, ale stylování XML, barvy, metadata mluvčích, umístění na obrazovce a další atributy mohou být zjednodušeny nebo odstraněny. Základní zalomení řádků se často zachová v závislosti na formátu titulků XML.

Zůstane časování titulků při převodu XML do SRT přesné?

Může zůstat přesné, pokud XML používá podporované časové kódy a správnou časovou základnu, ale časování založené na snímcích nebo specifické pro daný formát může vyžadovat převod. Nesoulad snímkové frekvence může posunout začátky a konce titulků, zatímco překrývající se nebo poškozené titulky mohou být změněny nebo odmítnuty.

Proč se při převodu titulků z XML do SRT některé titulky ztrácejí nebo jsou prázdné?

Obecné XML není automaticky formát titulků, takže převod může selhat, když soubor používá nepodporovanou strukturu titulků, jmenné prostory, pole časování nebo textové prvky. XML musí obsahovat rozpoznatelné položky titulků s čitelným textem a platnými časy začátku a konce.

Lze převést SRT zpět do původního XML bez ztráty informací?

Obvykle ne, protože SRT nedokáže reprezentovat všechna data titulků XML, například podrobné stylování, umístění, metadata a vlastní pole časování. Výsledný SRT zůstává upravitelný jako prostý text titulků, ale jeho převod zpět obecně vyžaduje znovuvytvoření odstraněných informací.