2015-03-02 3 views
1

Я использую простой график для воспроизведения видео, а EVR - мой рендерер. Я хочу постоянно изменять соотношение сторон 16: 9 или 16:10, независимо от собственного соотношения сторон видео и рендеринга. Есть ли способ сделать это?Как установить соотношение aspec с EVR в DirectShow?

Мне удалось найти только IMFVideoDisplayControl::SetAspectRatioMode, но у него нет возможности установить соотношение сторон вручную.

ответ

2

Вы не можете проинструктировать EVR об изменении формата изображения, у него есть только возможность поддерживать AR или нет. Если вы хотите изменить соотношение сторон отображаемого видео, вы должны обойти методы вместо:

  1. Вы можете преобразовать видео канала и изменить тип носителя потока оставляя полезный груз неповрежденным и применение нового соотношение сторон в соответствующей VIDEOINFOHEADER2 структуры
  2. Или вы можете отключить опцию технического обслуживания AR на EVR и соответствующим образом определить ее, имея в виду AR. В этом случае вы несете ответственность за почтовый ящик, возможно, место вокруг видео.
+0

Но можете ли вы установить VIDEOINFOHEADER2 вручную? Я попытался изучить его и не смог найти правильный способ сделать это. Можете ли вы указать мне в правильном направлении? Спасибо! – user3223738

+1

Невозможно изменить его самостоятельно, так как тип носителя является частью согласованной работы фильтра. Однако, если вы создадите собственный фильтр, делать это легко. –

Смежные вопросы