Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Захват видео с помощью DSPack   Найти похожие ветки 

 
Kair+ ©   (2005-09-14 14:43) [0]

Есть несколько вопросов по DSPack:

1.
Есть пример захвата видео и вместе с ним идущего звука в папке Demos\D5-7\VideoCap
Вобщем всё захватывается и сохраняется (с TV-тюнера), но почему-то звук отстаёт от изображения секунды на  2-3... В чем может быть причина?
Система при захвате и записи сильно не грузится (~40%)...

2.
Как можно сменить видеоразрешение захвата (например, на 640х480)?

3.
Как можно менять способ... эээ... не знаю ка называется. Вобщем как устанавливать PAL, SECAM, NTSC...


 
WondeRu ©   (2005-09-14 16:46) [1]

1. Не знаю
2.

pVideoStreamConfig  : IAMStreamConfig;

procedure TVideoCapture.SetStreamConfig;
Var
 hr                  : HRESULT;
 pmt                 : PAMMediaType;
begin
 hr := (FFilterGraph as ICaptureGraphBuilder2).FindInterface(@PIN_CATEGORY_CAPTURE, @MEDIATYPE_Video, FFilter as IBaseFilter, IID_IAMStreamConfig, pVideoStreamConfig);
 if (hr <> NOERROR) Then raise Exception.Create("Unable create instance of IAMStreamConfig");

 hr := pVideoStreamConfig.GetFormat(pmt);        // current capture format
 if (hr <> NOERROR) Then
 Begin
   pVideoStreamConfig := Nil;
   raise Exception.Create("Unable get stream video format");
 End;

 VIDEOINFOHEADER(pmt.pbFormat^).bmiHeader.biWidth  := ImageWidth;
 VIDEOINFOHEADER(pmt.pbFormat^).bmiHeader.biHeight := ImageHeight;
 hr := pVideoStreamConfig.SetFormat(pmt^);

 if (hr <> NOERROR) then raise Exception.Create("Unable set stream video format");
end;

3.
procedure TVideoCapture.SetTVFormat;
Var
 hr                    : HRESULT;
 pAMAnalogVideoDecoder : IAMAnalogVideoDecoder;
begin
 hr := (FFilter as Ibasefilter).QueryInterface(IID_IAMAnalogVideoDecoder, pAMAnalogVideoDecoder);
 if (hr <> NOERROR) then raise Exception.Create("Unable create instance of IAMAnalogVideoDecoder");

 hr := pAMAnalogVideoDecoder.put_TVFormat(AnalogVideo_SECAM_D);
 pAMAnalogVideoDecoder := Nil;
 if(hr <> NOERROR) then raise Exception.Create("Unable set TV-standard");
end;


 
Kair+ ©   (2005-09-17 09:30) [2]

Спасибо.


 
Kair+ ©   (2005-10-05 08:11) [3]

Так, вобщем по первому, там почему-то чатота кадров не 25, а 29 в секунду. Поэтому звук отстает от изображения...

И тут, еще вопрос появился, в том же примере из Demos\D6-D7\VideoCap.
Там при записи такой большой видеофайл получается... Как можно сделать так, чтобы файл записывался меньших размеров - видеокодеком каким-либо сжатый, т.е. параллельно с записью еще и сжимался?


 
Дмитрий Белькевич   (2005-10-08 04:43) [4]

Выход видео (имеется в виду соответствующий пин) можно "воткнуть" во вход кодека. Афаик в примерах там где-то было.



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
4-1134992931
eugenemail1970
2005-12-19 14:48
2006.03.12
Как считать данные с СОМ-порта номер 10 и выше?


2-1140520736
TrainerOfDolphins
2006-02-21 14:18
2006.03.12
Назначение обработчика события потомку класса


15-1140349376
Jim27
2006-02-19 14:42
2006.03.12
Виснет компьютер


3-1137591605
Quantum
2006-01-18 16:40
2006.03.12
многопоточность и БД


15-1140292334
ArtemESC
2006-02-18 22:52
2006.03.12
Hello world в ассме