Releases: raspberrypi/picamera2
Releases · raspberrypi/picamera2
Release 0.3.14
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
0.3.12 Beta Release 11
Added
Changed
- Small bug that prevented the configuration of USB cams fixed.
Release 0.3.11
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
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
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
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
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 toPicamera2.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
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.
Beta release 4
0.3.5 Beta Release 4
Added
Changed
- Add support for outputting timestamps when using the JPEG encoder for video.
- Fix a bug which prevented the mjpeg_server.py example from working. This has also been added to the automatic test suite so shouldn't get broken again!
Beta release 3
0.3.4 Beta Release 3
Added
- Ability to record uncompressed or raw video frames.
Changed
- Releasing of camera resources has been made more reliable, so once the Picamera2 object has been closed it can be re-opened more reliably (optionally by other processes).
- Logging has been revised to work better with applications already using Python logging.
- Some reporting of, and recovery from, certain error conditions has been improved.
- Large encoded video frames are now split automatically for streaming over UDP.