Windows10 WMP rozsynchronizuje obraz od dźwięku


(Klikon) #1

Witajcie! Całą sobotę dłubałem robótkę w edytorze wideo. I zupełnie na koniec tej pracy spotkała mnie niemiła niespodzianka przy próbie odtworzenia tego materiału w Windows10. Okazało się, że na wyeksportowanym materiale czas obrazu płynie znacząco szybciej od czasu dźwięku. Podstawowe odtwarzacze w Windows10 (Windows Media Player oraz aplikacja “Filmy i TV”) pokazują w obszarze czasu upływ czasu szybszy, niż realny (sekundy płyną nierówno i wyraźnie szybciej niż w realu) i analogicznie szybciej zmienia się obraz, ale dźwięk leci zgodnie z czasem realnym.

Aż zrobiłem teraz “na kolanie” krótki i bardzo prosty materiał testowy:

https://drive.google.com/open?id=0B-yk40ATsXHNclB4SmdReHd5X00

Najpierw podejrzewałem o psikusa edytor wideo, ale kiedy otwieram ten sam materiał przez IrfanView albo kiedy odtwarzam go przez przeglądarkę internetową (poprzez kliknięcie w powyższy link) wszystko jest jak należy: dźwięk jest w pełny zsynchronizowany z obrazem (na filmiku piszę i jednocześnie głośno mówię, co piszę, słowo w słowo a nawet literka w literkę).  Również na tablecie obraz jest zgodny z dźwiękiem. Dzieje się tak zarówno przy materiale 25k/s jak i 30 kl/s, na dwóch zupełnie różnych maszynach z Windows 10 (laptop i stacjonarny).

Ten mój powyżej podlinkowany materiał ma raptem 8 MB.  Proszę o pomoc bo nie wiem, w którą stronę “uderzyć”.

Zaznaczam, oglądanie w przeglądarce  (sprawdziłem Firefox oraz Edge) nie pokazuje problemu, problem jest tylko z wbudowanym w system Windows 10 odtwarzaczem pliku (plik musi być pobrany).

Edytor wideo to VSDC Free Video Editor.


(Klikon) #2

Hmm. Okazuje się, że także na Windows 7 jest ten efekt. Teraz pytanie: czy to jest wina kodeków Microsoftu, czy VSDC?


(tomms) #3

 

Obawiam się że klikając w powyższy link przeglądarką nie odtwarzasz materiału oryginalnego tylko już przetworzony przez google. Dopiero jak klikniesz ‘download’ to dostaniesz oryginalny materiał.

 

Coś masz w tym pliku nie tak bo VLC także go nie odtwarza poprawnie, głos jakby przerywał. Wyciągnąłem ścieżki video i dźwięku i skompresowałem przy pomocy ffmpega:

ffmpeg -i test\ synchro\ obrazu\ i\ dźwieku.avi -map 0:0 -codec copy video.mp4

ffmpeg -i test\ synchro\ obrazu\ i\ dźwieku.avi -map 0:1 -codec copy dzwiek.mp3

ffmpeg -i video.mp4 -i dzwiek.mp3 -map 0:0 -map 1:0 -crf 15 test_poprawka.mp4

A tutaj link do pliku: http://tmp.ttmath.org/test_poprawka.mp4

Zobacz czy działa teraz, nie mam pod ręką Windowsa aby sprawdzić.

 

Jak tworzysz materiał h264 to jako kontenera używaj mp4. W przeciwieństwie do avi on ma możliwość zapisywania dodatkowych indeksów dla strumieni.


(Klikon) #4

Tomms, wielkie dzięki. Dobry trop - co prawda VSDC nie ma opcji eksportu do mp4, ale jest możliwość eksportu do mkv. W tym kontenerze odtwarza się poprawnie.
Edit: VSDC ma opcję eksportu do mp4.