Matroska w jednym akapicie
MKV, skrót od Matroska, to otwarty format kontenera z 2002 roku. W jednym pliku może pomieścić niemal każdy kodek wideo i audio, dowolną liczbę ścieżek dźwiękowych, kilka ścieżek napisów, rozdziały i dołączone czcionki. Ta elastyczność uczyniła go standardem dla zgranych filmów, fanowskich wydań anime, nagrań z OBS i zarchiwizowanych audycji telewizyjnych.
MP4 jest bardziej restrykcyjny. Obsługuje mniej kodeków i tylko podstawowe napisy tekstowe, ale w zamian odtwarza się niemal wszędzie: na iPhone'ach i iPadach, w aplikacji Zdjęcia w Windows, na smart TV z pendrive'a, w przeglądarkach, komunikatorach i każdym programie do montażu. Gdy MKV nie chce się odtworzyć ani zaimportować, konwersja do MP4 jest zwykle najszybszym rozwiązaniem.
Przepakowanie czy ponowne kodowanie: co decyduje o szybkości
Kontener to tylko opakowanie. Jeśli wideo wewnątrz MKV można zapisać w MP4 bez zmian, nie ma potrzeby dekodowania i ponownej kompresji; strumień można skopiować do nowego opakowania. Nazywa się to remuksowaniem i trwa kilka sekund nawet dla dwugodzinnego filmu, bo praca polega głównie na odczycie i zapisie pliku.
Narzędzie w przeglądarce najpierw odczytuje, jakie kodeki zawiera MKV, a następnie:
- Wideo H.264 jest kopiowane bez zmian. Każdy inny kodek wideo jest kodowany ponownie do H.264 z CRF 23, presetem
ultrafasti 8-bitowym kolorem 4:2:0, co na laptopie działa mniej więcej w czasie rzeczywistym, a na telefonie wolniej. - Dźwięk AAC również jest kopiowany. Wszystko inne jest konwertowane do AAC w 128 kbit/s, bo dźwięk w MKV to często FLAC, AC-3, DTS lub Opus, których wiele odtwarzaczy MP4 nie potrafi zdekodować.
- Plik jest zapisywany z indeksem na początku, więc zaczyna się odtwarzać, zanim zostanie w pełni załadowany.
Jeśli FFmpeg mimo to odmówi kopiowania, na przykład z powodu uszkodzonych znaczników czasu, narzędzie przechodzi do pełnego ponownego kodowania.
Karta wyniku pokazuje rozmiar przed i po. Rozmiar zbliżony do oryginału zwykle oznacza, że wideo zostało skopiowane; bardzo różny rozmiar oznacza ponowne kodowanie.
Sprawdź, co jest w środku, zanim zaczniesz
To, którą ścieżką pójdzie konwersja, zależy od kodeka wideo, a ten decyduje też o tym, jak kompatybilne będzie MP4.
- H.264 (AVC). Najczęstszy przypadek w nagraniach z OBS i większości pobranych plików. Kopiowany bit po bicie, bez zmiany jakości, odtwarza się wszędzie.
- HEVC (H.265). Częsty w wydaniach 4K i 10-bitowych. Kodowany ponownie do H.264, bo wiele przeglądarek, starszych telefonów i telewizorów nie odtwarza HEVC. Przy długich plikach 4K spodziewaj się, że potrwa to chwilę, a wynik będzie większy.
- VP9 i AV1. Również kodowane ponownie do H.264; iPhone'y, starsze telewizory i większość programów do montażu nie przyjmują ich w MP4.
- Wszystko inne, na przykład Theora czy MPEG-2, jest kodowane ponownie w ten sam sposób.
Przy długich plikach wymagających ponownego kodowania szybsza jest opcja serwerowa na stronie. Przetwarzanie na serwerze zawsze koduje ponownie do H.264 z wolniejszym presetem medium, CRF 23 i 8-bitowym kolorem 4:2:0, co daje lepszą kompresję niż szybki preset przeglądarki. Darmowe konta mają jedno zadanie na serwerze dziennie do 500 MB; Premium nie ma limitu dziennego i przyjmuje pliki do 4 GB.
Ścieżki, napisy i inne dodatki
MKV często zawiera więcej niż jeden strumień. Automatyczny wybór FFmpeg zachowuje jedną ścieżkę wideo i jedną ścieżkę audio, wybierając dźwięk z największą liczbą kanałów. Praktyczne konsekwencje:
- Film z wersją angielską i dubbingiem zachowa tylko jedną z nich, niekoniecznie tę oznaczoną jako domyślna.
- Napisy nie trafiają do MP4. Napisów obrazkowych, takich jak PGS z Blu-ray, w ogóle nie da się zapisać w MP4, a stylizowane napisy ASS tracą stylizację nawet po konwersji. Zachowaj osobny plik napisów albo zamień go na format zrozumiały dla Twojego odtwarzacza narzędziem konwertuj SRT na VTT i z powrotem.
- Rozdziały, okładki i dołączone czcionki nie są przenoszone.
Dźwięk przestrzenny 5.1 jest kodowany do AAC z zachowanym układem kanałów, więc amplituner kina domowego nadal dostaje sześć kanałów.
Gdy konwersja się nie udaje albo plik jest za duży
- Przeglądarce brakuje pamięci. Przeglądarka trzyma w pamięci cały plik wejściowy i wyjściowy. Film o wadze 1,8 GB może się nie udać na telefonie, mimo że limit wynosi 2 GB. Użyj laptopa albo opcji serwerowej dla większych plików.
- Plik po ponownym kodowaniu jest znacznie większy. Preset
ultrafaststawia szybkość ponad wydajność. Przepuszczenie wyniku przez kompresję wideo z ustawieniem Lekka zmniejsza go przy niewielkiej widocznej zmianie. - Potrzebny jest tylko fragment. Najpierw wytnij klip narzędziem przytnij wideo; konwersja pięciominutowego fragmentu jest znacznie szybsza niż całego odcinka.
W trybie przeglądarkowym nic nie jest wysyłane, a oryginalny MKV nigdy nie jest modyfikowany; pobierasz nowy plik MP4 obok niego.