Strona 1 z 1

[Turtorial] Synchronizacja dzwięku (audio/video).

: 02 kwietnia 2008, 23:05
autor: asd
Na początek musicie sobie zdać sprawę dlaczego tak się dzieje, że po rekompresji obraz nie pokrywa się z dźwiękiem?
Otóż dlatego, że często "oryginalne" pliki są cięte (np. wycinane reklamy) a potem drobne braki w synchronizacji ustawiane są ręcznie przez różnego typu programy, które "maskują" błędne kawałki danych.

To co z pozoru wygląda tak:

Obrazek

patrząc z 'perspektywy' wygląda tak naprawdę tak:

Obrazek

(czerwone 'kawałki' są 'zamaskowane' i nie są odtwarzane.
Robiąc więc rekompresję takiego pliku ścieżka video (lub audio) ulega wydłużeniu właśnie o te 'zamaskowane' kawałki.

Obrazek

Powstaje nam więc różnica R

Te 'czerwone kawałki' mogą dotyczyć zarówno ścieżki ćwiekowej jak i obrazu!
Najczęściej występuje jeden taki 'skok', który powoduje, że dźwięk do końca filmu jest zdesynchronizowany - rzadziej dwa.
Raz natrafiłem na taki, który miał kilkadziesiąt - w takim przypadku szkoda czasu - lepiej wtedy zastosować metodę całkowitej rekompresji*

Przypuśćmy, że w naszym przypadku filmu, w pewnym momencie dźwięk przestaje się pokrywać z obrazem co robić?

Po pierwsze sprawdź dokładnie w którym momencie się to dzieje (oglądając film) i zapisz minuty oraz sekundy (z dokładnością do 10 sekund) w którym momencie się to dzieje (najczęściej przy zmianie ujęcia).

Teraz uruchom VirtualDuba, wczytaj do niego nasz plik avi i upewnij się, że oba okienka podglądu są włączone:

Obrazek
Options/Display input video F9
Options/Display output video F10


Wybierz opcje:
Obrazek
Video/Direct stream copy

oraz:
Obrazek
Audio/Direct stram copy

Przypatrz się uważnie paskom narzędzi na dole:

Obrazek

Najważniejsze to:

Obrazek Wskaźnik 'graficzny' (na osi) pokazujący nam w której aktualnie minucie filmu się znajdujemy.

Obrazek Aktualna klatka (Frame) oraz czas w którym akurat się znajdujemy.

Obrazek Przycisk STOP

Obrazek Odtwarzanie 'oryginalnego' pliku.

Obrazek Odtwarzanie 'wyjściowego' pliku.

Obrazek 'Przewijanie' o jedną sekundę.

Obrazek 'Spinki', dzięki którym można zaznaczyć fragment filmu, na którym będziemy pracowali.

No to zaczynamy.

Przypuśćmy, że w naszym przypadku od czasu: 0:08:25 (ósma minuta i 25sek filmu) dźwięk ulega desynchronizacji.

W pierwszej kolejności, używając Obrazek zaznaczmy 'dobry' fragment filmu (od początku filmu do 0:08:25):

Zauważ, że wybrany fragment został podświetlony na niebiesko:
Obrazek

Teraz zapiszmy ten (dobry) kawałek filmu:
File/Save As AVI.. F7
nadając mu nazwę: 'czesc1.avi'

Teraz skupmy się na dalszej części - zaznacz 'resztę' filmu (od 0:08:25 do końca):
Obrazek

Oglądając zdesynchronizowany fragment filmu postaraj się ustalić (w sekundach) o ile dźwięk jest przesunięty oraz w którą stronę? (spieszy czy spóźnia?).

Będziemy teraz synchronizowac obraz z dźwiękiem, tak, żeby oba "wystartowały" w tym samym czasie ale uwaga!
Wcześniej ustaliliśmy, że dźwięk 'idzie' źle od ósmej minuty i dwudziestej, piątej sekundy - nie wiadomo jednak, czy 'spinkami' złapałeś dokładnie moment desynchronizacji - dla pewności więc wsłuchuj się, i synchronizuj obraz z dźwiękiem nie od pierwszej sekundy zaznaczonego fragmentu (a właściwie 0:08:25) tylko np kilkanaście/kilkadziesiąt sekund później!! - nic się nie stanie jak przez np 20sec dźwięk troszkę będzie "rozjechany'.


Jeśli dźwięk 'idzie' wcześniej niż obraz to znaczy, że musimy opóźnić jego start (będziemy wpisywać wartości dodatnie).

Jeśli dźwięk 'idzie' później niż obraz to znaczy, że musimy przyspieszyć jego start (będziemy wpisywać wartości ujemne '-').

W którą więc stronę dźwięk jest przesunięty i o ile sekund?

Przyjmijmy, że dźwięk idzie np o dwie sekundy później niż dźwięk:

Idź do:
Obrazek
Audio/Interleaving... Ctrl+I

i w Dalay audio track by wpisujemy wartość -2000 (minus dwa tysiące):
Obrazek

Teraz użyj przycisku Obrazek żeby sprawdzić czy dźwięk jest już zsynchronizowany.
Tym razem spieszy o około pół sekundy? (przedobrzyliśmy) - zmień wartość na -1500 (minus tysiąc pięset).

Działa już jak należy? sprawdź czy do końca filmu dźwięk pokrywa się już z obrazem. Jeśli tak wybierz opcję:
File/Save as Avi.. F7
nadając mu nazwę: 'czesc2.avi'

(jeśli jednak w pewnym momencie znowu dźwięk się desynchronizuje czynność powtarzasz i zapisujesz kolejny fragment avi, i znowu, i znowu... i tak do końca) - zazwyczaj jednak jest to tylko JEDYNY taki 'przeskok', który desynchronizuje cały film.

Na dysku otrzymaliśmy więc dwa pliki:
'czesc1.avi' i 'czesc2.avi'
Jest to nasz film podzielony na dwie części - pierwszą z dobrym dźwiękiem oraz z drugą,którą poprawiliśmy - włącz je i sprawdź - dźwięk w obu powinien pokrywać się z obrazem.
Musimy je teraz scalić.

Wyjdz z VDuba i otwórz go na nowo.
File/Open video file.. Ctrl+O
Wczytaj do niego nasz pierwszy plik: 'czesc1.avi'


Wybierz opcję:
Obrazek
File/Append Avi Segment..
i wczytaj drugi plik: 'czesc2.avi'


Wybierz opcje:
Video/Direct stream copy

oraz:
Audio/Direct stram copy

A następnie całość zapisujemy na dysk:
File/Save As AVI.. F7
nadajmy mu np nazwe 'wynik.avi'

Proste prawda? :)

: 03 kwietnia 2008, 03:00
autor: Yogi_18
xvidasd pisze:Proste prawda?
Taaa, wszystko jasne :roll:

No nic mam kilka seriali (dokumentalnych) z rozjechanym dubbingiem może kiedyś dzięki temu tutkowi je naprawię :D

: 09 kwietnia 2008, 23:55
autor: asd
W turtorialu jest jeden błąd - poprawię jutro - chodzi o to, że opcje Video/Direct stream copy nalezy wybrac tuz przed zapisem pliku na dysk a nie od razu na początku.

: 28 kwietnia 2008, 18:24
autor: djjasiek
A może mi ktoś wytłumaczy, dlaczego np. w SubEdicie dźwięk mam rozjechany, ale w VD po lewej (czyli input) jest dobrze? Czego to może być wina?

: 02 maja 2009, 20:09
autor: asd
VD potrafi "odbudowac" brakujące bloki (zastąpic je "zerami") natomiast subedit jak i wiekszosc playerów uznaje, że ich nie ma.

: 02 maja 2009, 23:33
autor: djjasiek
Nie ma to jak dobry zapłon (ponad rok) ;)

: 02 stycznia 2011, 21:16
autor: asd
Temat przeniosłem bo ciągle aktualny.