jelleeelco schreef op zondag 22 februari 2009 @ 17:08:
Hallo,
Na het uitgebreid lezen (en overtuigd een HTPC te gaan bouwen na slechte ervaringen met Conceptronic CFULLHDMA en NMTs, met name over netwerk), stuitte ik op sommige problemen die jullie hebben mbt sync van geluid en audio.
Ik ben van plan een HTPC te gebruiken voor DVDs en HD materiaal (1080p en 720p). Dit alles aangesloten op Pioneer 6090 plasma. Geluid via optisch/coax naar (oude) 5.1 DTS versterker.
De hardware kant kom ik wel uit, maar voor dat ik het allemaal koop wil ik zeker zijn dat het ook werkt! Maar ik snap niet goed hoe jullie verschillende films afspelen: met MCE-HC, CoAVC of XP Mediacenter? Ik neem geen tv kaart, hoef niet op te nemen. Puur en alleen afspelen van films in allerlei formaten.
Of liever een media streamer naar mijn server? Als het geluid goed is met beeld, heb ik liever een HTPC...iemand die hier zekerheid / advies over kan geven?
Alvast enorm bedankt!
Jelle
Hier staan eigenlijk alle problemen waar je tegen aan gaat lopen (Lipsync, Verschillen in clocks):
|sWORDs| schreef op dinsdag 10 februari 2009 @ 14:21:
[...]
Verder zie ik nogal wat discussies over het vloeiend afspelen van media. Haperingen worden over het algemeen veroorzaakt door diverse oorzaken:
- Films die zijn opgenomen met 24 beelden per seconde waarbij de beweging te groot is om onze ogen te foppen.
- Decoder niet snel genoeg.
- Niet lineair verschil werkelijke beeldscherm frequentie en frames in film.
- Clock verschillen audio/video/scherm.
Oplossingen:
1) Hier kun je niets aan veranderen, de filmer had hier rekening mee moeten houden bij het maken van de film. Een oplossing is het maken van tussenliggende frames, iets wat Pioneer en de duurdere Panasonic tv's doen. Windvd schijnt dit ook te kunnen.
2) Andere decoder/renderer/hardware offloading/snellere cpu gebruiken.
3) Zet de frequentie van je videokaart gelijk met de media of in een zo goed mogelijke vermenigvuldiging (reclock lost de kleine verschillen die je dan over hebt wel op. 23,976<24). Let hierbij op dat het scherm sommige frequenties misschien wel kan weergeven via een pulldown methode (voorbeeld 24p op Panasonic 7 en 8 serie), dan is de werkelijke frequentie nog steeds niet correct. Mijn beamer heeft gelukkig native ondersteuning zonder pulldown en ik gebruik RunEvent.vbs met Reclock Filter welke de frequentie naar 24Hz veranderd bij 24p en naar 50Hz voor PAL en 60Hz voor NTSC.
4)De standaard reference clock van Directshow is de Microsoft sound renderer, dit terwijl voor echt vloeiende beelden beter de clock van video gebruikt had kunnen worden. Verder staan niet alle clocks in je pc echt gelijk. Oplossing voor beide is Reclock Filter, deze kan de pitch van de audio aanpassen (of nog beter audio timestretching gebruiken).
Hiernaast kun je nog tearing en vsync (wanneer deze op hetzelfde moment als het aanmaken van een frame valt) problemen hebben, deze zijn op te lossen door EVR renderer, Mediaplayer Classic HomeCinema of Reclock Filter VSYNC tools te gebruiken.
Reclock filter werkt niet correct met Vista Media Center en niet op 64bit (wel op een 64bit OS, zolang de player 32bit is. Reclock filter werkt niet zo precies bij hardware offloading. Reclock filter werkt alleen goed met SPDIF als de frequentie een exacte waarde of vermenigvuldiging is. (voorbeeld 59,94 Hz bij NTSC) Dit omdat bij SPDIF het alleen mogelijk is een pakket te droppen of repeaten en dit maar erg minimaal kan zonder dat dit hoorbaar is. (24p op 25 of 50Hz vloeiend weergeven is dus niet mogelijk met SPDIF, 23,976 op 24 of 60Hz dus wel, echter heb je bij 60Hz wel weer andere problemen door de 2,5x).
Lipsync (audio loopt niet geheel synchroon):
Als je geluid niet door je weergave apparaat (Tv/Beamer etc) gaat maar direct naar een versterker dan krijg je een vertraging in je video doordat het weergave apparaat het signaal eerst verwerkt. HDMI 1.3 apparatuur lost dit op door vanaf het weergave apparaat de vertraging door te geven aan de versterker. PC's doen dit niet (ook niet via HDMI 1.3). Dit kun je handmatig doen als je versterker audiodelay ondersteunt. Met de hand de delay bijstellen is bijna niet te doen. Je kunt een crt monitor als tweede scherm aansluiten en een timer op beide schermen draaien. Door nu een foto te maken waar beide schermen op staan kun je de vertraging berekenen. Let wel dat de vertraging vaak anders is op verschillende resoluties, je zou verschillende delay's onder verschillende usermodes kunnen zetten als je versterker dit kan. Verschillen kleiner dan 20ms zijn niet waar te nemen. Mocht het verschil tussen de resoluties dus kleiner zijn dan kun je ook een gemiddelde nemen. Sommige imageprocessors (Pixelworks) zijn zo snel dat ze nauwelijks meer dan 20 ms kosten.
Mocht je versterker zelf een scaler hebben dan kun je deze ook voor het upscalen gebruiken waardoor er geen verschil meer in de delay tussen de verschillende resoluties zit. Zo is 1 delay zetten voldoende.
Lage zwartwaardes/overbelicht beeld in MediaPortal:
16-235 -> 0-255 fix
[
afbeelding]
Dan je vraag met betrekking tot de player, codecs en UI, belangrijk is dat je eerst deze uit elkaar haalt.
CoreAVC is een Codec
MediaPlayer Classic HomeCinema is een Player met Codecs en Filters
Windows Media Center is een UI welke Media Player als Player gebruikt.
Elke Player, Codec, UI, Renderer en Filter heeft zijn eigen voor en nadelen. Je hebt een codec nodig voor elk video en audio codec die je wil afspelen.
Players:
Video Codecs:
FFDShow - Ondersteuning voor bijna alle formaten, veel instel mogelijk, hoge kwaliteit. Heel zwaar op CPU.
CoreAVC - Goed in softwaredecoding (en tegenwoordig ook met CUDA, maar dat geeft nog problemen) maar lagere kwaliteit. Alleen H.264/MPEG-4 AVC.
MediaPlayer Classic HC Codecs - DXVA (HA) ondersteuning + hoge kwaliteit.
PowerDVD - DXVA, audio downsampled indien protected
Audio Codecs:
UI's:
Media Portal - Lastig in te stellen, codec's + player + filters instelbaar
XP Media Center - Lastig Codecs instellen, niet alle filters doen het, renderer niet aan te passen
Vista Media Center - Lastig Codecs instellen, niet alle (reclock) filters doen het, renderer niet aan te passen
Video Renderer:
DirectDraw Overlay - DXVA DirectDraw
VMR7 - Direct3D 7
VMR9 - Direct3D 9
VMR Renderless - Direct3D 7 en 9, kan interne subs weergeven
EVR - DX9, Vista
EVR Custom - DX9, Vista, kan interne subs weergeven
Audio Renderer:
WaveOut - pre win2k
DirectSound - Momenteel best werkend op win2k en nieuwer
XP Kernel Streaming - De laag boven DirectSound en WaveOut
Windows Audio Session API (WASAPI) - Eigenlijk de vervanger van Kernel Streaming in Vista
Reclock - DirectShow gebruikt DirectSound als standaard clock, voor vloeiend beeld heb je liever de videoclock als standaard clock, de reclock renderer lost dit voor je op. Eigenlijk een Renderer die weer doorgeeft aan een andere Renderer (DirectSound/WaveOut/Kernel Streaming en misschien in de toekomst WASAPI).
Filters:
Reclock Filter - Voor het goed zetten van clocks
AC3 Filter - Voor het encoden naar AC3 spdif
FFDShow Filters - Voor het encoden naar AC3 spdif, en ongeveer alle beeld kwaliteits filters
MPC HC Filters - beeld kwaliteits filters die zelfs op de shaders van je videokaart kunnen draaien
offtopic:
De rest vul ik morgen nog aan, nu eerst even eten
[
Voor 13% gewijzigd door
|sWORDs| op 22-02-2009 18:53
]