Главная страница
    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.012 c
2-1140782253
HellSing
2006-02-24 14:57
2006.03.12
Массив из Label ов


2-1140401767
rosl
2006-02-20 05:16
2006.03.12
ehlib


15-1139936618
API
2006-02-14 20:03
2006.03.12
Гостья из будущего/2


5-1127113687
kivadim
2005-09-19 11:08
2006.03.12
Что изменить в CheckListBox чтоб галочки не ставились?


15-1140192453
antonn
2006-02-17 19:07
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский