c语言如何实现读取flv格式的视频文件,或者用opencv也行

Python019

c语言如何实现读取flv格式的视频文件,或者用opencv也行,第1张

#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")

}

所有文件均可以用二进制形式表示,你按8位8位的循环处理,直接处理到文件末尾,每8位加一个1,取反等等,就改变了原来视屏文件的结构,你要是用过Ultra就知道按16进制显示的文件内容,修改这个改变文件,从而达到加密的目的