WPF: цвета видео в MediaElement отличаются от проигрывателя Windows Media - PullRequest
2 голосов
/ 21 августа 2009

Я заметил (на моей машине с 64-битной Vista), что видео, отображаемое в WPF MediaElement, имеет другие цвета, чем при воспроизведении в Windows Media Player. Внутри MediaElement видео имеет слегка ненасыщенный вид с более низким контрастом.

Видео, которые я до сих пор пробовал, - это видео WMV, которые были сделаны разными людьми с разными инструментами, поэтому я исключил бы проблемы с видео материалами. Все ползунки «Настройки видео» в проигрывателе Windows Media (оттенок, насыщенность, яркость, контрастность) имеют значения по умолчанию.

Вот почему я сначала заподозрил проблему в моем программном обеспечении, которая широко использует анимированную прозрачность и контент, размещаемый над видео.

Но я смог воспроизвести поведение с помощью простой тестовой программы, в которой 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 ]

2 голосов
/ 24 августа 2009

Если ваша видеокарта поддерживает это, иногда есть варианты программного обеспечения, чтобы это исправить.

Если у вас есть карта NVidia, перейдите на панель управления NVidia. Нажмите «Видео» в дереве параметров. Выберите монитор и нажмите кнопку «С настройками NVidia». На вкладке «Дополнительно» выберите «Динамический диапазон 0-255».

Вот так!

2 голосов
/ 23 августа 2009

Поскольку я почти уверен, что MediaElement будет использовать VMR9 в XP и EVR в Vista, вы можете увидеть поведение, объясненное здесь

Я предполагаю, что Windows Media Player использует VMR7 или Video Renderer по умолчанию, поэтому он не имеет такого поведения. ИЛИ Microsoft каким-то образом компенсировала.

...