SRT εναντίον VTT: ποια είναι η διαφορά και ποιο πρέπει να χρησιμοποιήσετε;
Τα SRT και VTT είναι οι δύο πιο κοινές μορφές υποτίτλων, αλλά δεν είναι εναλλάξιμες. Δείτε τι τις διαφοροποιεί στην πράξη και πώς να επιλέξετε τη σωστή.
Αν έχετε ποτέ κατεβάσει υπότιτλους για ένα βίντεο και καταλήξατε με ένα αρχείο που δεν μπορούσατε να χρησιμοποιήσετε, υπάρχει μεγάλη πιθανότητα να επρόκειτο για ασυμβατότητα SRT-VTT. Οι δύο μορφές αποθηκεύουν βασικά το ίδιο πράγμα (χρονισμένο κείμενο σε cues), αλλά προέρχονται από διαφορετικές εποχές του web και συμπεριφέρονται διαφορετικά ανάλογα με το πού τις χρησιμοποιείτε.
Τι είναι το SRT
Το SRT (SubRip Text) είναι η παλαιότερη, απλούστερη μορφή. Σχεδιάστηκε για desktop video player, όχι για browser. Ένα cue φαίνεται έτσι:
1
00:00:01,000 --> 00:00:04,000
Γεια σας, και καλώς ήρθατε στην εκπομπή.
Απλά ένας αριθμός ακολουθίας, μια ώρα έναρξης και λήξης χωρισμένες με κόμμα, και το κείμενο. Χωρίς header, χωρίς στυλ, χωρίς μεταδεδομένα. Αυτή η απλότητα είναι ακριβώς ο λόγος που το SRT εξακολουθεί να είναι παντού: σχεδόν κάθε media player, εργαλείο επεξεργασίας και πλατφόρμα streaming μπορεί να το διαβάσει.
Τι είναι το VTT
Το VTT (WebVTT) σχεδιάστηκε ειδικά για το στοιχείο <track> της HTML5, πράγμα που σημαίνει ότι είναι η μορφή που οι browsers περιμένουν εγγενώς για υπότιτλους βίντεο στο web. Ένα αρχείο VTT απαιτεί μια γραμμή header WEBVTT και χρησιμοποιεί τελείες αντί για κόμματα στα timestamps:
WEBVTT
1
00:00:01.000 --> 00:00:04.000
Γεια σας, και καλώς ήρθατε στην εκπομπή.
Πέρα από αυτόν τον header και τη σύνταξη των timestamp, το VTT υποστηρίζει και πράγματα που το SRT δεν είχε ποτέ: τοποθέτηση cues, βασικό στυλ (έντονα, πλάγια, χρώμα μέσω classes) και ετικέτες φωνής για τη διάκριση ομιλητών. Αν ενσωματώνετε υπότιτλους απευθείας σε μια ιστοσελίδα, σχεδόν πάντα χρειάζεστε VTT.
Οι πρακτικές διαφορές που προκαλούν πραγματικά προβλήματα
- Κόμμα εναντίον τελείας στα timestamps. Αυτός είναι ο πιο συνηθισμένος λόγος για τον οποίο ένα αρχείο SRT “δεν λειτουργεί” όταν μετονομάζεται σε
.vtt, ή το αντίστροφο: ο διαχωριστής του timestamp είναι διαφορετικός, και οι περισσότεροι parsers δεν το διορθώνουν σιωπηλά. - Ο header
WEBVTT. Ένα αρχείο VTT χωρίς αυτόν δεν είναι έγκυρο, ακόμα κι αν κάθε άλλη γραμμή είναι σωστή. - Οι απαιτήσεις των πλατφορμών. Το YouTube, το Vimeo και οι περισσότεροι video editor δέχονται SRT. Το εγγενές στοιχείο
<track>των browsers και πολλοί JavaScript video player θέλουν VTT. Οι ροές streaming/HLS συνήθως θέλουν κι αυτές VTT. - Υποστήριξη στυλ. Αν χρειάζεται να τοποθετήσετε υπότιτλους σε συγκεκριμένο σημείο της οθόνης ή να στυλίσετε συγκεκριμένους ομιλητές, το SRT απλά δεν μπορεί να το κάνει. Χρειάζεστε VTT (ή μια πιο προχωρημένη μορφή όπως το ASS).
Ποιο πρέπει να χρησιμοποιήσετε;
- Για ανέβασμα υποτίτλων στο YouTube, επεξεργασία σε Premiere/Final Cut, ή δουλειά με τα περισσότερα desktop εργαλεία → SRT.
- Για ενσωμάτωση υποτίτλων σε μια ιστοσελίδα με το στοιχείο
<video>/<track>, ή για HLS/web streaming → VTT. - Αν χρειάζεστε προχωρημένο στυλ ή τοποθέτηση → εξετάστε το ASS αντί για οποιοδήποτε από τα δύο.
Αν έχετε το ένα και χρειάζεστε το άλλο, δεν χρειάζεται να ξαναγράψετε τίποτα με το χέρι: η μετατροπή είναι καθαρά μηχανική (μορφή timestamp, header, αρίθμηση cues). Ο μετατροπέας SRT σε VTT μας το κάνει αυτό εντελώς μέσα στον browser σας, χωρίς ανέβασμα αρχείου, χωρίς λογαριασμό, και το αρχείο σας δεν φεύγει ποτέ από τη συσκευή σας.