Форум: "Media";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
ВнизКто-нибудь откроет секрет PowerDVD Найти похожие ветки
← →
AbrosimovA © (2006-08-03 15:19) [0]Каким-образом он делает скриншоты Видеоокна или оверлея?
Может у кого есть готовый способ в коде Дельфи.
← →
antonn © (2006-08-03 15:51) [1]подойдет и обычный способ "скриншотирования"
← →
Cash © (2006-08-03 20:15) [2]antonn © (03.08.06 15:51) [1]:
Нет, этот метод не подходит, т. к. при аппаратном ускорении кадр не
рисуется на поврхности.
← →
Sitr (2006-08-03 20:34) [3]Хм надо наверное с видюхой работать, была у меня такая проблема, но не помню что с ней делал... :(
← →
NailMan © (2006-08-03 22:17) [4]ISampleGrabber спасет отца руской демократии. Только так и делается. Описание как пользовать с примером - в DX SDK, а точнее в .CHM файле!
← →
antonn © (2006-08-04 07:37) [5]Cash © (03.08.06 20:15) [2]
Нет, этот метод не подходит, т. к. при аппаратном ускорении кадр не
рисуется на поврхности.
можно этот код?
← →
antonn © (2006-08-04 08:06) [6]а, хотя, ладно...
var DC:HDC; BM:TBitmap;
begin
BM:=TBitmap.Create;
try
BM.Width:=screen.Width;
BM.Height:=screen.Height;
DC:=GetDC(0);
BitBlt(BM.Canvas.Handle,0,0,BM.Width,BM.Height,DC,0,0,SrcCopy or $40000000);
ReleaseDC(0,DC);
BM.SaveToFile("c:\1.bmp");
finally
bm.Free;
end;
← →
Sitr (2006-08-04 19:25) [7]2antonn
А у тебя это работает?
Например видио тоже ловит? у меня вот почему то так не работало
← →
antonn © (2006-08-05 04:29) [8]Sitr (04.08.06 19:25) [7]
у повер-двд нет, у mplayer2.exe ловит. Также ловит все прозрачные окна.
← →
AbrosimovA © (2006-08-07 08:44) [9]
> NailMan © (03.08.06 22:17) [4]
> ISampleGrabber спасет отца руской демократии.
Не спасает, так как не работает при воспроизведении DVD.
Если *.avi, граф следующий :
File Source (Async)->AVI Splitter->SampleGrabber->ffdshow MPEG-4 Video Decoder->Overlay Mixer->Video Renderer, в этом случае SampleGrabber работает.
Если *.ifo (DVD), граф следующий :
DVD Navigator->SampleGrabber->Nero Video Decoder->Overlay Mixer2->Video Renderer, в этом случае SampleGrabber почему-то не работает.
В обоих случаях использую следующий код:
if not SavePictureDialog1.Execute then Exit;
Bmp:=TBitmap.Create;
try
if SampleGrabber1.GetBitmap(Bmp) then
Bmp.SaveToFile(SavePictureDialog1.FileName);
finally
Bmp.Free
end;
← →
AbrosimovA © (2006-08-07 09:59) [10]Также в обоих случаях использую следующие настройки для граббёра:
Major type: Automatic;
Sub type: MPEG2_VIDEO;
Format type: VideoInfo.
← →
NailMan © (2006-08-07 10:36) [11]Правильно, потому что SampleGrabber внедряется сразу перед рендерером, так как ему на вход подается итоговая картинка выводящаяся на экран. ;-)
---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
← →
AbrosimovA © (2006-08-07 10:56) [12]
> Правильно,
А что из вышесказанного правильно?
← →
AbrosimovA © (2006-08-07 11:28) [13]
> antonn © (04.08.06 08:06) [6]
Твой код работает, еслиVideoWindow.Mode:=vmVMR
;
Но Overlay Mixer не хочет соединяться с VideoWindow, если включён VMR режим, только еслиVideoWindow.Mode:=vmNormal
.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c