Skip to content

Releases: raspberrypi/picamera2

Release 0.3.18

18 Apr 12:13
Compare
Choose a tag to compare

0.3.18 Beta Release 17

Added

  • Yolov5s TensorFlow example.
  • MJPEG server example with 90/270 degree rotation.

Changed

  • File descriptor leak fixed when closing DmaAllocator.
  • EGL memory leak fied.
  • Missing R16 mono raw format added for Pi 5.
  • Minor LibavH264Encoder improvements.

Release 0.3.17

16 Feb 09:22
Compare
Choose a tag to compare

0.3.17 Beta Release 16

Added

  • Pi 5 users can now request 48-bit RGB outputs (where each R, G and B sample is 16-bit).
  • Support for h.264 codec profiles.
  • DNG files can be written to ioBytes objects.
  • Persistent allocators added.
  • Timeout support waiting for asynchronous requests to complete.

Changed

  • FFmpeg thread queue size increased, to suppress warnings and improve behaviour.
  • Quality argument is respected properly by start_encoder().

Release 0.3.14

06 Nov 14:07
Compare
Choose a tag to compare

0.3.14 Beta Release 13

Added

Changed

  • All picamera2.allocators package.

0.3.13 Beta Release 12

Added

  • Pi 5 support added. Includes platform detection, new raw formats etc.
  • Libav encoders added. These will be used as the H264 and MJPEG encoder on Pi 5.

Changed

  • Frame buffers are now cached to improve performance.
  • Encoders should no longer drop frames when closed.
  • FfmpegOutput should stop properly when there's an audio stream.
  • Updates for the latest version of libcamera, including sensor configuration.

Release 0.3.12

18 Jul 10:39
Compare
Choose a tag to compare

0.3.12 Beta Release 11

Added

Changed

  • Small bug that prevented the configuration of USB cams fixed.

Release 0.3.11

11 Jul 10:53
Compare
Choose a tag to compare

0.3.11 Beta Release 10

Added

Changed

  • The search path for tuning files (after the libcamera re-organisation) has been fixed.
  • The built-in configuration objects (picamera2.preview_configuration etc.) are updated to work better with raw streams now that the latest libcamera is more efficient when we use them.

Release 0.3.10

28 Jun 10:53
Compare
Choose a tag to compare

0.3.10 Beta Release 9

Added

  • Support for running multiple encoders, either on the same or different streams.
  • Pathlib objects now supported.

Changed

  • The camera can be stopped more quickly.
  • Fix problem passing modes from the sensor mode list to the configure methods.
  • H264 encoder quality was having no effect on bitrate - fixed.
  • ffmpegoutput - wait correctly for it to finish when we stop it.
  • Amount of CMA memory required is reduced for many use cases.

Beta release 8

01 Mar 13:39
Compare
Choose a tag to compare

0.3.9 Beta Release 8

Added

  • MJPEG server example added that uses the hardware MJPEG encoder.
  • Example showing previews from two cameras in a single Qt app.
  • H264 encoder can accept a frame time interval to be put in the SPS headers.
  • H264 encoder should now advertise the correct level in streams for higher bitrates.
  • Exif DateTime and DateTimeOriginal tags are now added.
  • H264 encoder now supports a constant quality parameter.

Changed

  • JpegEncoder chooses pixel format automatically from the stream format.
  • Work around OpenGL import error on 64-bit OS Lite images.
  • FFmpeg: use the audio_samplerate parameter correctly.
  • camera_controls are converted to native Python types (tuples, not libcamera.Rectangle objects).
  • Camera configuration will fail if an encoder is still running.
  • Encoder interface tidied to make it easier to run a second encode "by hand" (example included).
  • Picamera2 updated for the latest libcamera which changes colour space handling.
  • Encoder outputs no longer close files that they didn't open.
  • CircularOutput class now flushes the fifo correctly when outputs are closed.
  • Bug fix when capturing several DNG files back to back.

Beta release 7

05 Jan 14:57
Compare
Choose a tag to compare

0.3.8 Beta Release 7

Added

  • Support for cameras that have autofocus integrated properly with libcamera.
  • New switch_mode_and_capture_request method.

Changed

  • Fewer frame drops when recording videos.
  • Fixes when closing a preview window with the mouse.

Beta release 6

01 Dec 09:31
Compare
Choose a tag to compare

0.3.7 Beta Release 6

Added

  • Ability to control via the configuration "queue" parameter whether Picamera2 keeps hold of the last completed request or not. This means you may wait marginally longer for a capture in some use cases, but also that the system cannot give you the frame that arrived slightly before you requested it.

Changed

  • The Picamera2.start_encoder function prototype has been made very similar to Picamera2.start_recording for consistency. Most existing calls still work, but there are a few call patterns that may need updating. The new prototype is: start_encoder(self, encoder=None, output=None, pts=None, quality=Quality.MEDIUM)
  • The Picamera2.wait function now requires an argument, which is the "job" that was returned to you when you made the asynchronous call, for example instead of
picam2.capture_file("test.jpg", wait=False)
metadata = picam2.wait()

you would use

job = picam2.capture_file("test.jpg", wait=False)
metadata = picam2.wait(job)

Please also refer to our updated Qt examples.

  • Some bug fixes when starting and stopping encoders.
  • Risk of video frame drops during transient busy periods reduced.

Beta release 5

09 Nov 13:28
Compare
Choose a tag to compare

0.3.6 Beta Release 5

Added

  • The Picamera2.global_camera_info() method will return information about all the attached cameras.
  • We have introduced the ability to control multiple Picamera2 objects (all opened for different cameras) within the same Python process. They behave independently and can each have their own preview window.
  • There is now limited support for USB webcams that deliver MJPEG or YUYV streams. Images can be displayed by the QT (not QTGL) preview.
  • Picamera2 objects have a title_fields property which can be set to a list of the metadata fields to display on the preview window title bar (for example `picam2.title_fields = ["ExposureTime", "AnalogueGain"]).

Changed

  • Resources are freed more reliably when Picamera2 objects are closed.