2009-08-21 41 views
2

Windows Media Playerで再生するときとWPF MediaElementに表示されるビデオの色が異なることに気がつきました。 MediaElementの内部では、ビデオのコントラストが低く、少しぼやけた外観になっています。WPF:Windows Media Playerと異なるMediaElementのビデオの色

私がこれまでに試したビデオは、さまざまなツールを使ってさまざまな人が制作したWMVビデオです。そのため、ビデオ素材に関する問題を排除します。 Windows Media Player(色相、彩度、明るさ、コントラスト)のすべての「ビデオ設定」スライダはデフォルト値になっています。

これは、最初に私のソフトウェアでアニメーション不透明度とコンテンツがビデオ上に広がっていることを広範に利用していると疑われました。

しかし、私はXAMLは、このようになります簡単なテストプログラムで、現象を再現することができました:

<Window x:Class="MediaElementTest.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 

    <MediaElement Source="D:\Test\Video.wmv" /> 
</Window> 

私が何か間違ったことをやっていますか?回避策はありますか?

答えて

2

私はMediaElementには、Vista上でXPとEVRにVMR9を使用しますかなり確信しているので、あなたが行動を見ることになるかもしれませんがhere

を説明し、私はWindows Media PlayerがVMR7またはデフォルトのビデオのいずれかを使用して推測していますレンダラーにはその動作がありません。またはマイクロソフトは何らかの形で補償しています。

+1

ありがとうございます!回答にリンクされたブログ記事には、CodePlexでソースコードを入手できる「WPFMediaKit」が記載されています。 ビデオ再生にそのライブラリのクラスを使用する代わりに、「DeeperColor」シェーダエフェクトを単独で試しました。つまり、DeeperColorクラスのインスタンスをMediaElementのEffectプロパティに割り当てました。 DeeperColorクラスは、WPFMediaKitプロジェクト内のEffectsフォルダにあります。独自のプロジェクトで直接使用する場合は、必ず "DeeperColor.ps"のビルドアクションを "リソース"に設定してください。 –

2

ビデオカードでサポートされている場合、これを解決するためのソフトウェアオプションがあります。

NVidiaカードをお持ちの場合は、NVidiaコントロールパネルに移動してください。オプションツリーで[ビデオ]をクリックします。モニタを選択し、[With NVidia Settings]ラジオボタンをクリックします。 [詳細設定]タブで、[ダイナミックレンジ0〜255]を選択します。

それはそれです!

関連する問題