Javacv在Windows下正常运行,在Linux上报异常~Could not initialize class org.bytedeco.javacv.FFmpegFrameGrabber

博客讲述了作者在使用JavaCV进行视频录制时遇到的问题,即在Windows环境下正常运行,但在Linux服务器上出现`Could not initialize class org.bytedeco.javacv.FFmpegFrameGrabber`的异常。经过多次尝试和排查,发现问题是由于Linux服务器缺少libxcb库导致。安装libxcb后问题得到解决,最终选用的JavaCV版本为1.5.5。博主提醒遇到类似问题的开发者可以检查相关依赖和系统库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 问题描述

今天来分享一个违背Java跨平台的问题,在学习Java第一课老师肯定就是吹嘘Java如何强大,如何跨平台,如何一次编译,到处执行;本文就遇见了在本地windows环境开发没有问题,在Linux的服务器上运行各种异常,这不是有点违背Java跨平台的意思哇?
这个问题估计是我花费最长时间来解决的一个问题,前前后后估计有5个工作日左右来部署定位排查;花那么长的时间主要是因为以前没有接触过运用Javacv录制视频,测试环境部署权限又在一个兼职大佬手上,每次需要在服务器上修改点什么总是要等到他下班后才有时间,网上关于这个问题的解答也确实不尽人意,总结主要了两个原因:
一:依赖的Javacv版本冲突或者版本不对;
二:少部分开发人员说服务器环境缺少相关文件配置。

2021/8/12 上午9:24:29java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacv.FFmpegFrameGrabber
2021/8/12 上午9:24:29 at com.ccct.service.impl.CameraServiceImpl.grabberRecorder(CameraServiceImpl.java:117) ~[classes!/:0.0.1-SNAPSHOT]
2021/8/12 上午9:24:29 at com.ccct.service.impl.CameraServiceImpl.startRecord(CameraServiceImpl.java:68) ~[classes!/:0.0.1-SNAPSHOT]
2021/8/12 上午9:24:29 at com.ccct.controller.CameraController.startRecord(CameraController.java:41) ~[classes!/:0.0.1-SNAPSHOT]
2021/8
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值