front_left
center
front_right
Untitled Document

Problémy s přehráváním AC-3

Všechny problémy se dají shrnout do dvou oblastí a to buď zvuk nejde vůbec a nebo dochází k synchronizačním chybám, cukání a podobně.

1) Nefunkční zvuk

Základní vadou je, že SB Live (a jeho oficiální ovladače pro Win 98 SE) není schopen přijmout digitální (SPDIF) zvuk na zařízení DirectSound a ani již dekódovaný šesti kanálový zvuk. Podobný problém se prý vyskytuje i u některých dalších 5.1 zvukových karet u ovladačů, které nejsou psány jako WDM. Četl jsem i o spekulacích, že tato chyba se vyskytuje u SB Live! jen u VXD ovladačů a ve WDM ovladačích je již odstraněná. Mě se toto se starými ovladači nepodařilo rozchodit ani na Windows XP! Je nutné si stáhnout nejnovější SBLiveDrvPack (cca 50 MB) a tyto ovladače již podporují co mají, tedy jak SPDIF, tak šestiknalálový zvuk.
Pokud byste potřebovali rozchodit AC-3 zvuk na Windows 98, případně na starších SB Live! ovladačích, je tedy nutné Direct Show říci, že nemá pro výstup zvuku používat zařízení DirectSound, ale WAVE, na kterém jako jediném zařízení jsou starší ovladače SB Live! schopny přijímat digitální zvuk SPDIF. Tuto změnu stačí provést pouze jednou a Windows si jí už pamatují, nicméně je to procedura dost složitá. Jde o nastavení vyšší priority pro WAVE DEVICE v registru Windows. Nutno změnit u zvukového zařízení jediný byte viz tento obrázek 08 (hexa) znamená vysokou prioritu (nutno nastavit pro Wave device) a 02 (hexa) znamená naopak nízkou prioritu (nutno nastavit u DirectSound device) Po restartu PC se bude zvukový výstup filmu defaultně přehrávat na zařízení s nejvyšší prioritou, tedy v tomto případě na WAVE. Nejelegantnějším řešením je použití časovacího filtru ReClock, který jako vedlejší produkt umí posílat zvuk na zvukové zařízení dle přání uživatele.
Máme li tedy nastaven pro výstup zvuku SB Live - WAVE OUT, tak u něj už není problém s příjmem SPIDIF a dekódováním zvuku, tedy samozřejmě za předpokladu, že v ovladačích máme povoleno AC-3 DECODE. Opět připomínám zapomeňte na příjem již dekódovaného šestikanálového zvuku. To neumí ani zařízení Wave na starších ovladačích SbLive!

2) Synchronizační chyby

Než začnete řešit proč se vám obraz cuká či hraje trhaně, podívejte se na rychlost procesoru. Je nutné si uvědomit, že dekódování AC-3 je časově náročný proces. Teoreticky je to jako 3 souběžně dekódované stereo MP3, ale v praxi to tak náročné není, protože AC-3 mívá bitrate kolem 220 - 384 kbps. Obzvláště použijeme-li zvukovou kartu, která umí dekódovat hardwarově, odlehčí to procesoru. V případě SB Live! 5.1 je to spíše reklamní trik, že než opravdové hardwarové dekódování, což je možné si prakticky ověřit nějakým softwarovým měřičem zatížení procesoru. Nicméně na frekvencích PC cca 800 MHz a více by již neměly být problémy a případné chyby v synchronizaci budou způsobeny něčím jiným.
Velmi dlouho jsem pátral čím může být způsobeno cukání videa či zvuku na rychlých počítačích a jde tu o chyby naprosto nevyzpytatelné projevující se zcela různě i na různých konfiguracích počítačů a samozřejmě i software. Pokud i vy takto bádáte, pak vězte, že nepřesnosti jsou i přímo v hardware! Jelikož se jedná o nedokonalé časování přímo na základní desce, ve zvukové kartě a videokartě, tak proto s tím vlastně nelze bez speciálního software nic udělat. Někdo má prostě štěstí, že mu filmy s AC-3 zvukem fungují jak mají a pak vymění například zvukovou kartu a je po plynulosti. Dalším obrovským problémem jsou filmy s FPS 23,9 případně jiným framerate než 25, které chcete přehrávat na televizi, pomocí TV OUT vaší VGA karty. U těchto filmů je nutné zrychlit přehrávání na 25 FPS aby nedocházelo k synchronizačním chybám s televizním výstupem, který je u nás v normě PAL. U stereo filmů se toto dá řešit kodekem DivX G400, jenomže tento software způsobuje u AC-3 filmů obrovské problémy. Proto jediným a snad už i konečným řešením všech těchto problémů najednou je filtr ReClock, který je ke stažení zdarma. S ním je nejen možné libovolně zrychlovat a zpomalovat přehrávání ale zároveň umí vyrovnávat sychronizační chyby vzniklé nepřesnostmi v časovačích na zvukové kartě a základní desce. Pokud chcete přehrávat DivX film s AC-3 zvukem, který má 23,9 FPS zrychleně na 25 FPS pomocí filtru ReClocku, je nutné nastavit v AC-3 dekodéru že má dekódovat a nepoužívat SPDIF. Pokud totiž do ReClock filtru pošle již dekódovaných 6 zvukových stop, tak on je resampluje přesně na potřebnou frekvenci. Pokud přes něj procházejí pouze bloky digitálních SPDIF dat, tak nemůže udělat nic jiného, než mezi ně vložit nepatrné časové prodlevy tak, aby se udržela zrychlená synchronizace. To se samozřejmě projeví při poslechu více či méně patrným praskáním. Je to tedy smutné, ale máte li domácí kino se TV výstupem z PC do TV a samostatným zvukovým dekodérem, tak jej můžete použít pro filmy, které mají pouze 25 FPS a u ostatních je nutné zvuk dekódovat již v PC a do domácího kina vést již 6 samostatných kanálů. Nebo se smířit s cukáním obrazu a obávám se, že podobný problém nastane i v případě přehrávání originálního DVD.

rear_left
rear_right