Главная страница
    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.015 c
9-1126093522
budda
2005-09-07 15:45
2006.03.12
Бот картежник


3-1134517618
alpine
2005-12-14 02:46
2006.03.12
Выборка из 10 и более таблиц Paradox


2-1140982178
WestBronx
2006-02-26 22:29
2006.03.12
Список файлов в папке


4-1134578377
La_Grange
2005-12-14 19:39
2006.03.12
Работа с системным динамиком)


15-1139894641
Лисенок
2006-02-14 08:24
2006.03.12
без темы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский