Wróć do bloga

Jak wypalić napisy w wideo (bez wysyłania go nigdzie)

Wypalanie napisów w wideo na własnym komputerze: cztery metody porównane, sprawdzone komendy FFmpeg i jak uniknąć spadku jakości przy ponownym kodowaniu.

11 września 2026
Sablate Team

Wypalanie napisów w wideo znaczy rysowanie tekstu prosto w obrazie i kodowanie na nowo, więc napisy podróżują z plikiem jako piksele. Potrzebujesz tego dla TikToka, Reels i Shorts, które w ogóle nie przyjmują plików z napisami, i zawsze wtedy, gdy napisy są częścią projektu, a nie tylko opcją dostępności.

Nie musisz niczego wysyłać, żeby to zrobić. FFmpeg robi to jedną komendą, HandBrake i Subtitle Edit — z poziomu okna, a desktopowa aplikacja do napisów, taka jak Sablate, najpierw tworzy jeszcze same napisy. Wszystkie działają na twoim komputerze, bez limitu rozmiaru pliku i bez czekania na wysyłkę.

Poniżej: kiedy narzędzie online nadal jest dobrym wyborem, cztery sposoby wypalania napisów, jak to zrobić bez linii komend, co zmienia się przy długich nagraniach i dwie rzeczy, które faktycznie szkodzą jakości.

Narzędzie online czy offline: które wybrać?

Większość wyszukiwań na ten temat trafia najpierw na edytor w przeglądarce i przy krótkim klipie to w porządku. Różnica wychodzi przy długości, rozmiarze pliku i prywatności.

Edytor onlineOffline (FFmpeg, HandBrake, aplikacja desktopowa)
Twoje wideo jest wysyłaneTak, cały plikNie
Rozmiar plikuOgraniczony planemOgranicza go tylko dysk
Długie nagraniaCzas wysyłki rośnie z długościąCzas zajmuje tylko kodowanie
Materiał poufnyOpuszcza twój komputerZostaje na nim
Wymaga instalacjiNieTak
Tworzy też napisyZwykle takAplikacje desktopowe tak, FFmpeg i HandBrake nie

Limity są realne, a w darmowych planach niskie. Zasady przechowywania plików w Kapwing pozwalają na przykład na 250 MB na plik w planie darmowym i 6 GB w płatnych. Przy typowym bitrate 1080p około 8 Mbps 250 MB mieści nieco ponad cztery minuty wideo.

Edytora online używaj więc wtedy, gdy klip jest krótki, nic w nim nie jest poufne, a na komputerze przed tobą nie możesz instalować oprogramowania. Przy wszystkim dłuższym niż kilka minut, przy materiale klientów lub firmowym i przy wsadzie plików wypalaj lokalnie. Porównanie generatorów napisów offline opisuje aplikacje desktopowe, które też tworzą napisy.

Kiedy wypalanie jest dobrym wyborem

Wypalone (hardsub)Plik lub ścieżka z napisami (softsub)
Widz może to wyłączyćNieTak
Działa na TikToku, Reels, ShortsTakNie, brak wsparcia
Działa na YouTube, VimeoTakTak, i można w tym szukać
Liczy się do zgodności z dostępnościąZwykle nieTak
Indeksowane przez wyszukiwarkiNieTak
Poprawa literówki późniejPonowny render wideoEdycja pliku tekstowego
Wiele języków w jednym plikuNie, jeden render na językTak, jedna ścieżka na język
Stylizacja zachowana dokładnieTakTylko w ścieżkach ASS

Praktyczna odpowiedź dla większości osób to obie metody naraz: wypalaj dla wertykalnych platform społecznościowych, gdzie nic innego nie działa, i wysyłaj plik z napisami wszędzie, gdzie taki plik jest odczytywany, bo plik można przeszukać, przełączyć i poprawić. Jeśli chcesz obu wyników z jednego zadania, dostawa w wielu językach opisuje, jak oba wyniki powstają z tej samej osi czasu.

Cztery sposoby wypalania napisów

FFmpegHandBrakeNarzędzia w przeglądarceDesktopowe aplikacje do napisów
CenaDarmoweDarmoweDarmowy poziom, potem subskrypcjaJednorazowo albo subskrypcja
Wysyła twoje wideoNieNieTak, cały plikNie
Limit rozmiaru / długości plikuBrakBrakTak, zwykle ścisłyBrak
Tworzy napisyNieNieTakTak
Kontrola stylizacjiPrzez ASS albo force_styleOgraniczonaSzablonyPełna, z podglądem na żywo
Krzywa uczeniaLinia komendUmiarkowanaBrakNiska

Dwie szczere uwagi. FFmpeg i HandBrake są w tym darmowe i świetne, a jeśli masz już gotowy plik z napisami, FFmpeg to jedna komenda — nie ma powodu, żeby za coś płacić. Czego żadne z nich nie robi, to tworzenie napisów: wypalają plik, który już masz, zaczasowany i poprawiony gdzie indziej. Narzędzia w przeglądarce faktycznie je tworzą, ale wysyłka pliku nie jest opcjonalna, co wyklucza je dla materiału poufnego i dla wszystkiego dłuższego niż ich limit.

Wypalanie napisów w FFmpeg

Dla zwykłego SRT:

ffmpeg -i input.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4

Dla stylizowanego pliku ASS użyj filtra ass, żeby stylizacja została zachowana, a nie spłaszczona:

ffmpeg -i input.mp4 -vf "ass=subs.ass" -c:a copy output.mp4

Aby jawnie kontrolować jakość, zamiast przyjmować wartość domyślną:

ffmpeg -i input.mp4 -vf "subtitles=subs.srt" \
  -c:v libx264 -crf 18 -preset slow -c:a copy output.mp4

Aby zmienić styl SRT bez konwertowania go najpierw:

ffmpeg -i input.mp4 \
  -vf "subtitles=subs.srt:force_style='FontName=Arial,FontSize=24,Outline=2'" \
  -c:a copy output.mp4

Pułapka Windows. Ścieżkę wewnątrz filtra parsuje filtr, nie shell, więc dwukropek litery dysku i backslashe trzeba escapować. To najczęstsza przyczyna błędu „plik nie znaleziony” dla komendy, mimo że plik ewidentnie istnieje:

ffmpeg -i input.mp4 -vf "subtitles='C\:/Videos/subs.srt'" -c:a copy output.mp4

Trzymaj plik z napisami w katalogu roboczym i zawsze, kiedy możesz, podawaj samą nazwę pliku — to całkowicie omija ten problem.

Wypalanie napisów bez linii komend

Jeśli terminal to nie twoja bajka, to samo z poziomu okna zrobią trzy rodzaje narzędzi. Dwa pierwsze są darmowe i wypalają plik z napisami, który już masz; trzecie plik także tworzy.

HandBrake

HandBrake to darmowy konwerter wideo dla systemów Windows, Mac i Linux. Otwórz wideo, przejdź na kartę Subtitles, przez Tracks dodaj zewnętrzny plik SRT, ustaw dla tej ścieżki wypalanie w wideo i uruchom kodowanie. Warto znać dwa ograniczenia: dokumentacja HandBrake zaznacza, że MP4 może zawierać tylko jedną wypaloną ścieżkę, a stylizacja ogranicza się do tego, co niesie zwykły SRT.

Subtitle Edit

Subtitle Edit, darmowy edytor napisów, ma w menu Video eksport z wypalonymi napisami, który uruchamia FFmpeg za ciebie, a jeśli FFmpeg brakuje, proponuje jego pobranie. To naturalny wybór, gdy i tak poprawiasz tam czasowanie.

Desktopowa aplikacja do napisów

Jeśli nie masz jeszcze poprawionego pliku z napisami, wypalanie jest ostatnim krokiem dłuższego zadania: transkrybuj, popraw, stylizuj, renderuj. Sablate robi to od początku do końca na twoim komputerze — lokalną transkrypcję Whisperem, edytor z retimowaniem na osi czasu i ostrzeżeniami o prędkości czytania, 13 presetów napisów i wypalanie, które zgadza się z podglądem. Jeśli montujesz w DaVinci Resolve, darmowa wersja potrafi zamiast tego zaimportować SRT i wypalić go przy eksporcie.

Wypalanie jest dostępne w planie Darmowym, z małym oznaczeniem w rogu, dla wideo do 10 minut. Pro usuwa oznaczenie i limit długości oraz dodaje eksport .ass, wielościeżkowego .mkv oraz wsadowy, za jedną płatność $29. Pobierz albo przeczytaj stronę cennika, by zobaczyć pełny podział.

Wypalanie napisów w długich i dużych wideo

Długość zmienia dwie rzeczy: dostarczenie pliku do narzędzia i samo kodowanie.

Wysyłka. Dwugodzinne nagranie 1080p przy około 8 Mbps to około 7 GB. Przy łączu z wysyłaniem 20 Mbps to blisko 50 minut, zanim narzędzie online w ogóle zacznie pracę, a gotowy plik trzeba jeszcze pobrać z powrotem. Wypalanie lokalne całkowicie pomija ten krok.

Kodowanie. Wypalanie koduje na nowo każdą klatkę, więc dwugodzinny plik na każdym komputerze chwilę zajmie. Zanim zaczniesz pełne kodowanie, wyrenderuj pierwszą minutę i sprawdź tam font, rozmiar i pozycję, zamiast robić to po godzinie czekania:

ffmpeg -i input.mp4 -t 60 -vf "subtitles=subs.srt" -c:v libx264 -crf 18 -preset slow -c:a copy test.mp4

Szybkość a rozmiar. -preset medium jest wyraźnie szybszy od slow i daje nieco większy plik przy tym samym CRF. Koder sprzętowy (h264_nvenc na kartach NVIDIA, h264_videotoolbox na Macu) jest jeszcze szybszy, ale przy tej samej jakości obrazu wymaga wyższego bitrate. W obu przypadkach zostaw -c:a copy: ponowne kodowanie audio długiego pliku kosztuje czas i drugą generację strat bez żadnego pożytku.

Sablate w Pro nie ma limitu długości, a render działa lokalnie z paskiem postępu i przyciskiem anulowania, więc nagranie pełnometrażowe to kwestia czekania, a nie dzielenia pliku na kawałki.

Co faktycznie kosztuje cię jakość

Dwie rzeczy, i żadna z nich to samo wypalanie.

Ponowne kodowanie już skompresowanego pliku. Wypalanie wymaga ponownego kodowania, a to jest stratne. Zrobienie tego na materiale kosztuje praktycznie nic widocznego. Zrobienie tego na pliku, który platforma już skompresowała, oznacza kompresowanie artefaktów kompresji, i właśnie tam pojawia się blokowość i rozmazanie. Zawsze zaczynaj od wersji o najwyższej jakości, jaką masz, i nigdy nie wypalaj napisów w pliku, który już raz był wypalony.

Przyjmowanie domyślnych ustawień kodera. -crf 18 z x264 jest wizualnie prawie niezauważalne dla większości materiału; domyślna wartość 23 jest zauważalnie mniej wyraźna na szczegółowym materiale. -preset slow daje mniejszy plik przy tej samej jakości w zamian za czas. A -c:a copy zostawia strumień audio nietknięty — nie ma powodu kodować dźwięku na nowo, kiedy zmieniasz tylko obraz.

Czemu render nie zgadza się z podglądem

Dwie przyczyny, obie do naprawienia, zanim wydasz czas na kodowanie.

Fonty. Renderer rysuje fontem, jaki jest w stanie znaleźć. Jeśli wybrany font nie jest zainstalowany albo nie umie narysować danego pisma — większość ozdobnych fontów do napisów obejmuje łacinkę, cyrylicę i grekę, i nic poza tym — użyty zostaje zastępnik, a arabski, tajski, hangul albo CJK mogą wyjść jako puste prostokąty. Sprawdź font, zanim wyrenderujesz dwanaście języków, nie po.

Rozmiar płótna. Pozycje i rozmiary fontów w ASS są względne wobec wirtualnego płótna zadeklarowanego w pliku, nie wobec wymiarów wideo w pikselach. Ten sam rozmiar fontu daje inny tekst na ekranie na źródle 1080p i 4K, o ile płótno nie jest ustalone na sztywno. Sablate ustala płótno napisów na wirtualną ramkę o wysokości 1080 i wylicza szerokość z rzeczywistych proporcji źródła, wliczając metadane obrotu, więc rozmiar fontu znaczy to samo niezależnie od tego, w jakiej rozdzielczości nagrywałeś — a podgląd w edytorze skaluje się względem dokładnie tego samego płótna, którego używa renderer.

To także powód, czemu jakość wypalania tak bardzo różni się między narzędziami. Wiele edytorów online składa napisy jako płaską nakładkę tekstową; wypalanie w Sablate renderuje libass, ten sam mechanizm, którego odtwarzacze multimedialne używają do napisów ASS, więc obrysy, cienie, czasowanie karaoke słowo po słowie i fonty poprawne dla danego pisma wychodzą jako prawdziwa typografia napisów, a nie przybliżona grafika.

Wideo wertykalne i kwadratowe

Jeśli wideo trafia na Reels, Shorts albo TikTok, konwertuj proporcje obrazu podczas renderu, a nie przycinaj go po fakcie. Przycięcie gotowego wypalenia 16:9 do 9:16 odcina boki napisów razem z obrazem.

Sablate renderuje w 16:9 (1920×1080), 9:16 (1080×1920) albo 1:1 (1080×1080), przycinając do docelowej kadry albo dopełniając ją rozmytą kopią źródła, i rozplanowuje napisy pod finalną kadrę. Trzymaj napisy powyżej dolnej jednej trzeciej kadru wertykalnego: wytyczne Meta dla Reels każą zostawić wolne dolne 35%, bo zakrywa je własny tekst i przyciski platformy. Gdzie umieścić napisy na Reels, TikToku i Shorts opisuje bezpieczną strefę każdej platformy.

W skrócie

Narzędzi online używaj tylko do krótkich klipów, w których nic nie jest poufne; wszystko inne wypalaj lokalnie, bo nie ma wtedy wysyłki, limitu rozmiaru ani limitu długości. Wypalaj, kiedy platforma nie czyta żadnego pliku z napisami albo kiedy napisy są częścią wyglądu — a wszędzie indziej wysyłaj plik z napisami, bo tekst, który można edytować, bije piksele, których nie można. Renderuj z materiału, nie z kopii przygotowanej do wysyłki. Użyj CRF 18 i kopiuj audio. Przetestuj pierwszą minutę długiego pliku przed pełnym kodowaniem. I sprawdź font oraz płótno, zanim wydasz czas na to kodowanie, bo to właśnie te dwie rzeczy sprawiają, że idealny plik z napisami wychodzi źle.

Najczęściej zadawane pytania

Co właściwie robi wypalanie napisów w wideo?

Rysuje tekst prosto w obrazie i koduje wideo na nowo, więc napisy stają się pikselami, a nie osobną ścieżką. Nikt nie może ich wyłączyć, żaden odtwarzacz nie musi wspierać formatu napisów, a platformy, które ignorują pliki z napisami, wyświetlają je poprawnie. Cena tego to trwałość rozwiązania i jedno dodatkowe kodowanie.

Czy wypalanie napisów pogarsza jakość wideo?

Koduje wideo na nowo, więc pewna strata jest nieunikniona, ale można ją zrobić niewidoczną. Koduj z materiału o najwyższej jakości, a nie z już skompresowanego eksportu, użyj ustawienia celującego w jakość, takiego jak CRF 18 z x264, i kopiuj strumień audio, zamiast go kodować od nowa. To dwukrotne wypalenie tego samego pliku widocznie pogarsza jakość.

Czy mogę wypalić napisy bez wysyłania wideo nigdzie?

Tak. FFmpeg, HandBrake i desktopowe aplikacje do napisów działają wyłącznie na twoim komputerze, bez wysyłania czegokolwiek i bez limitu rozmiaru pliku. Narzędzia działające w przeglądarce muszą najpierw wysłać całe wideo na serwer, dlatego ograniczają rozmiar i długość plików i dlaczego dwugodzinne nagranie zwykle im się nie udaje.

Jaka jest komenda FFmpeg do wypalenia napisów w wideo?

Dla zwykłego SRT: ffmpeg -i input.mp4 -vf subtitles=subs.srt -c:a copy output.mp4. Dla stylizowanego pliku ASS użyj filtra ass zamiast subtitles. Na Windows ścieżka w filtrze wymaga escapowania, co jest najczęstszą przyczyną błędu „plik nie znaleziony”.

Czemu wypalone napisy wyglądają inaczej niż w podglądzie?

Zwykle przez fonty albo rozmiar płótna. Renderer podstawia inny font, jeśli wybrany jest niedostępny albo nie umie narysować danego pisma, a rozmiary fontów są względne wobec wirtualnego płótna, więc ta sama liczba daje inny rozmiar tekstu na źródle 1080p i 4K. Podgląd i render muszą używać tego samego fontu i tego samego płótna, żeby się zgadzały.

Czy muszę wypalać napisy dla TikToka, Reels i Shorts?

Tak. Żadna z tych platform nie przyjmuje pliku z napisami razem z uploadem, więc napisy są tam albo wypalone w wideo, albo generowane przez samą platformę. Napisy generowane przez platformę są darmowe, ale stylizowane przez nią i często błędne w nazwach i żargonie, dlatego większość twórców wypala własne.

Jak wypalić napisy w długim wideo?

Zrób to lokalnie. Dwugodzinne nagranie 1080p to kilka GB, więcej, niż przyjmuje większość narzędzi w przeglądarce, i mniej więcej godzina wysyłania na typowym łączu. FFmpeg, HandBrake albo aplikacja desktopowa kodują je na twoim komputerze. Wyrenderuj pierwszą minutę na próbę, zanim zaczniesz pełne kodowanie, i kopiuj audio zamiast kodować je od nowa.