Jak trwale naprawić niezsynchronizowany dźwięk (kompensacja opóźnienia)

Problemy z dźwiękiem Ostatnia aktualizacja: Dotyczy: All platforms · VLC 3.0.x · A/V receivers & Bluetooth

Gdy dźwięk dryfuje, zwykłą reakcją jest wciskanie J lub K przy każdym wideo i popychanie czasu z powrotem — nieskończona czynność. VLC ma lepsze narzędzie: ustawienie kompensacji opóźnienia audio, które przechowuje stałe przesunięcie dla wszystkich plików, a nawet pamięta per-plikowe dostrojenia wykonane podczas odtwarzania. Ten przewodnik wyjaśnia trwałą poprawkę, dostrajanie per plik i trzy sprzętowe przyczyny (Bluetooth, amplitunery A/V i soundbary), które sprawiają, że dryft w ogóle występuje.

Dlaczego tak się dzieje?

  • Opóźnienie audio Bluetooth — kodeki Bluetooth (zwłaszcza A2DP/SBC) dodają 100–300 ms opóźnienia kodowania; VLC nie wie o opóźnieniu, więc dźwięk gra wcześniej względem wideo.
  • Przetwarzanie amplitunera A/V — amplitunery z przetwarzaniem lip-sync lub korekcji pomieszczenia (Dolby, DTS) buforują dźwięk, przesuwając go później.
  • Jitter dekodowania akcelerowanego sprzętowo — niestabilny czas dekodowania wideo na niektórych GPU sprawia, że dryft pojawia się w losowych miejscach, co jest gorsze niż stałe przesunięcie.
  • Flagi czasu na poziomie kontenera — niektóre pliki MKV/MP4 niosą błędne listy edycji lub znaczniki czasu; dryft jest wpieczony w sam plik.
  • Uszkodzone preferencje — stara globalna wartość opóźnienia zapisana w konfiguracji wciąż stosuje się do wszystkiego.

Jak to naprawić

Rozwiązanie 1Ustaw stałą kompensację opóźnienia audio

Naprawia stały, przewidywalny dryft między wszystkimi plikami

  1. Otwórz VLC i przejdź do Narzędzia > Preferencje > &Dźwięk.

    Otwierają się ustawienia audio.

  2. Ustaw „Audio delay” (lub „Kompensacja desynchronizacji audio”) na zmierzone przesunięcie, np. 250 ms dla słuchawek Bluetooth.

    Globalne przesunięcie stosuje się do każdego pliku.

  3. Wartości dodatnie opóźniają dźwięk; ujemne przesuwają go wcześniej. Kliknij Zapisz i zrestartuj VLC.

    Odtwarzanie zaczyna się z nowym przesunięciem.

UwagaZmierz przesunięcie, pauzując na wyraźnym ruchu ust i licząc lukę w sekundach, a potem pomnóż przez 1000. Zacznij ostrożnie (±150 ms) i doprecyzuj.

Rozwiązanie 2Dostrój per plik klawiszami J / K i zapisz przesunięcie

Naprawia pliki indywidualnie rozjechane, zachowując domyślne globalne

  1. Odtwórz plik i naciśnij K, by opóźnić dźwięk (później), lub J, by przyspieszyć go (wcześniej) — każde naciśnięcie to 50 ms.

    Synchronizacja poprawia się krok po kroku.

  2. Gdy synchronizacja jest dobra, przejdź do Narzędzia > Synchronizacja ścieżek (lub naciśnij Ctrl+L).

    Panel synchronizacji pokazuje bieżące opóźnienie.

  3. Kliknij prawym przyciskiem wideo > Wideo > Ścieżka napisów > Zapisz synchronizację — VLC zapisuje per-plikowe przesunięcie do swojej bazy multimediów.

    Przesunięcie stosuje się automatycznie przy następnym odtworzeniu tego pliku.

UwagaWartość per plik nadpisuje globalną kompensację tylko dla tego pliku — Twoje ustawienie globalne pozostaje nietknięte.

Rozwiązanie 3Zmniejsz opóźnienie Bluetooth u źródła

Usuwa przyczynę źródłową zamiast ją kompensować

  1. W VLC: Narzędzia > Preferencje > &Dźwięk > „Audio output” → ustaw na „AudioTrack (Android)” lub najniższe-opóźnieniowy moduł dostępny w Twoim systemie.

    Potok audio się zmienia.

  2. Po stronie systemu preferuj kodeki o niższym opóźnieniu: w Windows „AAC”, w macOS „AAC”, albo aptX/LL na obsługujących urządzeniach.

    Opóźnienie spada zauważalnie.

  3. Jeśli używasz soundbara z trybem „Gra” lub „Niskie opóźnienie”, włącz go — te tryby wyłączają buforowanie lip-sync.

    Synchronizacja wraca bez żadnej kompensacji.

UwagaPo zmianie wyjścia audio ponownie zmierz opóźnienie — wartość kompensacji może wymagać korekty.

Rozwiązanie 4Wyklucz sam plik przez remuks

Potwierdza, czy dryft jest wpieczony w media

  1. Remuksuj plik bez ponownego kodowania: ffmpeg -i input.mkv -c copy -map 0 output.mkv.

    Tworzony jest czysty kontener.

  2. Odtwórz remuksowany plik. Jeśli synchronizacja jest teraz stabilna, oryginalny kontener miał zepsute znaczniki czasu.

    Remuksowany plik gra w synchronizacji.

  3. Zatrzymaj remuksowaną kopię i usuń zepsuty oryginał.

    Plik z problemem jest zastąpiony.

UwagaRemuksowanie jest bezstratne — nie traci się jakości. Tylko przebudowuje strukturę kontenera.

Rozwiązanie 5Przywróć domyślne ustawienia VLC

Usuwa uszkodzone ustawienia powodujące awarie, czarny ekran i problemy z dźwiękiem

  1. Zamknij VLC całkowicie.

    Żaden proces VLC nie jest uruchomiony.

  2. Otwórz wiersz polecenia (Win+R → cmd) lub terminal.

    Wiersz polecenia jest dostępny.

  3. Wykonaj: vlc --reset-config (Windows/Linux) — w macOS usuń zamiast tego ~/Library/Preferences/org.videolan.vlc.

    Ustawienia VLC zostają przywrócone do domyślnych.

  4. Uruchom VLC i skonfiguruj ponownie tylko te opcje, których naprawdę potrzebujesz.

    VLC startuje z czystymi ustawieniami.

UwagaTo usuwa wszystkie własne ustawienia (w tym skróty klawiszowe i skórki). Jeśli chcesz mieć kopię zapasową, najpierw wyeksportuj konfigurację w Tools > Preferences > All > Interface.

Zaawansowane naprawy

Rozwiązanie 1Sprawdź bazę multimediów pod kątem starych przesunięć

Znajduje per-plikowe wartości, które wciąż się stosują

  1. Zamknij VLC i usuń bazę multimediów: %APPDATA%\vlc\ml.xspf (Windows) lub ~/Library/Application Support/org.videolan.vlc/ml.xspf (macOS).

    Zapisane per-plikowe przesunięcia zostają wyczyszczone.

  2. Zrestartuj VLC i odtwórz plik ponownie — zapisana wartość synchronizacji zniknęła.

    Plik gra tylko z globalnym przesunięciem.

  3. Zastosuj ponownie per-plikowe dostrojenie tylko, jeśli plik naprawdę go potrzebuje.

    Czysty stan zostaje przywrócony.

UwagaUsunięcie ml.xspf czyści też liczniki odtworzeń i ostatnio odtwarzane — nie rusza list odtwarzania ani preferencji.

Jak tego uniknąć

  • Dla Bluetooth zawsze zmierz ponownie po aktualizacjach oprogramowania lub systemu — zachowanie kodeku się zmienia.
  • Preferuj przewodowe audio (3,5 mm / optyczne / HDMI), gdy precyzja synchronizacji ma znaczenie, np. przegląd montażu wideo.
  • Trzymaj VLC w aktualności: poprawki czasu demuxera pojawiają się w każdym wydaniu 3.0.x (obecna stabilna: 3.0.23).
  • Zapisz per-plikowe przesunięcie podczas odtwarzania dla plików, które regularnie dryfują — VLC je zapamięta.

Częste pytania

Jaka jest różnica między kompensacją opóźnienia audio a klawiszami J/K?
J/K regulują czas w locie dla bieżącej sesji; ustawienie kompensacji to trwałe globalne przesunięcie zapisane w preferencjach. Użyj kompensacji dla stałego dryftu (Bluetooth, amplitunery), a J/K dla jednorazowych plików.
Dodatnie czy ujemne opóźnienie audio — w którą stronę?
Dodatnie opóźnia dźwięk (używaj, gdy dźwięk jest wczesny, typowe przy Bluetooth). Ujemne przesuwa dźwięk wcześniej (gdy dźwięk zostaje w tyle za wideo, częste przy niektórych amplitunerach). Jeśli niepewny, najpierw naciśnij J/K, by znaleźć kierunek.
Dlaczego synchronizacja powoli dryfuje podczas filmu?
Powolny dryft zwykle wskazuje na niestabilny czas dekodowania wideo (akceleracja sprzętowa) lub uszkodzony kontener. Spróbuj wyłączyć dekodowanie akcelerowane sprzętowo i remuksuj plik.
Czy ustawienie kompensacji wpływa na nagrania ekranu lub strumienie?
Stosuje się do każdego odtwarzania, włącznie ze strumieniami i nagraniami. Ustaw z powrotem na 0 przed przechwytywaniem audio lub czymkolwiek, gdzie opóźnienie musi być dokładne.

Podsumowanie

Ustaw stałą kompensację opóźnienia audio — Naprawia stały, przewidywalny dryft między wszystkimi plikami. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.