Вниз
Скачать: CL | DM;

Вопрос по захвату потокового видео.   Найти похожие ветки 

 
Fredericco ©   (2002-07-05 16:31) [0]

Эта тема уже поднималась, но у меня конкретный вопрос. Есть видео карта, туда идет видео, просматриваю это изображение с помощью компоненты TVideoCap (скачал на торри). Эта компонента выводит изоб-ние на себя. А мне в будущем надо будет это видео передавать через инет. Через инет я умею передавать пока только бмп и жпг. Поставил себе задачу засунуть кадр из получаемого видео в TBitmap. В исходниках компоненты нашел процедуру:
procedure FrameToBitmap(Bitmap:TBitmap;FrameBuffer:pointer; BitmapInfo:TBitmapInfo);
var hdd:Thandle;

begin

with Bitmap do
begin
Width:= BitmapInfo.bmiHeader.biWidth; // New size of Bitmap
Height:=Bitmapinfo.bmiHeader.biHeight;
hdd:= DrawDibOpen;
DrawDibDraw(hdd,canvas.handle,0,0,
BitmapInfo.BmiHeader.biwidth,
BitmapInfo.bmiheader.biheight,
@BitmapInfo.bmiHeader,
frameBuffer,0,0,
bitmapInfo.bmiHeader.biWidth,
bitmapInfo.bmiHeader.biheight,0);
DrawDibClose(hdd);
end;
end;


Вроде то, что мне надо. Однако никак не могу понять где взять переменную FrameBuffer. Код процедуры DrawDibDraw находиться в vfw.pas и выглядит так :
function DrawDibDraw(
hdd : HDRAWDIB;
hdc : HDC;
xDst : integer;
yDst : integer;
dxDst : integer;
dyDst : integer;
lpbi : PBITMAPINFOHEADER;
lpBits : Pointer;
xSrc : integer;
ySrc : integer;
dxSrc : integer;
dySrc : integer;
wFlags : UINT
): BOOL; stdcall; external VFWDLL;

Вообщем у меня все есть, кроме FrameBuffer. Не могли бы вы подсказать на что этот указатель и где приблизительно мне искать переменную на которую должен указывать FrameBuffer?
Заранее благодарен.
Fredericco.


 
Chezarre ©   (2002-08-26 15:10) [1]

Посмотри в хелпе к видеокапе (или в демках, не помню)- там на OnFrameCallback по-моему в параметрах передается этот самый поинтер (хотя... щас припоминаю, там он назывался lpVideoHdr или что-то в этом роде - можа, версии не совпадають?)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
7-28301
jeka
2002-10-08 09:36
2002.12.09
Запись в межсекторные промежутки


14-28276
esv
2002-11-17 19:13
2002.12.09
TinyDB v2.9


3-27884
Calm
2002-11-21 14:54
2002.12.09
Вызов процедуры из другой процедуры


3-27889
Boriz
2002-11-21 15:48
2002.12.09
Требуется динамически создать Calculated поле


4-28367
AndreyS
2002-10-29 10:37
2002.12.09
Разбудить диски из проги перед записью?




   Наверх