LabVIEW中AVI文件 2GB 大小限制问题
当LabVIEW使用IMAQ Vision写入AVI文件达到2GB时会触发错误。2019及以上版本需使用支持大文件的编解码器(如Motion JPEG、FFV1等),而2018及以下版本因固有限制只能采取分文件写入或改用旧版VI的方式解决。不同编解码器对大文件的支持能力各异,NI自带的编解码器通常支持超过2GB的文件,而第三方编解码器需自行验证兼容性。
在 LabVIEW 中使用 IMAQ Vision 写入 AVI 文件时,文件大小达到 2GB 后会触发错误 -1074395965(十六进制 0xBFF604C3),错误提示为:“IMAQ Vision: (十六进制 0xBFF604C3)AVI 文件已达到 2GB 的最大尺寸”。

涉及产品 / 驱动
-
软件:Vision Development Module(视觉开发模块)
-
驱动:NI-IMAQ、NI-IMAQdx
原因与版本
|
软件版本 |
限制说明 |
|
2019 及以上版本 |
Vision Development Module 2019 起,LabVIEW 本身支持写入超过 2GB 的 AVI 文件,但限制取决于所用编解码器(部分编解码器仍不支持大文件) |
|
2018 及以下版本 |
IMAQ AVI2 VIs 存在固有 2GB 限制,无法修改;32 位与 64 位 LabVIEW 的 AVI 文件处理能力一致 |
解决方案
1. 2019 及以上版本
核心方案:更换支持 2GB 以上文件的编解码器,避免使用不兼容编解码器。
支持大文件的编解码器(NI 测试验证,含 Vision 自带)
-
Motion JPEG(NI Vision)
-
FF 视频编解码器 1(FFV1)(NI Vision)
-
VP8(NI Vision)
-
VP9(NI Vision)
-
Y800 无压缩灰度(NI Vision)
-
YUV 420 平面格式(NI Vision)
不支持大文件的编解码器
-
Intel IUV 编解码器
-
Microsoft Video 1
-
Radius Cinepak 编解码器
2. 2018 及以下版本
因 IMAQ AVI2 VIs 限制无法突破,采用以下规避方案:
-
方案 1:分文件写入
使用 “获取文件大小函数(Get File Size Function)” 实时监控文件大小,在接近 2GB 阈值前,通过程序自动创建新 AVI 文件继续写入。
-
方案 2:改用旧版 IMAQ AVI VIs
调用位于 <National Instruments>\20XX\vi.lib\vision\ 路径下 Avi1.llb、Avi2.llb 库中的旧版 VIs(如 IMAQ AVI Write Frame.vi),注意:此类 VIs 的编解码器支持范围有限。
补充说明
-
上述编解码器列表为 NI 测试验证版本,非完整清单,仅作参考;
-
标注 “(NI Vision)” 的编解码器随 Vision Development Module 一同分发,默认支持大文件;
-
NI 不开发或修改第三方编解码器,其大文件支持能力由编解码器本身决定。
更多推荐



所有评论(0)