[转载]vfw的AVI族函数读取AVI文件
#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文件相关推荐
- 成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题
成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题 目录 解决问题 解决思路 解决方法 解决问题 利用pandas的read_csv函数读取csv文件的时候出现中文乱码 ...
- pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率、pandas使用read_feather函数读取feather文件
pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率.pandas使用read_feather函数读取feather文件. ...
- MATLAB中利用ncread函数读取nc文件
MATLAB读取NC文件 一. 目的: 了解NETCDF文件,学会利用MATLAB读取NETCDF文件 二. 撰写时间 开始时间:2016年12月03日 完成时间:2016年12月09日 三.知识储 ...
- R语言用read.table()函数读取txt文件时报错incomplete final line found by readTableHeader
一.在读取txt文件时,需要注意两个问题 1.首先要需要用getwd()函数查看一下,当前编辑的文件路径. 如: 如果txt文件不在该路径下,则读取txt文件会报错. 2.此外,需要注意txt文件中需 ...
- php fseek函数,php fseek函数读取大文件两种方法
php读取大文件,使用fseek函数是最为普遍的方式,它不需要将文件的内容全部读入内存,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也 ...
- 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )
文章目录 前言 一.RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLoader 加载 ...
- php 读取 stl 文件,科学网—[转载]【源码】读取ASCII STL文件的STLReader - 刘春静的博文...
读取包含顶点和面的ASCII STL文件,并将其构造为矩阵"顶点"."颜色"和"面".之后,使用各小模块在Matlab上建立模型. Read ...
- python调用什么函数实现对文件内容的读取_Python 文件读取函数 read(), readline(), readlines()...
Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作: read() 函数:逐个字节或者字符读取文件中的内容: readline() 函数:逐行读取文件中的内容: readl ...
- python read函数报错_python 使用read_csv读取 CSV 文件时报错
读取csv文件时报错 df = pd.read_csv('c:/Users/NUC/Desktop/成绩.csv' ) Traceback (most recent call last): File ...
最新文章
- 今天,小程序正式支持 SVG
- systemverilog数据类型
- 数字信号处理基础知识之DFT、DTFT、DFS、FFT基本概念扫盲
- max std value 宏_Rust Macro/宏 新手指南
- [转] Lodash
- 迭代获取ViewState
- Keras官方中文文档:Keras安装和配置指南(Windows)
- SVN学习总结(4)——解决Win10 SVN图标不显示问题
- Google发布中文名称“谷歌”
- URL中文传值乱码解决方式
- 如何在 Mac 上查找和管理 Safari 下载?
- js requestAnimationFrame
- AMTEmu v0.9.2
- 汽车电子电气架构EEA演变
- 程序员朋友们,请答应我?别再去东南亚写代码了好么?
- 微信小程序_(2022)微信小程序开发者后台管理登录/开发成员管理/开发设置中设置(云)服务器/数据拉取权限配置/appID查看/邮箱修改
- 冻库正常低压力是多少_零下40度低温低压压力多少算正常?
- oracle11g批量insert多条,Oracle高效批量插入数据
- Matlab syms 矩阵变量,matlab syms.m
- 数列的单调有界和极限值