Praktyczne wskazówki

Konwersja M3U8 do MP4: FFmpeg, VLC i typowe błędy

Zapisz plik lub URL M3U8 jako MP4: kopiowanie strumieni, H.264/AAC, VLC oraz sprawdzanie dostępu i dźwięku.

Aktualizacja

M3U8 to lista odtwarzania, a MP4 to kontener na wideo i dźwięk.

Edytor nie otwiera M3U8 nawet po zmianie nazwy na MP4? Najpierw sprawdź dostępność wskazanych segmentów. Instrukcja dotyczy zakończonego źródła HLS, które posiadasz lub możesz zapisać.

Odróżnij listę od segmentów wideo

M3U8 to zwykle tekstowa lista segmentów HLS, nie sam film. Może wskazywać inne jakości lub osobną listę dźwięku. Zmiana rozszerzenia na .mp4 nie tworzy danych wideo.

Lista i wskazane zasoby muszą być dostępne. Lokalnie potrzebne są też .ts, .m4s i pliki inicjalizacyjne. Zachowaj układ folderów dla ścieżek względnych. Instrukcja dotyczy zakończonego źródła, nie nagrywania transmisji na żywo.

Najpierw spróbuj kopiowania strumieni FFmpeg

Najpierw uruchom ffmpeg -version w nowym terminalu. Jeśli nie znaleziono polecenia, sprawdź instalację i ścieżkę programu. Przykład wybiera pierwsze wideo i pierwszy dźwięk, niekoniecznie najlepszą jakość lub język. Wideo bez audio tworzy niemy MP4. Lista wyłącznie audio wymaga innego polecenia; napisy i pozostałe ścieżki nie są dołączane.

-c copy zmienia kontener bez ponownego kodowania, unikając kolejnej generacji strat. Nie odzyskuje segmentów ani nie poprawia kodeków niezgodnych z MP4. Używaj tylko dozwolonych ścieżek lub URL; spacje i parametry pozostaw w cudzysłowie. +faststart przenosi metadane MP4 na początek, ułatwiając rozpoczęcie odtwarzania. Nie zwiększa prędkości pobierania z sieci.

  1. Otwórz terminal w folderze docelowym. Dla lokalnej listy przygotuj kopię wraz z segmentami, zachowując pierwotny układ folderów.
  2. Podstaw rzeczywistą ścieżkę lub URL listy i wybierz nową nazwę wyjścia.
  3. Uruchom kopiowanie i sprawdź błędy oraz odtwarzanie.
Zapis MP4 bez ponownego kodowania
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c copy -movflags +faststart "output.mp4"

Przekoduj dla zgodności lub użyj VLC

Jeżeli urządzenie nie odtwarza kopii, wypróbuj H.264 i AAC. Polecenie wymaga libx264 i AAC w FFmpeg. Kodowanie trwa i może zmienić jakość lub rozmiar; zachowaj oryginał. To przykład dla zwykłego SDR; mapowanie tonów HDR na SDR wymaga osobnych ustawień.

Kodowanie dla zgodności: H.264 i AAC
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart "output-compatible.mp4"

W Windows VLC zwykle prowadzi przez Media → Convert/Save, wejście Network, profil i cel. Profil może nazywać się H.264 + MP3 (MP4); AAC i nazwy zależą od wersji. Menu macOS jest inne.

  1. Znajdź Media → Convert/Save i kartę Network.
  2. Podaj URL M3U8 i wybierz Convert.
  3. Sprawdź profil MP4 i nowy plik docelowy .mp4.
  4. Wybierz Start i otwórz wynik. Przy innej wersji sprawdź jej oficjalną pomoc.

Oddzielnie sprawdzaj 403, 404 i brak dźwięku

Dla 403 sprawdź uprawnienia i wygaśnięcie; dla 404 zmieniony lub usunięty adres. Przy błędzie segmentu sprawdź ścieżkę i inicjalizację. Przeniesienie folderu też zrywa odwołania. Kodowanie nie zastąpi brakujących danych.

Przy ciszy sprawdź audio, osobną listę i wybraną ścieżkę. Pierwsza nie musi mieć właściwego języka. Korzystaj z dozwolonych aktualnych źródeł lub oficjalnego pobierania. Przy DRM i ograniczeniach wybierz zapis wspierany przez usługę.

Sprawdź telefon, wysyłanie i gotowy plik

Na telefonie najpierw poszukaj oficjalnego pobrania lub trybu offline. Sprawdź, czy konwerter online potrzebuje segmentów i wysyła pliki lub URL na serwer. Przeczytaj zasady przetwarzania przed podaniem prywatnego filmu czy uwierzytelnionego linku.

Odtwórz początek, środek i koniec z dźwiękiem i porównaj długość. Lista live bez znacznika końca może sama nie zakończyć działania i nie odzyska starych usuniętych fragmentów. Wybierz zakończone VOD. Demo używa naszego krótkiego, ukończonego HLS.

Sprawdzenie wyniku: strumienie i długość Zastąp output.mp4 nazwą rzeczywiście zapisanego pliku. Przykład kodowania tworzy output-compatible.mp4.
ffprobe -v error -show_entries format=duration:stream=codec_type,codec_name,width,height -of json "output.mp4"
Ten MP4 zapisano z naszego krótkiego przykładu HLS. Odtwórz go i sprawdź długość oraz dźwięk.

Porównaj długość i odtwórz początek, środek oraz koniec z dźwiękiem. Udostępnij sprawdzony MP4, a listę i segmenty zachowaj do końca kontroli.

Narzędzia

Źródła

W oparciu o dokumentację publiczną; nie jest to pełny audyt funkcjonalny lub audyt bezpieczeństwa.

Wszystkie poradniki →