Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Захват видео с помощью 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 вся ветка

Форум: "Media";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
2-1139935979
smus811
2006-02-14 19:52
2006.03.12
Поиск по BLOB ам


1-1139479968
Новенький
2006-02-09 13:12
2006.03.12
D 2005 DFM Binary - > Text


2-1140802639
13
2006-02-24 20:37
2006.03.12
Редактор иконок


15-1139893343
vidiv
2006-02-14 08:02
2006.03.12
Проблема с IP телефоном и Windows NAT


2-1140434549
ForX
2006-02-20 14:22
2006.03.12
TQuery and TTable





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский