Poprawianie płynności w
filmach Divx
Artykuł
napisany przez Mike. Wszelkie prawa zastrzeżone., wiecej
przeczytasz na divx.pl
Oprócz opisanych tu sposobów dobrze jest najpierw zdefragmentować partycję,z której odtwarzamy film.
Jest parę przyczyn, które powodują, że nawet na porządnym
sprzęcie typu Celeron, czy Duron, odtwarzanie Divx'ów nie jest
płynne. Jeśli tak się dzieje w większości filmów jakie
posiadamy, należy najpierw sprawdzić konfigurację komputera.
Okazuje się, że zainstalowanie podwójnych kodeków wpływa na
pogorszenie się płynności - tak dzieje się np. po
zainstalowaniu pakietu Angelpotion. Najlepszym rozwiązeniem, żeby
się o tym przekonać - proponuję zainstalować sobie drugiego
Windows'a w innym katalogu. Bez żadnych dodatków, tylko czysty
system, nowe drivery do karty graficznej, najbardziej aktualną
wersję DirectX, kodek Divx;), oraz UWAGA: Windows Media Player 6.4,
nie wersję 7.0 która jak się okazuje zamiast polepszyć
odtwarzanie, powoduje dużo innych problemów. W ten sposób
rozwiązałem swoje problemy z przeskakującymi filmami. Trzymać
się zasady - nie instalować niepotrzebnego oprogramowania,
naprawdę najlepiej mieć Mplayera 6.4, który bardzo dobrze współpracuje
z wersją 3.11 kodeków Divx.
Drugą przyczyną, która powoduje skakanie filmów jest
konfiguracja dekompresora. Po włączeniu filmu w Media Playerze
i naciśnięciu prawego przycisku myszy otwieramy menu Properties,
zakładkę Advanced, i wybieramy opcję Properties przy
zazanaczonym kodeku DivX MPEG-4 DVD Video Decompressor. Powinno
ukazać się okienko:

Ustawienie paska jakości powinno być w pozycji "0".
Jak pisze MaZ, przy PentiumIII 800Mhz przy ustawieniu jakości na
max - "4" - film skacze! Ustawienie wartości większej
niż '0' na niezbyt mocnym sprzęcie spowoduje, że obraz będzie
skakał, a poprawienie jakosci będzie niezauważalne!
Trzecia przyczyna - niektóre karty graficzne nie mogą
zainicjalizować trybu OVERLAY przy rozdzielczościach obrazu które
nie dzielą się bez reszty przez 16 lub 32 (problem ten mają
niektóre karty np. ATI i Matrox). Bez overlay'u film ma niewygładzone
kontury, wyraźne przejścia między kolorami i bardzo szarpie.
Jest parę sposobów na obejście tego problemu:
1) można zmienić rozdzielczość filmu - należy wykorzystać
filtr Resize w VirtualDub. Niestety konieczna jest rekompresja,
co wpłynie na pogorszenie jakości obrazu.
2) Dużo lepszym rozwiązaniem jest zainstalowanie filtru Vobsub.
Filtr ten posiada opcję dynamicznego dodawania pikseli tak aby
odtwarzany film miał rozdzielczośc podzielną przez nieszczęsne
32 (wystarczy ustawić opcję automatycznego wgrywania Vobsub za
każdym razem i zaznaczyć funkcję "MOD32fix"). Żeby
w ogóle po raz pierwszy odpalić VobSub'a umieść w katalogu z
filmem plik "srt" z napisami (opis VobSub jest w
osobnym artykule). Jeżeli to było przyczyną skoków - to
problem powinien zniknąć.
Czwarta przyczyna - jedna z częstszych - leży w złym wykonaniu
filmu divx. Prawdopodobnie osoba która rippowała film nie zwróciła
uwagi na nieprzyjemną właściwość kompresora MP3 (Fraunhoffer),
który ma tendencje do desynchronizowania filmu. Fraunhofer-IIS
jest na tyle leniwy, że niedokładnie ustawia sobie bitrate. Na
przykład dla strumienia 48kHz z bitratem równym 6000 bitów/sek
właściwa wartość kodowanego strumienia wynosi 5971 bajtów/sek!
Ta róznica (dokładnie 0.0048 %) nie wydaje się być duza, ale
powoduje że na każde 200 sekund filmu desynchronizacja wynosi 1
sekundę. Radą na pozbycie się tej wady jest przerzucenie się
z kodowania dźwięku MP3 na AC3, jednak jest to rozwiązanie
tylko dla filmów qdivx - ponieważ nie ma szans, aby na jednej płycie
zmieścił się dźwięk Dolby Digital i zachowana była
przyzwoita jakość obrazu.
Aby poprawić synchronizację należy przeprowadzić następujące
czynności:
1. Wczytać film do VirtualDUB.
2. Otworzyć okno [Video/Frame rate] i sprawdzić według
poniższego obrazka czy wartości A i B są różne.

Jeśli jest różnica między tymi wartościami to film jest źle
zsynchronizowany i będzie przeskakiwać tym bardziej im większa
jest różnica.
Rozwiązaniem jest wybór opcji zaznaczonej kolorem żółym na
powyższym obrazku - czyli "Change, so video and audio match".
Kolejnym krokiem jest ustawienie funkcji INTERLEAVING:
1. Otwieramy okno [Audio/Interleaving] i w polu "Interleave
audio every ...." wpisujemy wartość 250 ms (zanaczamy
"ms" zamiast "frames"). UWAGA: dla filmów z
dźwiękiem AC3 DOLBY DIGITAL wartość ta musi być NIŻSZA - na
poziomie ok. 50-100 ms, w zależności od bitrate ac3 (dla 192
kbps stereo AC3 może być większa - ok. 160 ms).
W przypadku gdy nie stosuje się opcji Interleavingu dekoder
video MUSI CZEKAĆ kolejną porcję dźwięku - a to powoduje 'skakanie'
filmu.
Po ustawieniu w/w opcji należy zapisać film, ustawiając wcześniej
opcje "Direct stream copy" zarówno dla Video jak i
Audio.
Nowe informacje:
Kolejne sposoby, które mogą poprawić płynność odtwarzania
filmów divx:
1. Po wczytaniu filmu w Media Player 6.4 należy z górnego
menu wybrać opcję Video/Options:

2. W polu oznaczonym Video/Hardware acceleration znajduje
się slider (oznaczony literą "A"):
3. Przestawiamy slider z pozycji "4" na pozycję
"2", tak jak to widać na poniższym obrazku:

W niektórych konfiguracjach systemu ten prosty zabieg może
poprawić płynność filmów. Natomiast na niektórych kartach
graficznych powoduje on efekt "ścinania" klatek, który
nieco pogarsza komfort oglądania filmu.
Kolejny sposób to wykorzystanie playera o nazwie BSPlayer.
Posiada on alternatywny filtr DirectShow dla Divx, co w niektórych
konfiguracjach może poprawić płynność odtwarzania. Ponadto
player ten nie zatrzymuje się na uszkodzonych klatkach! Ostatnia
wersja potrafi także odtwarzać film z dźwiękiem AC3 - Dolby
Digital.
Player jest do ściągnięcia w dziale Download.