Darmowy konwerter online XML do SRT
Konwertuj plik XML z napisami na kompatybilne, edytowalne napisy SRT oraz zweryfikuj synchronizację czasową i utracone formatowanie.
Konwertuj XML na SRT online - za darmo
Plik jest przetwarzany natychmiast i usuwany zaraz po pobraniu.
Zaimportuj plik z adresu URL
Wklej bezpośredni link do pliku. Pobierzemy go na nasz serwer i przekonwertujemy dokładnie tak jak przesłany plik.
Jak to działa
-
1/3
Prześlij swój plik .xml
Kliknij, aby wybrać plik, który chcesz przekonwertować, lub po prostu przeciągnij go i upuść w zaznaczonym obszarze.
-
2/3
Wykonaj konwersję .xml do .srt
Po pomyślnym przesłaniu pliku kliknij konwersję, gdy będziesz gotowy.
-
3/3
Pobierz przekonwertowany plik .srt
Wynik konwersji jest gotowy do pobrania.
Jak konwertować xml do srt
- Napisy do filmu
- Brak ocen.
Edytor wideo, odtwarzacz multimediów lub usługa napisów może wymagać formatu SRT, gdy napisy zostały wyeksportowane z innego systemu jako XML. Konwersja pliku sprawia, że napisy można przenosić i edytować, ale tylko wtedy, gdy XML zawiera możliwy do zidentyfikowania tekst cue oraz dane dotyczące czasu.
Czym jest format XML
XML to strukturalny język znaczników, a nie jeden format napisów. Systemy napisów i transkrypcji używają różnych schematów XML, w tym TTML/DFXP, EBU-TT, Final Cut Pro XML oraz zastrzeżonych formatów eksportu z oprogramowania do edycji, emisji i zamiany mowy na tekst.
Plik XML z napisami może przechowywać cue w elementach takich jak <p begin="00:00:01.000" end="00:00:04.000"> albo używać atrybutów o nazwach start, end, in, out lub duration. Final Cut Pro XML może opisywać projekt edycyjny zamiast zawierać bezpośrednio użyteczne cue napisów, dlatego przed konwersją może być konieczny eksport z oryginalnej aplikacji.
XML nie ma uniwersalnej struktury napisów. Zmiana nazwy captions.xml na captions.srt nie konwertuje pliku; oprogramowanie musi rozpoznać pola czasu, wyodrębnić widoczny tekst i przepisać dane do składni SRT.
Czym jest format SRT
SRT to format zwykłego tekstu obsługiwany przez większość odtwarzaczy wideo, edytorów nieliniowych, serwerów multimediów i platform napisów. Każdy cue zawiera numer porządkowy, czas początkowy i końcowy, tekst napisów oraz pusty wiersz:
1
00:00:01,000 --> 00:00:04,000
Example caption.
Znaczniki czasu SRT używają przecinków przed milisekundami i mają postać HH:MM:SS,mmm. Napisy XML mogą natomiast używać sekund dziesiętnych, kropek, numerów klatek, czasu zegarowego, ticków lub czasów trwania ISO 8601. SRT zajmuje niewiele miejsca, można je łatwo edytować w edytorze tekstu i jest szeroko kompatybilny, ale zawiera znacznie mniej metadanych i informacji o stylu niż większość schematów napisów XML.
Konwertowanie rozpoznawanego XML za pomocą Subtitle Edit
- Utwórz kopię zapasową źródłowego pliku XML.
- Zainstaluj aktualną desktopową wersję programu Subtitle Edit, będącego edytorem napisów o otwartym kodzie źródłowym dla systemu Windows.
- Otwórz plik za pomocą File → Open. Subtitle Edit może importować kilka standardowych formatów napisów i captionów, ale obsługa zależy od konkretnego schematu XML.
- Sprawdź zaimportowane cue w siatce napisów i na osi czasu. Porównaj pierwszy, środkowy i ostatni cue ze źródłem lub nagraniem oraz sprawdź podziały wierszy i znaki spoza alfabetu łacińskiego.
- Wyeksportuj plik za pomocą File → Save as, wybierz
SubRip (*.srt)i wybierz kodowanie UTF-8, jeśli okno dialogowe udostępnia opcję kodowania.
Jeśli plik otwiera się jako zwykły XML, nie importuje żadnych cue lub generuje nieprawidłowe czasy, prawdopodobnie używa nieobsługiwanego albo specyficznego dla projektu schematu. Sprawdzenie XML w edytorze tekstu może ujawnić, czy zawiera rzeczywisty tekst napisów i dane dotyczące czasu; pomyślne otwarcie pliku nie jest dowodem poprawnej konwersji.
Korzystanie z konwertera online w przypadku udokumentowanych plików niezawierających danych wrażliwych
Internetowe usługi napisów, takie jak Happy Scribe i VEED, obsługują wybrane formaty napisów i captionów, ale obsługa XML różni się w zależności od produktu i może być ograniczona do określonego schematu, takiego jak TTML. Przed przesłaniem pliku sprawdź, czy usługa wyraźnie wymienia dokładny typ XML. Nie przesyłaj poufnych, nieopublikowanych ani zawierających dane osobowe napisów, chyba że przetwarzanie przez podmiot zewnętrzny jest dozwolone.
Ogólne strony internetowe konwertujące XML do tekstu lub SRT często wybierają niewłaściwe elementy, ignorują przestrzenie nazw, traktują milisekundy jako sekundy albo zwracają pusty plik. Pobierz wynik, otwórz go w edytorze napisów i porównaj jego czasy z nagraniem przed użyciem.
Konwertowanie przewidywalnego niestandardowego schematu za pomocą Python
Skrypt jest odpowiedni, gdy każdy cue ma rozpoznawalne wartości start, end i tekst. Ten przykład obsługuje czasy zegarowe i sekundy liczbowe, a także wartości 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')
Uruchom go za pomocą python xml_to_srt.py captions.xml captions.srt. Zmień nazwy atrybutów i wybór cue zgodnie ze schematem źródłowym. Skrypt nie interpretuje kodów czasu SMPTE opartych na klatkach, czasów trwania ISO 8601, ticków, nieudokumentowanych jednostek milisekund, przestrzeni nazw XML wymagających kwalifikowanego wyszukiwania ani oddzielnych elementów stylu i mówcy. Skrypt scala również osadzone podziały wierszy w spacje; zastąp ten wiersz przetwarzania tekstu, jeśli struktura wierszy musi zostać zachowana.
Sprawdzanie czasu, kodowania i utraconych metadanych
- Przed konwersją potwierdź podstawę czasu. Liczba klatek wymaga znajomości źródłowej liczby klatek na sekundę; wartości liczbowe mogą oznaczać sekundy, milisekundy lub ticki.
- Poprawnie konwertuj czasy trwania względnego: cue z wartościami
beginidurkończy się w chwilibegin + dur. - Sprawdź nakładające się cue, cue o zerowej długości, odwrócone czasy, brakujący tekst, zduplikowane cue oraz wiele ścieżek językowych. Programy odczytujące SRT różnie obsługują te przypadki.
- Podczas odczytu źródła zachowaj zadeklarowane w XML kodowanie znaków, a SRT zapisz jako UTF-8. Po eksporcie sprawdź znaki diakrytyczne i alfabety inne niż łaciński.
- Uwzględnij utratę funkcji charakterystycznych dla XML, takich jak pozycjonowanie, kolory, czcionki, metadane mówcy, synchronizacja karaoke, kolejność odczytu i złożone style wierszy. Najważniejsze oznaczenia mówców lub formatowanie odtwórz ręcznie.
- Otwórz wynikowy plik SRT w Subtitle Edit lub innym edytorze napisów i wyświetl go wraz z nagraniem. Przed przekazaniem pliku sprawdź pierwszy i ostatni cue, zmiany scen, podziały wierszy oraz synchronizację.
Porównanie formatu XML z SRT
Jak formaty XML i SRT wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .XML Extensible Markup Language | .SRT SubRip Subtitle |
|---|---|---|
| Otwarty standard | Tak | Częściowo otwarty |
| Kompresja | Bez kompresji | Bez kompresji |
| Typowy rozmiar pliku | Mały | Bardzo mały |
| Otwiera się w przeglądarce internetowej | Tak, natywnie | Częściowo |
| Dalsza edycja | Łatwy | Łatwy |
| Obsługa metadanych | Podstawowy | Podstawowy |
| Czytelny tekstowo | Tak | Tak |
| Najlepszy do | Wymiana danych | Udostępnianie i dystrybucja |
| Wprowadzono | 1998 | 1997 |
| Twórca | W3C | Unknown / SubRip community |
| Typ MIME | application/xml | application/x-subrip |
Sugerowane oprogramowanie i linki: konwertery xml na srt
Najczęściej zadawane pytania
Czy konwerter XML do SRT jest darmowy?
Tak, konwersja XML do SRT na 101convert.com jest całkowicie darmowa. Nie wymaga rejestracji, adresu e-mail ani instalacji. Jeśli potrzebujesz wyższego limitu rozmiaru pliku lub chcesz konwertować więcej plików naraz, sprawdź nasze plany.
Jak duży może być mój plik XML?
Możesz przesłać pliki XML o rozmiarze do 100 MB i przekonwertować do 100 plików jednocześnie w jednej partii.
Co dzieje się z przesłanymi plikami?
Pliki są przetwarzane automatycznie i usuwane z naszych serwerów kilka minut po konwersji. Nigdy nie przeglądamy ani nie udostępniamy Twoich plików.
Czy muszę instalować oprogramowanie, aby przekonwertować XML do SRT?
Nie. Konwersja XML do SRT odbywa się całkowicie online w przeglądarce i działa w systemach Windows, Mac, Linux, Android i iPhone.
Konwersja nie powiodła się?
W większości przypadków przyczyną jest nieprawidłowy format pliku. Prześlij prawidłowy plik XML dla tej konwersji z XML do SRT. Czasami problem może również występować po naszej stronie. Analizujemy powtarzające się nieudane konwersje i wyłączamy lub naprawiamy konwerter, jeśli wykryjemy usterkę.
Czy podczas konwersji XML do SRT zostanie utracone formatowanie i pozycjonowanie napisów?
Zwykle tak: SRT zachowuje numery napisów, czasy rozpoczęcia i zakończenia oraz tekst napisów, ale style XML, kolory, metadane mówców, pozycjonowanie na ekranie i inne atrybuty mogą zostać spłaszczone lub usunięte. Podstawowe podziały wierszy są często zachowywane, zależnie od formatu napisów XML.
Czy synchronizacja napisów pozostanie dokładna podczas konwersji XML do SRT?
Może pozostać dokładna, jeśli XML używa obsługiwanych kodów czasowych i właściwej bazy czasowej, ale synchronizacja oparta na klatkach lub specyficzna dla formatu może wymagać konwersji. Niezgodność liczby klatek na sekundę może przesunąć początki i końce napisów, a nakładające się lub nieprawidłowe napisy mogą zostać zmienione lub odrzucone.
Dlaczego podczas konwersji napisów XML powstają brakujące lub puste napisy SRT?
Ogólny XML nie jest automatycznie formatem napisów, dlatego konwersja może się nie powieść, gdy plik używa nieobsługiwanej struktury napisów, przestrzeni nazw, pól czasowych lub elementów tekstowych. XML musi zawierać rozpoznawalne wpisy napisów z czytelnym tekstem oraz prawidłowymi czasami rozpoczęcia i zakończenia.
Czy można przekonwertować SRT z powrotem do oryginalnego XML bez utraty informacji?
Zwykle nie, ponieważ SRT nie może reprezentować wszystkich danych napisów XML, takich jak szczegółowe style, pozycjonowanie, metadane i niestandardowe pola czasowe. Wynikowy SRT pozostaje edytowalny jako zwykły tekst napisów, ale jego konwersja z powrotem zazwyczaj wymaga odtworzenia usuniętych informacji.
Dodatkowe formaty dla konwersji pliku
xml
Konwersja odwrotna
Konwersja do .srt
z innych formatów
- mks do srt
- vtt do srt
- doc do srt
- ass do srt
- sup do srt
- word do srt
- stl do srt
- txt do srt
- pac do srt
- mp4 do srt
- 3gp do srt
- 890 do srt
- aac do srt
- amr do srt
- avi do srt
- cip do srt
- dfxp do srt
- flac do srt
- idx do srt
- itt do srt
- lrc do srt
- m4a do srt
- m4v do srt
- mkv do srt
- mov do srt
- ogg do srt
- opus do srt
- pdf do srt
- rtf do srt
- sbv do srt
- scr do srt
- smi do srt
- ssa do srt
- sub do srt
- text do srt
- ttml do srt
- vobsub do srt
- wav do srt
- webm do srt
- wma do srt
- zip do srt