如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

Description of your first forum.

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子wl66 » 星期二, 2003年2月11日 15:45


如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件
   注意:不是用视频卡。。等硬件截取而是通过编程的方法截取在计算机屏幕上播放的
(VCD,动画(SWF文件)等)并保存为文件(需要源程序)
                         谢谢
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子笑面虎 » 星期三, 2003年2月12日 15:03


截取为图片?视频?
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子wsfok » 星期二, 2003年3月4日 16:08


视频?
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子白磷 » 星期四, 2003年4月17日 18:27


也想请高手指教。
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子edren » 星期六, 2003年4月19日 04:28


我想他说的应该是图片
GZ
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子小笨苯 » 星期六, 2003年4月19日 05:54


好像不是很简单的说,关注[:)]
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子wsf99 » 星期二, 2003年4月22日 16:04


视频?
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子flyingwater007 » 星期三, 2003年5月21日 16:32


我记得有一个可以连续抓屏为视频文件的工具软件
不知可不可以满足你的要求
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子mosane » 星期五, 2003年5月23日 01:50


对,我也记得有这么一个软件,但有共享源代码吗?

截屏不成问题,主要是怎样保存成视频文件。
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子3cs » 星期五, 2003年5月23日 02:32


是不是把其中一段以“录制”的形式保存呀!
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子liuyuhe_124 » 星期二, 2003年6月3日 15:37


你截取的话只能是一幅一幅的图片
视频的话要用采集卡的吧
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子PeaceDove » 星期二, 2003年7月1日 16:11


我们公司有人做过,我去查查
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子nhuangjr » 星期二, 2003年7月22日 15:09


想不通,有什么用!你播放的,本来就应该是文件的啊!!!!

实在不行,就定时的从显示缓存里面把图像拷出来咯,不过要很大空间的,如果能做成实时压缩就厉害了
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子爱元元的哥哥 » 星期二, 2003年7月22日 15:15


存储bmp序列为avi的代码在playicq上有。

unit avi;

interface
uses
 Windows,  SysUtils,   Graphics, Dialogs ,
 {$ifdef VER90}
 ole2;
{$else}
 ActiveX;
{$endif}
type
 TAVIStreamInfoA = record
   fccType,
   fccHandler,
   dwFlags,        // Contains AVITF_* flags
   dwCaps: DWORD;
   wPriority,
   wLanguage: WORD;
   dwScale,
   dwRate, // dwRate / dwScale == samples/second
   dwStart,
   dwLength, // In units above...
   dwInitialFrames,
   dwSuggestedBufferSize,
   dwQuality,
   dwSampleSize: DWORD;
   rcFrame: TRect;
   dwEditCount,
   dwFormatChangeCount: DWORD;
   szName:  array[0..63] of AnsiChar;
 end;

 TAVIStreamInfo = TAVIStreamInfoA;
 PAVIStreamInfo = ^TAVIStreamInfo;
 TAVISaveCallback = function (nPercent: integer): LONGint; stdcall;
 function AVIFileOpen(var ppfile: pointer; szFile: PChar; uMode: UINT; lpHandler: pointer): HResult; stdcall;
 procedure AVIFileInit; stdcall;
 procedure AVIFileExit; stdcall;
 function AVIFileCreateStream(pfile: pointer; var ppavi: pointer; var psi: TAVIStreamInfo): HResult; stdcall;
 function AVIStreamSetFormat(pavi: pointer; lPos: LONGint; lpFormat: pointer; cbFormat: LONGint): HResult; stdcall;
 function AVIStreamWrite(pavi: pointer; lStart, lSamples: LONGint; lpBuffer: pointer; cbBuffer: LONGint; dwFlags: DWORD; var plSampWritten: LONGint; var plBytesWritten: LONGint): HResult; stdcall;
 function AVIStreamRelease(pavi: pointer): ULONG; stdcall;
 function AVIFileRelease(pfile: pointer): ULONG; stdcall;
 function CreateEditableStream(var ppsEditable: pointer; psSource: pointer): HResult; stdcall;
 procedure InternalGetDIBSizes(Bitmap: HBITMAP; var InfoHeaderSize: Integer;
    var ImageSize: longInt; PixelFormat: TPixelFormat);
 procedure InitializeBitmapInfoHeader(Bitmap: HBITMAP; var Info: TBitmapInfoHeader;
           PixelFormat: TPixelFormat);
 function AlignBit(Bits, BitsPerPixel, Alignment: Cardinal): Cardinal;
 function InternalGetDIB(Bitmap: HBITMAP; Palette: HPALETTE;
          var BitmapInfo; var Bits; PixelFormat: TPixelFormat): Boolean;
 function uf_createavi(as_bmppath,as_avifile:string;ai_rate,ai_maxbmp:integer;ap_pxf:tPixelFormat):boolean;

 const
 streamtypeVIDEO = $73646976; // DWORD( 'v', 'i', 'd', 's' )
 AVIIF_KEYFRAME  = $10;
implementation
procedure AVIFileInit; stdcall; external 'avifil32.dll' name 'AVIFileInit';
procedure AVIFileExit; stdcall; external 'avifil32.dll' name 'AVIFileExit';
function AVIFileOpen; external 'avifil32.dll' name 'AVIFileOpenA';
function AVIFileCreateStream; external 'avifil32.dll' name 'AVIFileCreateStreamA';
function AVIStreamSetFormat; external 'avifil32.dll' name 'AVIStreamSetFormat';
function AVIStreamWrite; external 'avifil32.dll' name 'AVIStreamWrite';
function AVIStreamRelease; external 'avifil32.dll' name 'AVIStreamRelease';
function AVIFileRelease; external 'avifil32.dll' name 'AVIFileRelease';
function CreateEditableStream; external 'avifil32.dll' name 'CreateEditableStream';
function  uf_createavi(as_bmppath,as_avifile:string;ai_rate,ai_maxbmp:integer;ap_pxf:tPixelFormat):boolean;
var
 pFile ,pStream ,BitmapBits,VideoStream : pointer;
 StreamInfo : TAVIStreamInfo;
 BitmapInfo : PBitmapInfoHeader;
 BitmapInfoSize,i : Integer;
 BitmapSize ,Dummy : longInt;
 HasLocalPalette : boolean;
 bmp                   :tbitmap;
begin
 result:=false;
 AVIFileInit;
 try
   if (AVIFileOpen(pFile, PChar(as_avifile), OF_WRITE or OF_CREATE OR OF_SHARE_EXCLUSIVE, nil) <> 0) then
       raise Exception.Create('创建avi文件失败');
   bmp:=tbitmap.Create;
   bmp.LoadFromFile(as_bmppath+'0.bmp');
   InternalGetDIBSizes(bmp.Handle, BitmapInfoSize, BitmapSize, ap_pxf);
   if (BitmapInfoSize = 0) then
           raise Exception.Create('取图象信息失败');
   FillChar(StreamInfo, sizeof(StreamInfo), 0);
   StreamInfo.fccType := streamtypeVIDEO;
   StreamInfo.fccHandler := 0;
   StreamInfo.dwFlags := 0;
   StreamInfo.dwSuggestedBufferSize := BitmapSize;
   StreamInfo.rcFrame.Right :=
 
 
 

如何截取正在播放的视频(如VCD,动画(SWF文件)等)并保存为文件

帖子lonelyghost317 » 星期六, 2004年5月1日 10:11


怎么到现在为止还没有解决方案吗?关注!