kvalitet, omhu, vellyd
- ingen kompromisser

HD-HTPC.DK

High Definition Home Theatre Personal Computer

Perfekt afspilning af film med MPC-HC

Version 6.01 - december 2017

1. Indledning

Denne guide demonstrerer hvordan kan afspille Matroska filer bedst muligt i MPC-HC.

Guiden understøtter alle gængse formater, herunder rips af:

2. Princippet i denne guide

3. Afspilning

3.1. Operativsystem

Windows 7 er gennemtestet i denne guide.

Man bør slå unødvendige services og automatiske opdateringer fra. Mere info om services findes på blackviper.com.

3.2. Hardware og drivers

En moderne quad core processor er kraftig nok til at afspillle 2K (Full HD) uden hardwareaccelleration.

For afspilning af 4K UHD kræves noget mere processorkraft. Ikke testet denne guide.

Et moderne grafikkort fra nVidia eller ATI/AMD kan lave aflaste processoren betydeligt ved at dekode filmen på grafikkortet. Det kan Intels onchip grafikkort i teorien også, men der er problemer med driverunderstøttelsen, software og output af 10-bit farver.

Grafikkortet skal have DVI, HDMI eller Displayport udgang. Der findes adapters som kan konvertere mellem formaterne.

RAM er mindre vigtigt, 1 Gb er fint.

Ordentlige drivers til alle systemets enheder er en absolut nødvendighed. Hvis en enkelt driver ikke svarer hurtigt nok, vil der kunne komme små irriterende hak og forstyrrelser i musikken og drop-outs i filmen. Oplever man disse problemer bør man køre programmet DPC Latency Checker (kun Windows 7) og følge vejledningen på siden.

Selvom de nyeste drivere er okay, kan man stadig opleve problemer. Et typisk problem er konflikt mellem to drivere hvis hardware deler irq/interrupt. Det kan være lydkort+netkort, lydkort+harddisk controller, lydkort+usb o.l. Har man internt lydkort kan man flytte det til en anden indstiksport på bundkortet, da det ofte ændrer irq/interrupt. Har man usb lydkort bør man prøve de andre usb porte. Man kan også gå på oplevelse i bios til bundkort og slå avancerede features fra; der kan være konflikter her med features som kun virker ordentligt med visse operativsystemer.

3.3. Software

Følgende gratis software benyttes:

3.3.1. madVR

madVR installeres således:

3.4. Typiske problemer

Perfekt afspilning af video er en udfordring for selv den hurtigste computer. Nedenstående er typiske problemer, som denne guide prøver at løse.

(Engelske betegnelser benyttes, da de er svære/meningsløse at oversætte).

Tearing: Billedet bliver ikke opdateret hurtigt nok. Øverste og nederste del af billedet tilhører hver sin frame. Mere info.
Problemet løses med madVR exlusive fullscreen mode.

Buffer underrun: Harddisken/netværket kan ikke levere data hurtigt nok og filmen begynder at hakke. Dette kan skyldes, at disken er slemt fragmenteret, at andre programmer pludselig får lyst til at lave noget, eller at disken vågner fra standby mode efter pause.
Problemet løses med bufferkø i madVR.

Frame drops: Computeren kan (kortvarigt) ikke dekode filmen hurtigt nok og undlader at vise nogle frames. Dette giver nogle grimme ryk i billedet.
Problemet løses ved at rette kombination af software, filtre og renderers.

Forkert output range: Billedet er enten for mørkt og mangler detaljer eller for lyst med udvaskede farver. Problemet opstår ved afspilning af filmen og kan ikke løses ved at stille på skærmen.
Problemet afhjælpes ved at vælge rette output range i MPC-HC.

Refresh rate/fps sync: Filmens frame rate stemmer ikke perfekt overens med grafikkortets refresh rate. Computeren har derfor en frame i over- eller underskud en gang imellem, som den så smider væk eller gentager forrige.
Eksempel: Filmen er i 23,976 fps, mens grafikkort kører med 24,001 fps. Dette giver et underskud på 0,025 fps (tv har en 1 ekstra frame at vise hvert 40. sekund). Dette gøres ved at gentage den sidste frame, som så giver et lille ryk i billedet. Selvom den ekstra frame kun bliver vist i 42 ms kan det tydeligt ses - specielt i en panorerende scene.
Problemet løses med Sync Renderer eller ReClock jf. næste afsnit.

3.5. Synkronisering

Hvis filmens frame rate ikke stemmer perfekt overens med grafikkortets refresh rate kommer billede og lyd hurtigt ud af sync. De fleste software afspillere løser dette problem ved at droppe eller gentage en frame en gang imellem. Sker det i en langsom scene lægger man ikke mærke til det, men i en hurtig eller panorerende scene ødelægges oplevelsen.

Hardware afspillere har ikke dette problem, da de kan kontrollere videoens hastighed præcis og lader skærmen tilpasse sig.

Men på en htpc er det grafikkortet refresh rate, som bestemmer. Grafikkortet får oplysninger fra skærmen om hvilke opløsninger, der undestøttes og den tilbyder ikke andre refresh rates. Hvor vidt grafikkortet kan reproducere de helt korrekte refresh rates varierer fra kort til kort. Der er også en del skærme, som sender forkert information om hvilke refresh rates de understøtter.

Hvis vi ikke kan justere billedets til at passe perfekt til lyden, så må vi justere lydens istedet.

Sync Renderer løser problemet ved hjælp af Windows timestretching. Det bør virke med alle analoge tilslutninger og visse digitale interfaces, såsom Musical Fidelity V-Link. Men de fleste spdif/adat tilslutninger virker ikke. Sync Renderer virker problemfrit med alle formater undtagen UHD med HDR, hvor farverne bliver udvasket.

madVR er en anden video renderer som giver korrekte HDR farver med UHD. Almindelig dvd opskaleres måske lidt pænere end Sync Renderer. Synkronisering af billede og lyd sker med ReClock, som er en audio renderer.

Det må være op til læseren af vælge imellem Sync Renderer og madVR + ReClock.

Denne guide benytter madVR + ReClock. For Sync Renderer refereres til gammel version af guiden.

3.6. Installation og opsætning

Screen Resolution

Skærmens opløsning skal sættes til den opløsningen, som den er designet til. Dette er typisk 1920x1080 for full hd.

Refresh Rate

For at få flydende afspilning af film, er det en absolut nødvendighed, at skærmen opdaterer billedet synkront med filmen. Det kræver, at man ved hvad man afspiller, og ændrer refresh rate derefter.

Langt de fleste film og større tv serier er historisk set skudt på 35mm celluid med en hastighed på 24 billeder i sekundet. De 24 billederne i sekundet har overlevet den digitale revolution, og langt de fleste blu-ray skal afspilles ved denne hastighed, dog med den tekniske finurlighed, at det skal ske 1‰ langsommere, alstå 23,976 billeder i sekundet.

Grafikkortets refresh rate skal derfor næsten altid sættes til 23,976 Hz (hvis muligt, bemærk at Windows kalder 23,976 Hz for 23 Hz). Ellers må det sættes det så tæt på 24 Hz eller et multiplum deraf (48, 72, 96, 120, ...).

Undtagelser fra 23,976 Hz reglen er "billige" tv serier skudt med videokamera og nyere serier skudt med digitalt hd kamera i f.eks. 25 fps. Der er også en del europæisk producerede titler, som kører rent 24,000.

MPC-HC

Kun 32-bit versionen kan benyttes med ReClock.

Start filmen i fuld skærm:
Automatisk skift af refresh rate:
Vælg madVR video renderer

Åbn madHcCtrl.exe fra afsnit 3.3.1.

Der er et utal af andre valgmuligheder man kan eksperimentere med.

For 10-bit farver (jf. afsnit 3.10):

Vælg ReClock

Kræver 32-bit MPC-HC.

LAV Audio Decoder
LAV Video Decoder

Korrekt Output Range

Der findes to slags skærme: Computer monitors og TV. De forventer video data i forskellige formater: 0-255 og 16-235 - også kaldet pc-levels og video-levels.

På computer monitors er sort RGB (0,0,0) og hvid (255,255,255).

På TV er sort RGB (16,16,16) og hvid (235,235,235). Alt hvad der ligger under og over de to tal, sortere end sort/hvidere end hvid, bliver vist som rent sort og rent hvid. TV kan altså vise færre farver end computer monitors.

Hvis man benytter 16-235 på en computer monitor, vil sort blive vist som mørkegrå og hvid som lysegrå. Billedet ser falmet/udvasket ud.

Hvis man benytter 0-255 på et TV bliver mørkegrå til sort og lysegrå til hvid. Man mister alle detaljer i de mørke og lyse områder. Kontrasten er pumpet ud.

Vælg korrekt format: Menu: View, Renderer Settings, Output Range, ...

De fleste skærme har mulighed for at skifte range, så man kan eventuelt bare prøve hvad der ser bedst ud.

Windows

Konfigurer lydkort til film
Konfigurer grafikkort

Da vi nu benytter grafikkortet til at dekode video kan der være indstillinger på dette, som har indflydelse på billedet.

Gå til kontrolpanelet for grafikkortet og slå alle de smarte video features fra:

Check igen at billedet ikke er for lyst eller mørkt og ændre output range om nødvendigt, j.f. afsnit 5.6. Det kan nemlig være, at grafikkortet selv ændrer på farverne når det detekterer at der spilles video og at du benytter den og den skærm.

3.7. Test af afspilning

Det er nemmest at teste, om afspilningen er perfekt flydende, ved at finde en film med en længerevarende, ca. 2 min, scene hvor kameraret flytter sig hele tiden. Her kan man nemt se om en enkelt frame bliver droppet eller gentaget.

Endvidere kan man benytte statistikværktøjet i MPC. Når filmen spiller trykkes Ctrl+J. Det bringer en rød graf frem, som repræsenterer forsinkelsen af hver enkelt frame. Der kommer sikkert nogle voldsome hak i starten, men grafen skulle gerne blive flad hurtigt - ellers er refresh rate sat forkert. Med Direct3D Fullscreen bliver grafen sjældent perfekt flad, men forsinkelserne inden for en kvart frame (og dermed ubetydelige).

Der er også en grøn graf, som repræsenterer lyd. Den røde bør flade ud og den grønne skal ligge en anelse over den røde og ikke vandre for langt, da det betyder problemer med lipsync.

Er der større udsving på grafen, er der problemer. Det kan være problemer med andet installeret software, eksempelvis antivirus eller automatiske opdateringer. Det kunne også være problemer med drivere eller at processoren ikke kan følge med.

MPC har også et andet værktøj, en tearing tester. Tryk Ctrl+T når filmen spiller. Dette bringer to røde linjer frem, som kører hen over skærmen. Hvis linjerne bliver hakket over vandret, så er der problemer med tearing. Disse kan løses med Direct3D Fullscreen, j.f. installation af MPC.

3.8. Perfekt lip-sync

Det er ualmindeligt irriterende hvis lyd og mundbevægelser ikke passer sammen perfekt. En tidsdifference på ganske få millisekunder er nok til at ødelægge filmoplevelsen. Det er imidlertid nemt at rette op på:

3.9. Zoom og stretch

En af de smarte funktioner i MPC-HC er muligheden for at tilpasse billede under afspilning. Dette kan være nødvendigt hvis filmen ikke er lavet korrekt og har sorte rammer på alle fire sider, eller hvis man har en meget lille skærm og godt kan leve med lidt forvrængede billeddimensioner.

Funktionen aktiveres med 1-9 på det numeriske tastatur (disse taster kan naturligvis ændres).

Zoom lodret+vanret: 1 9.

Zoom lodret: 2 8.

Zoom vandret: 4 6.

Nulstil: 5.

3.10. 10-bit farver

Almindelig blu-ray og dvd benytter 3x 8-bit til farver. Det vil sige at der er 256 niveauer af rød, grøn og blå, i alt 16.7M forskellige farver, mange flere farver end der er pixels på skærmen. Men det er ofte ikke nok til ensartede billeder som skyer.

UHD med HDR benytter 3x 10-bit til farver istedet og giver dermed 1024 forskellige niveauer af rød, grøn og blå.

For at kunne afspille 10-bit farver korrekt kræves følgende:

Der henvises til denne artikel på doom9.

4. Undertekster

4.1. Konvertering

Undertekster på blu-ray og hd-dvd ligger i SUP format, som er er en række still-billeder i PNG format. Disse kan modsat SRT ikke afspilles som eksterne filer, men skal muxes ind i mkv filen. Herefter kan de fint afspilles med MPC-HC.

Undertekster i .srt format kan fint ligge som eksterne filer.

4.2. Visning

Sørg for at MPC indlæser undertekster fra eksterne .srt filer:
Præsentationen af underteksterne
Navngiv .srt filerne:

Når filmen kører kan der skiftes mellem undertekster ved at trykke på "s" og de kan slås til/fra med "w".

5. Avanceret

5.1. Justering af refresh rate

EVR-Sync fungerer bedst hvis man kan justere sit grafikkort til præcis 23,976 Hz og man har fuldstændig styr på materialets frame rate:

NVIDIA

NVIDIA grafikkort er fremragende til 25p og 50i, da 50 Hz refresh rate er 50,000 Hz. Desværre er NVIDIA ikke gode til andre formater, da 24 Hz er i som standard 24,001 Hz mens 23 Hz er 23.966 Hz. 60 Hz er heller ikke korrekt med standardopsætning.

For at opnå bedre 23,976 Hz og 59.94 Hz går man i NVIDIA Control Panel og definerer sine egne Custom Resolutions. Start med at tilføje 1980 x 1080, 50 Hz. Denne virker perfekt med standardindstillinger. Tilføj herefter 24 Hz og 60 Hz med nedenstående værdier. Man kan ikke definere både 23 Hz og 24 Hz Custom Resolution, da refresh rate ligger for tæt på hinanden.

	24 Hz:
	active pixels horizontal: 1920 vertical: 1080
	front porch horizontal: 638 vertical: 4
	sync width horizontal: 44 vertical: 5
	total pixels horizontal: 2750 vertical: 1124
	polarity horizontal: positive vertical: positive
	refresh rate: 23.978

	60 Hz:
	active pixels horizontal: 1920 vertical: 1080
	front porch horizontal: 88 vertical: 4
	sync width horizontal: 44 vertical: 5
	total pixels horizontal: 2200 vertical: 1124
	refresh rate: 59.942
	

Det er ret forvirrende og misvisende med 23,978 og 59,942 frem for 23,976 og 59,940, men det virker nogen gange.

ATI/AMD Radeon

ATI/AMD kommer tættere på de korrekte indstillinger. Man kan ikke umiddelbart rode med custom resolutions, men standardopløsninger kommer tæt nok på: 23 Hz = 23,977, 24 Hz = 24,001, 50 Hz = 50,001, 59 Hz = 59,941. Det virker lidt underligt, at den konsekvent skyder en anelse over målet. Det kan måske variere fra kort til kort og måske afhænge af andre ting.

Intel Graphics

Grundet en fejl i designet kan onchip grafikkortet i sandy brigde (2011) ikke køre 23,976. Den har mulighedden, men viser 24.000 istedet. Fejlen er rettet i ivory brigde (2012).

Copyright © 2008-2017 by Allan Hansen.

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License.