Разрешение видеозаписи с использованием DirectShow

Как изменить разрешение экрана видео во время записи в directshow? потому что у меня есть 8-мегапиксельная веб-камера, которую я использую для записи видео, но после сохранения видео, когда я просматриваю видео, оно воспроизводится так, как будто оно было записано с помощью 1,3-мегапиксельной камеры.


person Break the Law    schedule 13.01.2013    source источник
comment
Веб-камеры потребительского уровня (например, Microsoft и Logitech) обычно имеют разрешение не менее 640x480. У более высоких потребительских классов разрешение до 1080p. Но заявление о 8 мегапикселях обычно является маркетинговым фуражом для коробки, в которой находится устройство. Если решение Романа вам не подходит, у меня есть такой старый код, который я мог бы выкопать для перечисления и установки разрешения видео и битрейта для граф DShow.   -  person selbie    schedule 14.01.2013


Ответы (1)


Вам необходимо использовать IAMStreamConfig интерфейс. Некоторые источники MSDN для вас:

Настройте формат вывода видео ( Windows):

Чтобы настроить выходной формат устройства захвата, приложение должно использовать структуру AM_MEDIA_TYPE, возвращаемую IAMStreamConfig :: GetFormat в параметре pmt.

Метод IAMStreamConfig :: GetFormat ( Windows):

Если вывод подключен, этот метод возвращает формат, который используется выводом в данный момент. В противном случае метод возвращает предпочтительный формат вывода для следующего соединения вывода. Если вы уже вызвали метод IAMStreamConfig :: SetFormat для установки формата, GetFormat вернет тот же формат. Если нет, он возвращает первый формат в списке предпочтительных форматов вывода, как определено методом IPin :: EnumMediaTypes.

Более:

Кроме того, ваша веб-камера может иметь более низкое разрешение для потоковой передачи видео и высокое для съемки неподвижных изображений благодаря возможностям пост-обработки.

person Roman R.    schedule 13.01.2013