视频流写入流文件的问题
鱼油们我想把视频流(unsigned char*)写入一个.ps或者.ts视频文件,文件写的是成功的(可以看到文件),但是文件用指定的软件打不开之后会有大部分画面绿屏,想知道是为什么,或者应该怎么查出出错的原因。代码如下:
void func(int index,const unsigned char* data,unsigned int datalen)
{
/*就写一个简短的程序吧,实际的逻辑要稍微严谨一点*/
FILE *fp = NULL;
char filename = {0};
if (datalen==0)
{
return;
}
if (fp==NULL)
{
sprintf(filename, "%s%s", "D://test",".ps");
fp = fopen(filename,"a+");
}
if(fp != NULL)
{
fwrite(data,dataLen,1,fp);
fclose(fp);
}
fp = NULL;
}
纠正一下:视频文件可以打开,只是打开之后画面不对 应该是编码不统一吧,视频格式和文字的编码差别很大 用二进制的方式写入文件试试
fopen(filename,"ab+") U201010009 发表于 2018-1-24 15:49
用二进制的方式写入文件试试
fopen(filename,"ab+")
哦对的,是这个原因,第一次写二进制文件,忘了fopen还有二进制了,十分感谢!
页:
[1]