javacv

Java interface to OpenCV, FFmpeg, and more

OTHER License

Stars
7.5K
Committers
79

Bot releases are hidden (Show)

javacv - JavaCV 1.5.10 Latest Release

Published by saudet 9 months ago

January 29, 2024 version 1.5.10

  • Work around swscale bug in FFmpegFrameGrabber for images with unaligned width (issue #1960)
  • Improve FFmpegFrameGrabber.setTimestamp() further for MPEG-TS streams (pull #2144)
  • Fix module-info.java broken since last release (issue bytedeco/javacpp-presets#1414)
  • Add new AudioSplitMergeHelper sample for processing raw audio frames (pull #2052)
  • Upgrade dependencies for OpenBLAS 0.3.26, OpenCV 4.9.0, FFmpeg 6.1.1, Leptonica 1.84.1, Tesseract 5.3.4
javacv - JavaCV 1.5.9

Published by saudet over 1 year ago

June 6, 2023 version 1.5.9

  • Add FrameRecorder.videoSideData/audioSideData properties and FFmpegFrameRecorder.setDisplayRotation() for convenience (issue #1976)
  • Fix FFmpegFrameGrabber.grab() not returning audio frames buffered by the codec (issue #1971)
  • Upgrade dependencies for OpenBLAS 0.3.23, OpenCV 4.7.0, FFmpeg 6.0 (issue #1693), librealsense2 2.53.1, Leptonica 1.83.0, Tesseract 5.3.1
javacv - JavaCV 1.5.8

Published by saudet almost 2 years ago

November 2, 2022 version 1.5.8

  • Override FFmpegFrameGrabber.getVideoCodecName()/getAudioCodecName() to return names of opened codecs (pull #1901)
  • Add FrameGrabber.videoDisposition/audioDisposition properties to select streams by disposition (pull #1879)
  • Work around OpenKinect2FrameGrabber failing when provided with a pipeline on some system (pull #1886)
  • Fix FFmpegFrameRecorder.record() incorrectly flushing the video codec on data frames (issue #1858)
  • Improve accuracy of FFmpegFrameGrabber.setFrameNumber() (pull #1851)
  • Add FrameGrabber.resetStartTime() to allow grabAtFrameRate() after operations such as seeking (pull #1846)
  • Add FrameGrabber.videoSideData/audioSideData properties and FFmpegFrameGrabber.getDisplayRotation() for convenience (issue #1361)
  • Add to FFmpegFrameGrabber and FFmpegFrameRecorder constructors taking a URL for convenience and clarity
  • Fix incorrect call to opencv_calib3d.stereoRectify() in ProjectiveDevice (issue #1802)
  • Retry after 10 ms when av_read_frame() returns EAGAIN in FFmpegFrameGrabber.grabFrame() (issue #1784)
  • Append frame_rate=%d/%d input parameter in FFmpegFrameFilter as required by xfade (issue #1776)
  • Update FFmpegStreamingTimeout sample to use timeout instead of stimeout for RTSP (pull #1758)
  • Restore static calls to FFmpegFrameGrabber.tryLoad() and FFmpegFrameRecorder.tryLoad() (issue #1756)
  • Enable by default on RealSense2FrameGrabber.start() all color, depth, and IR streams as videoStream (pull #1750)
  • Upgrade dependencies for OpenBLAS 0.3.21, OpenCV 4.6.0, FFmpeg 5.1.2, Leptonica 1.82.0 (pull #1791), Tesseract 5.2.0
javacv - JavaCV 1.5.7

Published by saudet over 2 years ago

February 11, 2022 version 1.5.7

  • Fix accuracy and latency issues with FFmpegFrameGrabber.setVideoFrameNumber() (pull #1734)
  • Add new Frame.pictType field set to I, P, B, etc by FFmpegFrameGrabber (pull #1730)
  • Set metadata for AVFrame.opaque in FFmpegFrameGrabber with call to av_frame_copy_props() (issue #1729)
  • Add charset property to FrameGrabber and FrameRecorder to use for metadata from FFmpeg (pull #1720)
  • Call Frame.close() on temporary clones in Java2DFrameUtils to prevent premature deallocations (issue #1716)
  • Ignore errors from avcodec_send_packet() and avcodec_receive_frame() to emulate old API in FFmpegFrameGrabber (issue #1679)
  • Upgrade dependencies for OpenBLAS 0.3.19, OpenCV 4.5.5, FFmpeg 5.0, librealsense2 2.50.0, Leptonica 1.82.0, Tesseract 5.0.1
javacv - JavaCV 1.5.6

Published by saudet about 3 years ago

August 2, 2021 version 1.5.6

  • Enhance audio and video synchronization of JavaFxPlayVideoAndAudio sample (pull #1662)
  • Add FrameGrabber.grabAtFrameRate() to simulate a device or stream when reading from files (pull #1659)
  • Update FFmpegFrameGrabber and FFmpegFrameRecorder with new avcodec API (issue #1498)
  • Add new Similarity sample with PSNR and MSSIM (pull #1622)
  • Avoid crash in FFmpegFrameRecorder.stop() by moving av_write_trailer() out of flush() (issue #1616)
  • Upgrade dependencies for OpenBLAS 0.3.17, OpenCV 4.5.3, FFmpeg 4.4, librealsense2 2.44.0, Leptonica 1.81.1
javacv - JavaCV 1.5.5

Published by saudet over 3 years ago

March 8, 2021 version 1.5.5

  • Have Frame and FrameConverter implement AutoCloseable to release memory explicitly (issue #1574)
  • Add new YOLONet sample for object detection (pull #1595)
  • Fix crash on FFmpegFrameGrabber.stop() when in ImageMode.RAW (issue #1568)
  • Let FFmpegFrameRecorder.flush() ignore errors from the encoder (issue #1563)
  • Improve FFmpegFrameGrabber.setTimestamp() and fix getAudioFrameRate() (pull #1559)
  • Fix frame rate and aspect ratio on FFmpegFrameRecorder.start(AVFormatContext) (pull #1535)
  • Upgrade dependencies for OpenBLAS 0.3.13, OpenCV 4.5.1, FFmpeg 4.3.2, librealsense2 2.40.0
  • Update unit tests to use codecs available in FFmpeg under LGPL v3 (pull bytedeco/javacpp-presets#950)
  • Add RealSense2FrameGrabber.tryLoad() method and missing entries for librealsense2 (issue bytedeco/procamcalib#25)
javacv - JavaCV 1.5.4

Published by saudet about 4 years ago

September 9, 2020 version 1.5.4

  • Fix error message thrown from FFmpegFrameRecorder.start() not containing filename (pull #1492)
  • Fix FFmpegFrameFilter.pull() not returning audio/video frames without audio/video filtergraph (issue #1466)
  • Update OpenCVFrameConverter.convertToOrgOpenCvCoreMat() with new API to set the stride (issue #1460)
  • Fix memory leaks and reduce memory fragmentation in FFmpegFrameGrabber and FFmpegFrameRecorder (issue #1366)
  • Use PointerScope in FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder to deallocate quickly temporary buffers (issue #1383)
  • Fix FFmpegFrameFilter by calling String.format() with Locale.ROOT (pull #1441)
  • Increase thread safety of FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder with synchronized methods (issue #1434)
  • Upgrade dependencies for OpenBLAS 0.3.10, OpenCV 4.4.0, FFmpeg 4.3.1, and Leptonica 1.80.0
javacv - JavaCV 1.5.3

Published by saudet over 4 years ago

April 14, 2020 version 1.5.3

  • Add FFmpegFrameGrabber.start(boolean findStreamInfo) parameter to minimize startup time (issue #1376)
  • Let FFmpegFrameGrabber.grab() return non-audio/video streams as new Frame.DATA type (pull #1378)
  • Fix crash in FFmpegFrameRecorder.flush() for HLS format and possibly others (pull #1374)
  • Fix "Resetting to invalid mark" IOException thrown on FFmpegFrameGrabber.release() (issue #911)
  • Upgrade dependencies for OpenBLAS 0.3.9, OpenCV 4.3.0, FFmpeg 4.2.2, Leptonica 1.79.0, and Tesseract 4.1.1
  • Add Seekable and SeekableByteArrayOutputStream to be used with FFmpegFrameRecorder (pull #1350)
  • Update RealSense2FrameGrabber with support for sensor options and fix for multiple devices (pull #1348)
javacv - JavaCV 1.5.2

Published by saudet almost 5 years ago

November 5, 2019 version 1.5.2

  • Increase thread safety of FFmpegFrameFilter, FFmpegFrameGrabber, and FFmpegFrameRecorder with volatile boolean started flag (pull #1325)
  • Let FFmpegFrameFilter.push(null) indicate EOF to audio filters as well (issue #1315)
  • Add RealSense2FrameGrabber to capture images with librealsense2 (pull #1316)
  • Disable seek function in FFmpegFrameGrabber when maximumSize <= 0 (issue #1304)
  • Use Pointer.retainReference() to prevent PointerScope from deallocating globally shared callback objects for FFmpeg
  • Fix FFmpegFrameRecorder failing to encode float samples in MP3 (issue #1294)
  • Fix OpenCVFrameConverter error in IPCameraFrameGrabber (pull #1278)
  • Allow setting properties for OpenCVFrameGrabber and OpenCVFrameRecorder with setOption() (issue #1269)
  • Add missing requires java.desktop to module-info.java (issue #1265)
  • Upgrade dependencies for OpenBLAS 0.3.7, OpenCV 4.1.2, FFmpeg 4.2.1, librealsense 1.12.4, and librealsense2 2.29.0
javacv - JavaCV 1.5.1

Published by saudet over 5 years ago

July 9, 2019 version 1.5.1

  • Work around swscale bug in FFmpegFrameGrabber for images with unaligned width (issue #845)
  • Add support for AVSEEK_SIZE to FFmpegFrameGrabber as required by MPEG-TS (issue #1234)
  • Throw exception on start() for already started FFmpegFrameFilter, FFmpegFrameGrabber, or FFmpegFrameRecorder (issue #1233)
  • Add dependency on OpenBLAS/MKL, now used by OpenCV to accelerate some matrix operations
  • Upgrade dependencies for OpenCV 4.1.0, libdc1394 2.2.6, and Tesseract 4.1.0
  • Add support for Frame.timestamp to FFmpegFrameFilter (issue #1177)
javacv - JavaCV 1.5

Published by saudet over 5 years ago

April 11, 2019 version 1.5

  • Override methods in FFmpegFrameGrabber to get all metadata from streams (issue #1180)
  • Fix sample rate in output of FFmpegFrameRecorder by setting deprecated AVStream.codec.time_base (issue #1179)
  • Add asetpts=N to input of FFmpegFrameFilter to make filters like afade behave as expected (issue #1171)
  • Use AVFormat.format() from Frame.opaque when available in FFmpegFrameFilter and FFmpegFrameRecorder (issue #1173)
  • Enable multithreading for all codecs by default in FFmpegFrameGrabber and FFmpegFrameRecorder (issue #1163)
  • Improve thread safety of FFmpegFrameRecorder and Java2DFrameConverter by relying less on Buffer.position (pull #1166)
  • Use ModiTect to compile module-info.java with JDK 8 and preserve backward compatibility
  • Add FFmpegFrameRecorder.closeOutputStream and FFmpegFrameGrabber.closeInputStream properties to leave streams opened (issue #1149)
  • Add FFmpegFrameRecorder.flush() method that does not release the stream (issue #1149)
  • Readd synchronized blocks for FFmpegFrameGrabber and FFmpegFrameRecorder, but make unsafe methods public (issue #1139)
  • Allocate native memory for Frame using Pointer to allow deallocation with PointerScope (issue #1152)
  • Add module-info.java and depend on modularized JavaCPP Presets to comply with JPMS
  • Upgrade dependencies for FFmpeg 4.1.3, libfreenect 0.5.7, and Leptonica 1.78.0
  • Allow allocation of Frame images with custom strides
  • Take into account Bitmap.getRowBytes() in AndroidFrameConverter.convert(Bitmap) (issue #1143)
  • Add static { Loader.load(); } in LeptonicaFrameConverter and OpenCVFrameConverter to prevent link errors (issue #1128)
Package Rankings
Top 2.31% on Repo1.maven.org
Badges
Extracted from project README's
Gitter Maven Central Sonatype Nexus (Snapshots) Build Status xscode