The goal of this project is to allow integrated or USB-connected webcams to be accessed directly from Java. Using provided libraries users are able to read camera images and detect motion. Main project consist of several sub projects - the root one, which contains required classes, build-in webcam driver compatible with Windows, Linux and Mac OS, which can stream images as fast as your camera can serve them (up to 50 FPS). Main project can be used standalone, but user is able to replace build-in driver with different one - such as OpenIMAJ, GStreamer, V4L4j, JMF, LTI-CIVIL, FMJ, etc.
This is official release of Webcam Capture API, version 0.3.12. Dependency is available for everyone directly from Maven Central repository:
Maven:
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.12</version>
</dependency>
Gradle:
compile 'com.github.sarxos:webcam-capture:0.3.12'
Grape:
@Grapes(
@Grab(group='com.github.sarxos', module='webcam-capture', version='0.3.12')
)
Ivy:
<dependency org="com.github.sarxos" name="webcam-capture" rev="0.3.12" />
The JAR file will all required dependencies can be also downloaded in ZIP file in case if someone does not use Maven:
webcam-capture-0.3.12-dist.zip
The following capture drivers are available for 0.3.12:
Known issues / caveats:
com.github.sarxos.webcam.ds.gstreamer
instead of com.github.sarxos.webcam.ds.screencapture
. You will have to change this after newer version is released.Full list of changes between 0.3.11 and 0.3.12 can be found below (the most bottom ones are the oldest):
e19125c
| [maven-release-plugin] prepare release webcam-capture-parent-0.3.12b4a1403
| [maven-release-plugin] rollback the release of webcam-capture-parent-0.3.1261d79c3
| [maven-release-plugin] prepare release webcam-capture-parent-0.3.12da19ebd
| Add akka example to parent module177d768
| Ignore dependency-reduced-pom fileccab73b
| Let Travis.CI build on JDK8 insead of JDK72093a7a
| Regenerate web page from newest README.mde9988c2
| Format POMs to conform with standardsfa9eea3
| Revert "[maven-release-plugin] prepare release webcam-capture-parent-0.3.12"e030176
| Revert "[maven-release-plugin] prepare for next development iteration"81b9239
| Change parent OSS versionafc752d
| [maven-release-plugin] prepare for next development iteration70f2e4e
| [maven-release-plugin] prepare release webcam-capture-parent-0.3.12b40a01c
| Fix typo in screen capture driver README.mdc96f3c1
| Add adaptive size writer with example, refs #551012fa10
| Add comment in old (0.10.x) GStreamer driverd18bfa9
| Add README.md in screen capture drivercc6087c
| Small fix in parallel buffer access example, refs #599abaf107
| Add BufferAccess interface to IpCamDevice, refs #60712c3f55
| Add pom.xml.bak to files ignored by gitfbd3c18
| Merge pull request #609 from yuripourre/master3a238cf
| Add example for parallel use of Webcam.getImageBytes(), refs #599c8484d1
| New example - how to use WebcamPanel.ImageSupplier, refs #599727db46
| Ability to specify ImageProvider in WebcamPanel, refs #599c43160e
| Fix typo781861f
| Non blocking webcam panel startingae85738
| Small changes and javadocs in screen capture drivera353467
| Update README.md, add examples for flip and rotate969202a
| Example for WebcamPanel Painter which flips image, refs #5819a12ed2
| Example for WebcamPanel Painter which rotates image, refs #581de05c76
| Create http context only once instead on every get13b0b61
| Redisign IP camera driver and fix FPS calculation6a47494
| Bind WebcamStreamer server socket to 0.0.0.03876d3c
| Do not dump exception in WebcamStreamer on connection closefacdf3b
| Add discovery support in composite driver, refs #332d2d9a40
| Merge pull request #569 from gubjack/capture-resolution0e0ccae
| Add screen capture driverd4a5c8d
| Update README.md, links to Genuine Coder's videos7e35538
| Do not use JPEG parser with MJPEG format5ff7c3c
| Use Kernel Streaming instead of Direct Show sourceb6e9044
| Add MJPEG support in GStreamer driver, refs #145524f7ba
| Add unit test for JHBlurFilter55c9bda
| Fix HeadlessException in Travis buildb64caaf
| Small unit tests for WebcamPanela04d1ca
| Fix logs in LTI-CIVIL library loader5050301
| Make Maven build on Travis less verbosedb8a4c5
| Switch to JDK7 and add some tests233672f
| Bump version up in LTI-CIVIL driver READMEdb7e015
| Merge pull request #552 from yuripourre/patch-16a5b30a
| Merge pull request #550 from junbaor/patch-12044162
| WebcamPanel properties for spanish, refs #5498632fda
| Use source 1.8 for GStreamer 1.x capture drivere3e92c7
| Fix GStreamer 1.x capture driver POM809edcf
| Add resolutions support in OpenCV capture driver5c14101
| Add example for Do-Not-Engage zone feature, refs #5249ee9d94
| Add new motion detection algorithm (DNE), refs #5242fd33d1
| Merge pull request #548 from kamenomagic/mastere7847df
| Update README to reflect correct version and new examplesfb581d3
| Add example for how to use webcam from Akka5b985bf
| Update zxing to newest version and upgrade example to Java 835536a8
| Merge pull request #538 from WesleyM77/patch-1e797e74
| Update auth per note from Dan Hagiiani856c6c2
| Webcam JavaFX Service and View example, refs #35764fdd35
| Add dedicated class for D-Link DSC-933L IP camera, refs #51144e7b2e
| GStreamer 1.0 capture driver, continuation 24750d89
| GStreamer 1.0 capture driver, continuation301f50a
| New GStreamer 1.0 capture driver, work in progress492026e
| Merge pull request #499 from antego/patch-1c370505
| Merge pull request #510 from jbq/master7e82df6
| GStreamer 1.x work in progress47db27f
| More exclusions in OpenIMAJ transitive dependencies4a6cd2e
| Merge pull request #483 from peterchaula/masterd84765b
| Add possibility to set IP cameras http timeout8330cf0
| Merge pull request #441 from twistedtwin/mastercdb4a39
| Add maven dependency from central, refs #4422ccfaed
| Set timeout once, after grabber is open, fixes #4317c565ab
| Cleanup after fixing refs #43292a2fc8
| Fine tuning saving memory consumption in JFX example, refs #432158b65a
| Fix rendering memory leak in JavaFX example, fixes #43287ee6bf
| Fix link to snapshotce6d865
| Merge pull request #422 from babanin/master5f6cb52
| Merge pull request #404 from levackt/master09eef0d
| Merge pull request #418 from jonburgin/master287addb
| Merge pull request #415 from jonburgin/master4e26313
| Update parent POMs to reflect version change5473e3b
| [maven-release-plugin] prepare for next development iterationThis is official release of Webcam Capture API, version 0.3.11. Dependency is available for everyone directly from Maven Central repository:
Maven:
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.11</version>
</dependency>
Gradle:
compile 'com.github.sarxos:webcam-capture:0.3.11'
Grape:
@Grapes(
@Grab(group='com.github.sarxos', module='webcam-capture', version='0.3.11')
)
Ivy:
<dependency org="com.github.sarxos" name="webcam-capture" rev="0.3.11" />
The JAR file will all required dependencies can be also downloaded in ZIP file in case if someone does not use Maven:
webcam-capture-0.3.11-dist.zip
The following capture drivers are available for 0.3.11:
Known issues / caveats:
Full list of changes between 0.3.10 and 0.3.11 can be found below (the most bottom ones are the oldest):
a9423c9
| [maven-release-plugin] prepare release webcam-capture-parent-0.3.11da713fe
| Small enhancements in WebSocket example, refs #3900f87892
| Fix updater failure when underlying driver throws exception, fixes #390e23df55
| Merge pull request #392 from schallee/mastera659148
| Fix buggy synchronization in V4L4J driverd93e386
| Add image rotation example36e1138
| Add example to list in README, clean file format, refs #3503eafb77
| Use convert() instead of getBufferedImage() as suggested77ec9a2
| Add cause to exception being thrown in JavaCV deviced50521d
| Upgrade JavaCV from 0.8 to 1.0, fixes #3631a8501f
| Merge pull request #350 from tm1990/master9827348
| Update LICENSE.txt2eab2b6
| Update LICENSE.txta2dd852
| Get unsupported resolution work with predefined sizes, refs #327feb8cce
| Upgrade BridJ to version 0.7e33c784
| Change parent POMe2914f9
| Merge pull request #330 from fcestrada/master0d41c59
| Add link to Raspberry Pi howto [ci skip]1b144fa
| Merge pull request #323 from krok32/mastere90f760
| Add support for RasPi camera module in v4l4j driver2219579
| Update README.md [ci skip]e73d57f
| Update fswebcam driver README.md [ci skip]0a198cb
| Update v4l4j version to newest one2ad6b81
| Merge pull request #313 from krok32/master2697860
| Update README.md [ci skip]077e341
| Update WebScokets example README.md [ci skip]6a8a2f6
| WebSocket transport example646f426
| Merge pull request #312 from krok32/master0b96dd2
| Merge pull request #311 from krok32/master306a548
| Newer formatter rules [ci skip]b9784df
| Merge pull request #306 from krok32/masterbcfdee1
| Update pages, refs #298 [ci skip]3346884
| Update incorrect links, fixes #298 [ci skip]fac1e05
| Use vlcj direct rendering instead of snapshotb793d61
| Fix vlcj option names (v4l2 instead of v4l)21b1bfd
| Test vlcj direct rendering, cont76cdc99
| Test vlcj direct renderinge52b03e
| Update badges in README.md [skip ci]6010d60
| Add Maven central badge in README.md612a47c
| Fix window name in JavaCV driver example6c47868
| Update pages project to generate website from README.mdef57d24
| Gitignore Eclipse specific files72c3a9e
| Get rid of Eclipse specific files277b5e8
| More unit tests for WebcamLock, etc7c673a8
| Make shutdown protected, refs #2896b1ac58
| Update parent POM version90a4d24
| Fix OpenIMAJ driver buildf089c2a
| Small fix in testsf2a5d33
| Illegal state exception when adding shutdown hook1a7198a
| Black image captured instead of view from camera, fixes #2852e10f95
| Change image type ARGB to RGB in example, refs #282d7ee68c
| Modify title in README.mda348abb
| Image transformer example, refs #28220fc506
| Update FoscamJpegPullExample.java4c9c733
| Rename FoscamMjpegPullExample.java to FoscamJpegPullExample.java1081ed6
| Return null instead of throwing exception, refs #2672c908ca
| Add utility method Webcam.getWebcamByName(..), closes #270a3e8de9
| Add motion detector example using IP camera driver, refs #26753988ef
| Speed up detector instantiation when IP camera is used2ebe58d
| Add some usable methods in WebcamMotionEvent1e7b4a6
| MJPEG reader hangs when stream is broken, fixes #26966f16b3
| Unable to specify PUSH mode in cameras descriptor, fixes #26891de411
| Update README.mdf3dc2d6
| Update README [ci skip]8889d8c
| POM magic to make Maven site working fined3c8c5c
| [maven-release-plugin] prepare for next development iterationThis is official release of Webcam Capture API, version 0.3.10. Dependency is available in Maven Central:
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.10</version>
</dependency>
The JAR file will all required dependencies can be also downloaded in ZIP file in case if someone does not use Maven:
webcam-capture-0.3.10-dist.zip
JavaDoc is available at:
http://webcam-capture.sarxos.pl/site/webcam-capture/apidocs/index.html
The following capture drivers are available for 0.3.10:
Known issues / caveats:
Full list of changes between 0.3.9 and 0.3.10 can be found below (the most bottom ones are the oldest).
7th Release Candidate for Webcam Capture v0.3.10
6th Release Candidate for Webcam Capture v0.3.10
This is Webcam Capture v0.3.8 release.
This is last release for which all required Maven artifacts exists, however it's not the newest one. I suggest to use newer release if you don't need it to be in Maven Central.
4th Release Candidate for Webcam Capture v0.3.10