Javacv Versions Save

Java interface to OpenCV, FFmpeg, and more

1.5.10

3 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

1.5.9

10 months 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

1.5.8

1 year 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

1.5.7

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

1.5.6

2 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

1.5.5

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)

1.5.4

3 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

1.5.3

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)

1.5.2

4 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

1.5.1

4 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)