1394采集视频文件大于4G自动切割

来源:百度知道 编辑:UC知道 时间:2024/05/14 05:09:57
用1394卡采集的时候 文件大于4G自动切割成 04.001 04.002与04.avi
三个文件 在本机器上打开04.avi就可以看全部的也就是自动加载另外两个
但把这三个文件拷贝到别的机器上就看不了
谁有办法能吧文件合并 或者 让在别的机器上能看?

简单的合并软件可以用“超级解霸”、“Total Video Converter”,专业的可以用Adobe Premiere pro 2.0

FAT32的文件系统不支持大于4G的文件,所以无法合并,请将你的文件系统改为NTFS,采集后就是一个完整的文件,也可以合并大于4G的文件了!

思想很简单,将原来的文件统一当作二进制文件依次读取,然后依次写入一个新的二进制文件中,这样就完成了合并操作;反向操作就可以分割文件了……

先自己定义一个通用的文件表示,比如说下列格式:文件名长度(4字节),文件名,文件长度(4字节),文件内容。然后新建一个文件,将你要加入的文件依次写进(当作二进制文件)。

至于还原吗,先读入合并后的文件,然后依次按以下过程还原文件:读入文件名长度,按此长度得到文件名,读入文件长度,按此长度得到文件的内容,写到磁盘上即可。具体的编程见以下例子:

//以下为文件合并与分解函数,合并文件后的文件中各子文件顺序存放,格式为:

//文件名长度(int)、文件名、文件长度(int)、文件内容

//---------------------------------------------------------------------------

//将文件SoruceFile合并到文件DestFile中

bool MergeFile(AnsiString SourceFile,AnsiString DestFile)
{
int iSourceFileHandle,iDestFileHandle,iSize,iBytesRead,iBytesWrite;
char sTemp[MAX_PATH];
iSourceFileHandle=FileOpen(SourceFile,fmOpenRead|fmShareDenyNone);
if(iSourceFileHandle<0)
{
sprintf(sTemp,"无法打开文件%s.",SourceFile.c_str());