Napisy miękkie a twarde: osadzone czy wypalone?
Napisy mogą żyć w wideo dokładnie na dwa sposoby i od tego, który z nich się ma, zależą wszystkie decyzje w procesie. Napisy miękkie to ścieżka tekstowa przechowywana obok strumienia wideo — klatki są nietknięte, a odtwarzacz renderuje tekst podczas odtwarzania. Napisy twarde są namalowane w pikselach podczas kodowania: litery są częścią obrazu, na zawsze. Miękkie napisy można wyłączyć, przełączać między językami, zmieniać ich styl i wyodrębnić jako tekst; twarde odtwarzają się identycznie na dosłownie wszystkim, co odtwarza wideo, kosztem trwałości. Jedne są danymi obok obrazu, drugie są obrazem.
Pięć faktów, na których opiera się reszta strony:
• miękkie = ścieżka tekstowa zapisana w kontenerze (SRT/VTT/ASS); twarde = napisy wypalone w klatkach
• miękkie osadzanie to remux — sekundy, zero utraty jakości; twarde wypalanie to przekodowanie — każda klatka jest renderowana i kompresowana na nowo
• miękkie napisy ważą kilobajty; twarde nie zwiększają rozmiaru, ale nie da się ich usunąć
• wyodrębnianie działa na napisach miękkich (to tekst); wypalony tekst to piksele — to wymaga OCR i jakość nigdy nie jest gwarantowana
• znaczniki czasu SRT mają postać HH:MM:SS,mmm — np. 00:01:22,480 → 00:01:25,120 to linia o długości 2640 ms
Miękkie osadzanie: dodanie ścieżki tekstowej
Miękkie osadzanie zapisuje plik napisów do kontenera jako dodatkową ścieżkę, obok ścieżek wideo i dźwięku — sam strumień wideo jest kopiowany bajt po bajcie. Dlatego kończy się w sekundach i niczego nie traci: to ta sama operacja „remux”, co zmiana kontenera (zob. stronę MP4, podstawy kontenerów). Haczyk to obsługa: kontener musi przyjmować ścieżki napisów (MKV i MP4 tak; niektóre urządzenia i tak je ignorują), a odtwarzacz musi je renderować — telewizory Smart TV i wbudowane odtwarzacze w telefonach są notorycznie niespójne, dlatego twarde wypalanie wciąż istnieje.
Twarde wypalanie: malowanie tekstu w klatkach
Wypalanie napisów renderuje każdą klatkę wideo z tekstem nałożonym na wierzch, a następnie kompresuje wynik na nowo — to pełne przekodowanie ze wszystkim, co z tego wynika: trwa tyle co kodowanie, a każda klatka przechodzi przez drugą generację kompresji. Czcionki są wbudowane (bez niespodzianek „brakującej czcionki” na komputerze odbiorcy), pozycjonowanie i styl są dokładne, a zgodność odtwarzania jest pełna, bo wynik to zwykłe wideo. Kompromisem jest ostateczność: tekst jest nierozłączny z obrazem, a poprawienie literówki oznacza ponowne przekodowanie od oryginalnego źródła.
SRT, VTT i ASS: trzy formaty napisów
SRT (SubRip) to uniwersalne minimum: ponumerowane wiersze, znaczniki czasu początku → końca, zwykły tekst. Każdy odtwarzacz na świecie go czyta. VTT (WebVTT) to jego rodzimy odpowiednik dla sieci — ta sama idea, milisekundy oddzielone . zamiast ,, plus punkty zaczepienia dla stylów i pozycjonowania, z których korzysta element <track> w HTML5. ASS (Advanced SubStation Alpha) to format entuzjastów: czcionki, kolory, obrysy, obrót, animacja znak po znaku — format stojący za stylizowanymi napisami do anime — i to właśnie dlatego MKV może dołączyć w pliku czcionki potrzebne ścieżce (zob. stronę MKV). Wypalanie stylizacji ASS wymaga, by czcionki były dostępne w chwili kodowania; odtwarzanie jej jako miękkiej wymaga ich w chwili odtwarzania.
Wyodrębnianie: dlaczego naprawdę działa tylko przy napisach miękkich
Wyodrębnienie miękkiej ścieżki napisów to wypakowanie tekstu z kontenera — idealnie, bo tak został zapisany. Odzyskiwanie napisów z wideo z wypalonymi napisami to problem wizji komputerowej (OCR na każdej klatce, zgadywanie, gdzie jest obszar tekstu, czyszczenie tła za literami); działa sensownie na czystym, statycznym tekście i szybko się psuje przy stylizowanych czcionkach, ruchu i ziarnie. Jeśli później potrzebny będzie tekst, zachowaj (albo zamów) wersję miękką.
Typowe nieporozumienia
- „Napisy dołączone do pliku zawsze można wyłączyć.” Tylko miękkie. Jeśli nie da się ich wyłączyć, są wypalone w pikselach i żaden odtwarzacz ich nie usunie.
- „Osadzanie napisów przekodowuje wideo.” Miękkie osadzanie to remux — natychmiastowe i bezstratne. Przekodowuje tylko twarde wypalanie.
- „Pliki z napisami znacznie powiększają wideo.” Miękka ścieżka to tekst: napisy całego filmu to od kilkudziesięciu do kilkuset kilobajtów, czyli ułamek megabajtów wideo.
- „Twarde wypalanie jest po prostu bezpieczniejsze, więc zawsze wypalaj.” Jest bezpieczniejsze pod kątem zgodności odtwarzania, ale na stałe gorsze do późniejszej edycji, tłumaczenia i dostępności. Wypalaj przy dystrybucji na nieznane urządzenia; osadzaj, gdy tekst ma pozostać danymi.
Powiązane narzędzia: Konwerter SRT/VTT/ASS do przenoszenia tekstu napisów między trzema formatami, Mowa na napisy, aby wygenerować plik napisów z dźwięku, Wideo na MKV dla kontenera z najlepszą obsługą wielościeżkowych napisów, oraz Wideo na MP4 dla podstaw remuxu.