Przejdź do treści
Convertube

Pliki MP4: co jest w środku i na co je konwertować

Co zawiera plik MP4, dlaczego to samo rozszerzenie kryje zupełnie różne kodeki i które konwersje są bezstratne. Konwertuj MP4 w przeglądarce, bez wysyłania.

W skrócie

Typ
Wideo
Format kontenera
Tak
Rozszerzenia
.mp4
Typ MIME
video/mp4
Typowe kodeki
h264, h265, av1, aac
Znany też jako
MPEG-4 Part 14

MP4 to kontener, a nie kodek — i niemal wszystko, co w tym formacie myli, wynika z tego jednego faktu. Plik to drzewo zagnieżdżonych pudełek (specyfikacja nazywa je boxami, starsze narzędzia atomami) zdefiniowane w ISO/IEC 14496-14, które samo jest profilem ISO Base Media File Format wywodzącego się z QuickTime od Apple. W praktyce liczą się dwa pudełka: moov, indeks opisujący każdą ścieżkę, oraz mdat, nieprzejrzysty blok właściwych skompresowanych klatek.

Czytaj dalej

Ponieważ kontener opisuje tylko ścieżki, dwa pliki mogą być poprawnymi MP4 i nie mieć ze sobą nic więcej wspólnego. Jeden może zawierać wideo H.264 z dźwiękiem AAC, następny H.265, kolejny AV1, a odtwarzacz, który radzi sobie z pierwszym, może zawieść na trzecim, choć widzi to samo rozszerzenie .mp4 i ten sam typ MIME video/mp4. Dlatego na pytanie „czy MP4 tu zadziała” nie ma ogólnej odpowiedzi i dlatego konwersja między MP4 a MOV lub MKV jest zwykle natychmiastowa, a konwersja do WebM nie: pierwsza para to przepakowanie, druga wymaga ponownego zakodowania każdej klatki.

Indeks moov wyjaśnia też -movflags +faststart, które ta strona stosuje do każdego zapisywanego pliku MP4. Kodery naturalnie umieszczają moov na końcu pliku, bo długości ścieżek znane są dopiero po zakończeniu kodowania. Odtwarzacz strumieniujący przez HTTP nie może wtedy ruszyć, dopóki nie dotrze ostatni bajt. Faststart przepisuje plik z indeksem na początku, co kosztuje jeden dodatkowy przebieg przy eksporcie, a daje odtwarzanie startujące od razu.

Nazewnictwo to konwencja, a nie reguła. .m4a to plik MP4 zawierający tylko dźwięk, .m4v to wariant wideo od Apple, a .mp4 to przypadek ogólny — wszystkie trzy to ten sam kontener, a zmiana nazwy niczego nie konwertuje. Nie jest to też skrót: wydobycie dźwięku do M4A koduje go tu na nowo, zamiast przenieść istniejącą ścieżkę AAC, więc to druga stratna generacja dokładnie tak jak przy MP3, tylko w tej samej rodzinie kodeków.

Konwertuj MP4 na inne formaty

Konwertuj inne formaty na MP4

MP4 — FAQ

Czy MP4 jest stratny czy bezstratny?

Ani jedno, ani drugie — kontener nie ma tu nic do powiedzenia. Decydują ścieżki w środku. W praktyce MP4 niemal zawsze zawiera stratne wideo H.264 lub H.265 i stratny dźwięk AAC, więc Twój plik jest niemal na pewno stratny, ale to cecha kodeków, a nie samego MP4.

Dlaczego mój MP4 nie odtwarza się na niektórych urządzeniach?

Rozszerzenie nie mówi odtwarzaczowi nic o kodekach. Plik z wideo H.265 lub AV1 nie otworzy się na sprzęcie, który dekoduje tylko H.264, choć oba pliki są prawidłowymi MP4. Konwersja do MP4 z wideo H.264 i dźwiękiem AAC to opcja o najszerszej zgodności i właśnie ją tworzy ta strona.

Które konwersje MP4 są bezstratne?

MP4 na MOV, MKV i M4V, gdy kodeki w środku są już dozwolone w kontenerze docelowym. Działają one jako kopia strumieni: skompresowane klatki przechodzą nietknięte, a wynikowe wideo jest identyczne bit w bit. Gdy tak się dzieje, zobaczysz komunikat „Skopiowano bez ponownego kodowania”. Wszystko, co zmienia kodek — MP4 na WebM, MP4 na MP3 — musi kodować na nowo.

Czym różnią się MP4, M4A i M4V?

To ten sam kontener z różną umowną zawartością: M4A zawiera tylko dźwięk, M4V to wariant wideo od Apple, MP4 to przypadek ogólny. Zmiana rozszerzenia nie zmienia bajtów, więc niczego nie konwertuje — choć może sprawić, że odtwarzacz źle zgadnie.

Jak duży plik MP4 obsłuży ta strona?

To zależy od tego, na co go konwertujesz, bo limit dotyczy tego, co trzeba trzymać w trakcie pracy, a nie samego wejścia. Wydobycie dźwięku pozwala na komputerze na 2 GB, bo wynik to ułamek źródła; zmiana kontenera pozwala na około 667 MB, bo wynik ma rozmiar wejścia; a na telefonach limitem jest zawsze 512 MB. Powyżej 64 MB plik jest czytany tam, gdzie leży, zamiast kopiowania go do pamięci konwertera, i tylko dzięki temu w ogóle możliwe są pliki wielogigabajtowe. Każde pole przesyłania podaje prawdziwą wartość dla danej pary.

Czy konwersja MP4 tutaj wysyła moje wideo?

Nie. Zarówno demultipleksowanie, jak i kodowanie działają w wątku w tle w Twojej przeglądarce dzięki wersji WebAssembly programu ffmpeg. Otwórz panel sieci przed rozpoczęciem: żadne żądanie nie zawiera pliku.

Dlaczego MP4 na WebM jest o tyle wolniejsze niż MP4 na MKV?

MKV przyjmuje H.264, więc ścieżka wideo jest kopiowana, a zadanie sprowadza się do przepisania pliku. WebM nie przyjmuje ani H.264, ani AAC, więc każdą klatkę trzeba zdekodować i zakodować na nowo do VP8 lub VP9 — to prawdziwa praca kompresji, wykonywana przez Twój procesor.

Czy mogę wyjąć z MP4 nieruchomy obraz?

Tak, i warto wiedzieć, co dostajesz: jedną zdekodowaną klatkę zakodowaną na nowo jako PNG lub JPG. Ponieważ klatka źródłowa jest już stratna, PNG z niej jest bezstratny tylko względem tej klatki, a nie oryginalnej sceny.