#include "vfw.h"#pragma comment(lib, "vfw32.lib")
#pragma comment(lib, "Winmm.lib")AVIFileInit();PAVIFILE pAviFile = nullptr;// 打开AVI文件 int nRet = AVIFileOpen(&pAviFile, "10.82.27.20_00_201908231542_part0.avi", OF_READ, NULL);if (nRet == 0){// 读取AVI文件的信息AVIFILEINFO aviFileInfo = { 0 };AVIFileInfo(pAviFile, &aviFileInfo, sizeof(AVIFILEINFO));// 提取出AVI文件的某种流,此例为视频流PAVISTREAM pAviStrem = nullptr;AVIFileGetStream(pAviFile, &pAviStrem, streamtypeVIDEO, 0);// 读取流信息AVISTREAMINFO aviStreamInfo = { 0 };AVIStreamInfo(pAviStrem, &aviStreamInfo, sizeof(AVISTREAMINFO));/*// type 为流格式(音频或视频),handler为压缩方法:如H264char handler[4],type[4];handler[0] = stinfo.fccHandler;handler[1] = stinfo.fccHandler >> 8;handler[2] = stinfo.fccHandler >> 16;handler[3] = stinfo.fccHandler >> 24;type[0] = stinfo.fccType;type[1] = stinfo.fccType >> 8;type[2] = stinfo.fccType >> 16;type[3] = stinfo.fccType >> 24;//如果是压缩的视频(一般都是压缩的),打开读取压缩桢的函数PGETFRAME pGetFrame = AVIStreamGetFrameOpen(pAviStrem, NULL);//返回解压缩后,图像的信息LPBITMAPINFOHEADER lpbm = (LPBITMAPINFOHEADER)AVIStreamGetFrame(pGetFrame, 1);//读入并解压缩视频的每一帧for (int i = 0; i < aviFileInfo.dwLength; i++){memcpy(RGBbuf,(BYTE*)AVIStreamGetFrame(pgf,i)+40,pfi.dwWidth*pfi.dwHeight*3);}//关闭读取压缩桢的函数AVIStreamGetFrameClose(pGetFrame);*/char* szBuf = new char[500 * 1024];memset(szBuf, 0, 500 * 1024);const int headerSize = sizeof(CMD_HEADER) + sizeof(AV_VIDEO_INFO);while (!m_bExit){for (int i = 0; i < aviFileInfo.dwLength; i++){// 获取编码前数据AVIStreamRead(pAviStrem, i, 1, szBuf + headerSize, 500 * 1024 - headerSize, NULL, NULL);}}//释放AVI文件指针AVIFileRelease(pAviFile);}AVIFileExit();

[转载]vfw的AVI族函数读取AVI文件相关推荐

  1. 成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题

    成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题 目录 解决问题 解决思路 解决方法 解决问题 利用pandas的read_csv函数读取csv文件的时候出现中文乱码 ...

  2. pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率、pandas使用read_feather函数读取feather文件

    pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率.pandas使用read_feather函数读取feather文件. ...

  3. MATLAB中利用ncread函数读取nc文件

    MATLAB读取NC文件 一. 目的: 了解NETCDF文件,学会利用MATLAB读取NETCDF文件 二.  撰写时间 开始时间:2016年12月03日 完成时间:2016年12月09日 三.知识储 ...

  4. R语言用read.table()函数读取txt文件时报错incomplete final line found by readTableHeader

    一.在读取txt文件时,需要注意两个问题 1.首先要需要用getwd()函数查看一下,当前编辑的文件路径. 如: 如果txt文件不在该路径下,则读取txt文件会报错. 2.此外,需要注意txt文件中需 ...

  5. php fseek函数,php fseek函数读取大文件两种方法

    php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也 ...

  6. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )

    文章目录 前言 一.RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLoader 加载 ...

  7. php 读取 stl 文件,科学网—[转载]【源码】读取ASCII STL文件的STLReader - 刘春静的博文...

    读取包含顶点和面的ASCII STL文件,并将其构造为矩阵"顶点"."颜色"和"面".之后,使用各小模块在Matlab上建立模型. Read ...

  8. python调用什么函数实现对文件内容的读取_Python 文件读取函数 read(), readline(), readlines()...

    Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作: read() 函数:逐个字节或者字符读取文件中的内容: readline() 函数:逐行读取文件中的内容: readl ...

  9. python read函数报错_python 使用read_csv读取 CSV 文件时报错

    读取csv文件时报错 df = pd.read_csv('c:/Users/NUC/Desktop/成绩.csv' ) Traceback (most recent call last): File ...

最新文章

  1. 今天,小程序正式支持 SVG
  2. systemverilog数据类型
  3. 数字信号处理基础知识之DFT、DTFT、DFS、FFT基本概念扫盲
  4. max std value 宏_Rust Macro/宏 新手指南
  5. [转] Lodash
  6. 迭代获取ViewState
  7. Keras官方中文文档:Keras安装和配置指南(Windows)
  8. SVN学习总结(4)——解决Win10 SVN图标不显示问题
  9. Google发布中文名称“谷歌”
  10. URL中文传值乱码解决方式
  11. 如何在 Mac 上查找和管理 Safari 下载?
  12. js requestAnimationFrame
  13. AMTEmu v0.9.2
  14. 汽车电子电气架构EEA演变
  15. 程序员朋友们,请答应我?别再去东南亚写代码了好么?
  16. 微信小程序_(2022)微信小程序开发者后台管理登录/开发成员管理/开发设置中设置(云)服务器/数据拉取权限配置/appID查看/邮箱修改
  17. 冻库正常低压力是多少_零下40度低温低压压力多少算正常?
  18. oracle11g批量insert多条,Oracle高效批量插入数据
  19. Matlab syms 矩阵变量,matlab syms.m
  20. 数列的单调有界和极限值

热门文章

  1. 【华人学者风采】刘维民 中国科学院
  2. 基于Springboot+Vue的校园二手商城系统
  3. 主流 Blog 程序介绍
  4. 题目:类Test1、类Test2定义如下:
  5. Java填充PDF模板数据
  6. 信用,让生活更任性...
  7. python用for循环画雪花图形_超详细讲解如何五步画出立体彩色雪花
  8. RTE 大会回顾 | 基于 Web 引擎技术的 Web 内容录制
  9. 数字孪生,开启三维智慧园区管理新篇章
  10. 什么是shaded jar