Oto podobne pytanie dotyczące systemu Windows:
Narzędzie do naprawy niesynchronizowanego wideo z dźwiękiem?
Mam nadzieję rozwiązać ten problem na komputerze Mac.
Próbowałem Handbrake i Avidemux (ten drugi wydaje się mieć opcję - „shift” - aby to naprawić, ale w ogóle nie odtwarza dźwięku, więc nie wiem, czy coś robi!).
macos
video
audio
video-editing
video-conversion
dreeves
źródło
źródło
Odpowiedzi:
Zdobądź kopię FFmpeg. Zobacz na dole tego postu, jak to zrobić.
Niezależnie od tego, czy wideo pozostaje w tyle za dźwiękiem, czy odwrotnie, to nie ma znaczenia. Podstawowe polecenie jest następujące. Przekażemy dane wejściowe dwa razy, co widać po dwóch
-i
opcjach, a następnie opóźnimy jedno wejście i połączymy je z powrotem.Tutaj
offset
jest opóźnienie w sekundach, np .1.5
Lub0.35
. Ta wartość musi być dodatnia, więc jeśli twój dźwięk pozostaje w tyle za filmem, będziemy musieli go zrównoważyć. Jest to pokazane w powyższym przykładzie. Podobnie, jeśli wideo pozostaje w tyle za dźwiękiem, będziemy musieli go zrównoważyć.Jak więc wybrać, czy opóźnić audio czy wideo? Ponieważ opóźniliśmy całość
in.flv
, po prostu wybieramy strumienie audio lub wideo i łączymy je z oryginalnymi strumieniami audio lub wideo. Odbywa się to w-map
opcjach.Zasadniczo
map
ma dwie liczby. Ten przed dwukropkiem określa numer pliku wejściowego (zaczynając od 0), a drugi numer określa strumień pliku wejściowego (również zaczynający się od 0).Aby opóźnić dźwięk, użyj następujących dwóch opcji:
-map 1:0
oznacza: Weź pierwszy strumień z drugiego pliku wejściowego (wideo z oryginalnego pliku)-map 0:1
oznacza: Weź drugi strumień z pierwszego pliku wejściowego (audio z pliku opóźnionego)Odwróć to, jeśli musisz opóźnić wideo:
-map 0:0
oznacza: Weź pierwszy strumień z pierwszego pliku wejściowego (wideo z pliku opóźnionego)-map 1:1
oznacza: Weź drugi strumień z drugiego pliku wejściowego (audio z oryginalnego pliku)Wreszcie
-c copy
po prostu powie FFmpeg, aby skopiował strumienie bitów wideo i audio. Oznacza to, że nie będzie procesu kodowania. To sprawia, że polecenie jest bardzo szybkie i nawet nie stracisz żadnej jakości w procesie. Jeśli jednak wystąpią błędy synchronizacji, należy je pominąć-c copy
i pozwolić FFmpeg ponownie zakodować dane wejściowe.Możesz uzyskać najnowszą stabilną wersję FFmpeg za pośrednictwem Homebrew .
Otwórz terminal i wprowadź:
Zobacz także wymagania instalacyjne . Jeśli tego nie zrobiłeś, musisz zainstalować Narzędzia wiersza polecenia dla Xcode. Do tego potrzebny będzie identyfikator Apple ID.
Po zainstalowaniu Homebrew zainstaluj FFmpeg:
Gdy to zrobisz, możemy użyć FFmpeg, aby naprawić twój film.
źródło