同样是AVI文件,为何有些播放不了

已举报 回答
同样是AVI文件,为何有些播放不了
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    2,659

8个回答 默认排序
  • 默认排序
  • 按时间排序

建议你用360版本下的nod32杀毒 查杀准确 扫描时间短 占用内存小
取消 评论
渲染失败~~~
取消 评论
用格式工厂软件,很好用的,可以转换很多常用格式
取消 评论
手里黏糊糊的
取消 评论
”我的Image里面只有7张图片,所以我以为定义filename 的大小为7“

你可知,filename是啥?
G:\\转码视频\\Image\\out.avi这整个的是一个filename,你自己数数这一个图像你用了几个char来存储的?

你这个程序错到离谱了,这里是读取视频的程序

#include stdafx.h
#include highgui.h
int main( int argc ,char ** argv){
CvCapture * capture = cvCreateFileCapture (tree.avi); //读取视频
if(capture==NULL) {
printf(NO capture); //读取不成功,则标识
return 1;
};
double fps=cvGetCaptureProperty(capture, CV_CAP_PROP_FPS ); //读取视频的帧率
int vfps = 1000 / fps; //计算每帧播放的时间
printf(%5.1f\t%5d\n,fps,vfps);
double frames=cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);//读取视频中有多少帧
printf(frames is %f\n,frames);
cvNamedWindow(example,CV_WINDOW_AUTOSIZE); //定义窗口
IplImage * frame;
while(1){
frame = cvQueryFrame( capture ); //抓取帧
float ratio = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_AVI_RATIO); //读取该帧在视频中的相对位置
printf(%f\n,ratio);
if(!frame)break;
cvShowImage(example,frame); //显示
char c = cvWaitKey(vfps);
if(c == 27 )break;
}
cvReleaseCapture(&capture);
cvDestroyWindow(example);
}

写视频的第一步要先读图,然后写!

另外楼上的,\\和\是不一样的,望注意。
取消 评论
你的video生成出来了没有? 从你的代码上来看,第一帧读错了,应该是image/0.jpg 吧,不是out.avi,还有你的filename大小只有7? 先把这些问题弄完了看看还有没有问题
取消 评论
转换器有很多,可以重新下载一个,测试。
取消 评论
  你好知友! 祝你元宵节快乐!

  同样AVI的后缀也有好几种格式:(DIVX3.11/4.1/5/X)(XVID)(H264)等等,码率也不一样,一般的视频播放器只支持一种或几种编码方式.你可以试试使用PotPlayer或Kmplayer汉化版,看看能不能正常播放.另外,U盘读写速度不如硬盘,如有可能,最好还是在硬盘里播放,

  .
  如果我的回答对你有帮助.请点击我的回答下方【选为满意回答】按钮.你的采纳是我们回答的动力.
取消 评论
ZOL问答 > 同样是AVI文件,为何有些播放不了

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?