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.