Java 64 位 VM - 实时抓取视频帧以进行像素操作
Java 64bit VM - Video frame grab realtime for pixel manipulation
正在编写实时 VJ 应用程序 (Chaoslab VJ)。一直在用JMF做视频播放和抓帧。生成的抓取图像只是一个 int 数组。它的性能还不错,可以处理混合播放的多个视频和效果没问题。
但是... JMF 很旧,存在稳定性问题,没有维护并且不能与 64 位 JVM 一起使用。在 Windows 上,32 位 JVM 限制为 1.5g 内存,而 64 位 JVM 限制为 8g 内存。
问题:
什么是当前最好的 64 位 JVM 兼容 Java API / 用于视频播放和帧抓取(到 int 数组)的库。
更新:
JavaCV / OpenCV 也是一种方法,并且已经开始工作。随时询问您是否需要从 Java.
中的视频流中抓取原始像素数据
教程 - http://ganeshtiwaridotcomdotnp.blogspot.co.nz/search/label/OpenCV-JavaCV
GitHub - https://github.com/bytedeco/javacv
虽然这不是问什么是最好的地方,但我建议你看看 OpenCV(https://opencv.org/) or its Java-Implementation JavaCV (https://github.com/bytedeco/javacv)
正如你所说,JMF已经严重老了,已经很久很久没有更新了。它的局限性还在于它仅支持 video4Linux 版本 1,而不支持版本 2,这意味着不支持大多数现代网络摄像头。
另一种选择是 FMJ(Java 中的媒体自由)。这主要 API 与 JMF 兼容,因此是一个很好的替代品。
正在编写实时 VJ 应用程序 (Chaoslab VJ)。一直在用JMF做视频播放和抓帧。生成的抓取图像只是一个 int 数组。它的性能还不错,可以处理混合播放的多个视频和效果没问题。
但是... JMF 很旧,存在稳定性问题,没有维护并且不能与 64 位 JVM 一起使用。在 Windows 上,32 位 JVM 限制为 1.5g 内存,而 64 位 JVM 限制为 8g 内存。
问题: 什么是当前最好的 64 位 JVM 兼容 Java API / 用于视频播放和帧抓取(到 int 数组)的库。
更新:
JavaCV / OpenCV 也是一种方法,并且已经开始工作。随时询问您是否需要从 Java.
中的视频流中抓取原始像素数据教程 - http://ganeshtiwaridotcomdotnp.blogspot.co.nz/search/label/OpenCV-JavaCV
GitHub - https://github.com/bytedeco/javacv
虽然这不是问什么是最好的地方,但我建议你看看 OpenCV(https://opencv.org/) or its Java-Implementation JavaCV (https://github.com/bytedeco/javacv)
正如你所说,JMF已经严重老了,已经很久很久没有更新了。它的局限性还在于它仅支持 video4Linux 版本 1,而不支持版本 2,这意味着不支持大多数现代网络摄像头。
另一种选择是 FMJ(Java 中的媒体自由)。这主要 API 与 JMF 兼容,因此是一个很好的替代品。