如何将视频文件中的数据保存到数组中
问题描述:
这是我的解析文件视频文件
Here is mine to parse the file video file
int parsingmain1(char *Filepath){
FILE* infile;
uint8_t* buf = (uint8_t*)malloc(BUFSIZE );
h264_stream_t* h = h264_new();
/*if (argc < 2) { usage(); return EXIT_FAILURE; }*/
infile = fopen(Filepath, "rb");
if (infile == NULL) { fprintf( stderr, "!! Error: could not open file: %s \n", strerror(errno)); exit(EXIT_FAILURE); }
h264_dbgfile = fopen ("C:\\myfile.txt","w");
/* if (h264_dbgfile == NULL) { h264_dbgfile = stdout; }*/
int opt_verbose = 1;
int opt_probe = 0;
size_t rsz = 0;
size_t sz = 0;
int64_t off = 0;
uint8_t* p = buf;
int nal_start, nal_end;
while (1)
{
rsz = fread(buf + sz, 1, BUFSIZE - sz, infile);
if (rsz == 0)
{
if (ferror(infile)) { fprintf( stderr, "!! Error: read failed: %s \n", strerror(errno)); break; }
break; // if (feof(infile))
}
sz += rsz;
while (find_nal_unit(p, sz, &nal_start, &nal_end) > 0)
{
//here i want to save the data from the file of which i have given the path into an array(2d or 1d) of length specified by nal_start and nal_end
}
}
return 0;
}
请提供伪码
Please provide the pseudo code
答
您需要将存储类型视频设为:
You need to make the storage type video as:
{
string name;
string location;
}
依旧...
因此,如果您的对象存储为字节数组,那么它将是:
and so on...
So if your object is stored as a byte array it would be:
video[] Video = new video[255];
这将提供256个视频。我还建议使用列表而不是数组,但这就是你想要的。
This would give 256 videos. I would also recommend using lists not arrays but this is what you wanted.