Главная страница
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.049 c
2-1140540575
лом
2006-02-21 19:49
2006.03.12
Send to Back


3-1137757377
_RusLAN
2006-01-20 14:42
2006.03.12
Нужна идея. Передача даных с одной БД в другую (FireBird)


1-1139309643
Zilog_
2006-02-07 13:54
2006.03.12
Проблема с выводом текста


15-1139905285
Думкин
2006-02-14 11:21
2006.03.12
Про Асю.


2-1140430374
reboot
2006-02-20 13:12
2006.03.12
компоненты vcl