Прямой показ захвата булавки настроить время выполнения живой геймер портативный 2 плюс - PullRequest
2 голосов
/ 30 мая 2019

Я пытаюсь настроить вывод вывода live gamer portable 2 plus для более низкой частоты кадров.Через GraphStudioNext я могу получить доступ к конфигурации через вывод захвата и изменить частоту кадров.

Однако, когда я пытаюсь IAMStreamConfig на выводе захвата через API, это позволит мне только выбрать настройки по умолчанию и не использоватьте же частоты кадров, которые я могу сделать через GraphStudioNext.

Есть ли другой интерфейс, который я должен использовать, чтобы получить конфигурацию выходного потока вывода, видимую в GraphStudioNext?

Filtergraph example

Properties form

Ниже приведена процедура Delphi по умолчанию для отправки стандартных форматов, я изменил это, поэтому я изменил частоту кадров и сохранил все остальные параметры и этоработал.

      if (Format.Width = MediaHeader.bmiHeader.biWidth) and
        (Format.Height = MediaHeader.bmiHeader.biHeight) and
        (Format.AvgTimePerFrame = MediaHeader.AvgTimePerFrame) and
        (Format.BitsPerPixel = MediaHeader.bmiHeader.biBitCount) then
      begin
        MediaHeader.AvgTimePerFrame := NewRate;
        CheckNull(AMStreamConfig, 'IAMStreamConfig');
        CheckError(AMStreamConfig.SetFormat(MediaType));
        Exit;
      end;

1 Ответ

4 голосов
/ 30 мая 2019

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

Однако каноническое поведениеперечислить форматы с IAMStreamConfig, чтобы у вас был диапазон MinFrameInterval и MaxFrameInterval для интересующего вас формата.Затем (необязательно) также используйте IAMVideoControl::GetFrameRateList для получения набора поддерживаемых / рекомендуемых скоростей, который вы видите в GraphEdit / GraphStudio.

Затем вы можете обновить тип носителя и дать командуКамера для использования медиа типа с определенной частотой кадров через IAMStreamConfig::SetFormat.

...