6.1.9
- can disable hardware recording indicator
- report more dependent library versions in recnode-version
6.1.8
- updated imgstore
- support for flir/spinnaker version 3.x
6.1.7
- fix handling of ordered config in console and multicam copy
6.1.6
- improve recnode-view-stream error messages
- fix recnode-view-stream with multiple cameras
- improve type inference with camera parameters
- recnode-view-stream supports bayer encoded streams
6.1.5
- add connnect/disconnect all to REST API
- fix wrong realtime stream information in rare multicam situations
- realtime stream can be bound to an interface IP
- expose timezone in camera status API
- add recnode-view-stream command to view a remote stream and
frame information
- can explicitly specify the web-browser system wide
6.1.4
- hide more UI elements in slave UI when slave
EnableRecord=false
- improve copy/move behavior when multicam slaves use different recording directories
- add IPC and
recnode-control
commands to fetch remote camera actual config - fix Motif6 rare race condition crashes on multicamera systems which sync before recording
- add
--connect-all
and --disconnect-all
to multicam api (command and REST)
6.1.3
6.1.2
- add rotation support
MotifImageRotate
- fix loopbio triggerbox issues
- fix firefox browser launch for snap firefox installs
6.1.1
- bugfixes for backend names and web-index
6.1.0
- support new arena sdk including, lucid 10G camera support,
chunk timestamp support
- support ptp sync for lucid cameras
- support new ptp sync mode for basler ace2
- add a debug viewer recnode-backend-camera-view
- more reset modes for cameras (reboot, soft, hard) and
support reseting cameras with recnode-backend-camera-reset
- support explicit ordering of camera parameter config
- removed PerCamera single-camera stanza. camera specific config
files are preferred.
6.0.0
5.2.5
* benchmark tool: add bayer decoding
* benchmark tool: add thread limiting of ffmpeg and opecv
5.2.4
- fix remaining time in UI
- add recnode-transcode command
5.2.3
- add new jetson codecs
- export to store should respect ffmpeg path
- configurable fullsize image preview width
- show recording duration remaining
- show durations longer than 24 hours correctly
- multicam triggerbox auto-config of cameras to hardware trigger mode now
respects camera serial number whitelist
- allow starting blacklisted cameras in multicam setups but have them
still ignored from triggerbox harder trigger autoconfig (above)
- support stream parameters in Spinnaker, also setting buffer mode explicitly
to NewestOnly
- add recnode-control --list-cameras to list locally connected cameras
5.2.2
- fix color codec detection on ace2 cameras
- support setting other configuration parameters, including default values, on phidgets
- support multiple IO UI elements targeting the same IO device (so can have switch and slider)
- recnode-control supports setting IO
- recnode-control supports getting IO
- add a 'remote' io backend to redirect config to another recnode io process
5.2.1
- added camera undistortion using loopy based intrinsic calibrations
- fixed G/B whitebalance setting on spinnaker
- also set recording indicator in the manual sync case (SynchronizeOnRecordStart=False)
although only precisely synchronous setting of the recording indicator signal with the
first saved from is supported in the SynchronizeOnRecordStart=True condition
- fix hvec in multi-GPU situations
- fix 421 temperature error in new Basler cameras
- fix ZMQ backend camera crashes in multicam case
- show actions in web-index in custom mode
- can disable chunk timestamp and use system time on Spinnaker
5.2.0
- (bugfix) more reliable setting of AcquisitionFramerateEnabled (note
the D)
- can add binary/switch camera parameters to UI
- (bugfix) misformed copy paths on windows crash rsync
- (bugfix) could not hide recording metadata
- dont set USB params on GigE cameras and vice-versa
- dont show camera temperature if unavailable
- dont show camera adjustments if disabled (null)
- can whitelist cameras in a Multicamera setup
- support ptp synchronization in multicamera setups
- (bugfix) always set LineSelector before LineSource
- recnode-control --read can read camera parameters
- (bugfix) fix multicamera master ui re-attach to camera nodes after master restart
- add nvenc-slow-yuv420-lq30 codec
- (bugfix) fix failure to quit cameras when cameras cannot acquire images
- (bugfix) work around SDK bug and reduce polling interval in certain configurations
- refactor camera IO line configuration for recording status support
- add support for starting recording from camera IO lines
- add support for uploading directly to loopy
- (bugfix) fix export to store from store
- (bugfix) also save gainabs and auto-exposure config to metadata
- add suppport for audio recording as an IO backend
- add MCC usb DAQ support to recnode-io
- (bugfix) incorrect store image shape with native color cameras
- prevent conflicting trigger and AcquisitionFramerateEnable
- (bugfix) do not prevent other trigger lines on non-loopbio triggerboxes
- lucid camera support
- add recnode-top (htop like system monitor)
- can adjust number of encoding threads
- adjustable process priority for IO process (reduces audio latency)
- multi-camera can autostart cameras
- show camera status in multicamera index page
- multi-camera can synchronize via command line or REST
- all camera parameters can now be set over API
- (bugfix) stop some half-framerate problems with hardware trigger on FLIR cameras
- (bugfix) hide lost+found directory
- (linux only) web-index serial number based redirects to camera
- (bugfix) only list video compatible v4l devices
- (bugfix) prevent infinite loop exporting on broken stores
- show a status icon on linux always
- compulsory metadata support
- support feeltech trigger devices
- better error message when externally triggered and trigger is not connected
- timelapse support
- photo mode (programatically schedule single photos to be taken)
- (bugfix) loopbio triggerbox only supports Line1 trigger sources
- can write messages to be logged in extra-data (json backend only) via REST API
- can read IO values from REST API
- moving files (from the API) now ignores currently recording imgstores yet
still copies completed chunks, which makes it safe to call/schedule regularly
in order to keep extremely long recordings synchronized on storage
- (bugfix) difficulty starting >10 cameras in some multicam configurations
- (bugfix) scheduled tasks are sorted in the UI
- can specify custom CSS for the web interface
- support remote (network) phidgets
- a generic HTTP io backend
- a shell command io backend
- a zmq camera backend
- (bugfix) write imgstore chunk extension for forward compatibility
- (bugfix) dont stop move/copy rsync when the disk is full
- arena camera bugfixes (skipped frame accounting and motif launcher)
- rest API reports free disk space
5.1.0
- (bugfix) fix crash during montage
- (bugfix) prevent failed recording due to unknown framerate
- (bugfix) show administration link when accessing web-index page from localhost
- can configure stream parameters (Basler/cypylon on Linux only)
- support for phidget RTC sensors
- (bugfix) defensively stop acquisition at camera start
- (bugfix) fix IO failing to show in the UI in certain public IP multicam scenarios
- support for adjusting process priority
- (bugfix) no frame detection based on host time and not camera time
- add imgstore backend
- (new config) adjustable zoom percent CameraPreviewZoomPercent
- (new config) can disable browser image interpolation CameraPreviewDisableBrowserInterpolation
- (bugfix) IO label not shown in UI
- can add extra experiment metadata
5.0.0
- point-gray / FLIR camera support (spinnaker backend)
- limited legacy point-gray camera support (pycapture2 backend)
- add a single command launcher (motif)
- add a status/notifaction icon
- support 18.04 and other distributions by trimming dependencies
- support older Flycapture2 backend
- live video streaming over zmq
- live state streaming over zmq
- FFmpegPath can be defined in config file
- run on Windows 10
- nicer test pattern
- limit number of recordings shown in UI for performance
- detect when camera stops sending images (such as accidental trigger cable unplugging)
- can start recording for specified duration
- display elapsed recording duration in multicam view
- complete camera specific configuration for multicamera setups
- improved IO support for shared IO configurations (IO shared across
multiple physical machines via the loopbio-lcdscreen)
- can arbitrarily add IO control to web UI
- frequency output for recnode-io
- IO can be logically associated and separated per camera
- show camera resolution more prominately in the UI
- show recording location in UI
- improved startup stability with complex external trigger / IO configurations
- can log IO outputs to .io.json files chunked beside recordings
- can add per-camera video recording relative time scheduled operations, e.g.
'every 5 minutes when recording', or 'at :30 on the 5th and 10th minute'
- can schedule recording stop time explicitly (in according to recording duration)
- warn if configured to save videos to a temporary directory
- the web-index should only show links to the admin page if accessible
(i.e if accessed via localhost)
- special support for toggling DigitalOutput IO
- can clear and show next execution times for scheduled tasks from the
single camera UI
- users can define experimental scripts in python which can be executed from
the user interface in order to schedule and program subsequent events, including I/O
- tabbed multicam interface to match single cam one
- can set IO and edit scheduled events from the multicam interface
- launching motif twice will open a browser to the running instance (windows)
- fixed interval sampling of defined IO sensors (supports multiple backends). data logged
to file and shown in the user interface
- can schedule camera parameter changes
- ZMQ backend for out-of-process IO
- camera and multicam specific config files are applied on top of one another, rather
than replacing one another, which means more specific config files need only contain
what differs
- improved accuracy actual framerate estimation for variable FPS situations (such as parameter
changes)
- can record videos at native FPS in non-imgstore scenarios
- show camera details on configure tab too
- can disable / configure experiment script and script interpreter
- improved web UI performance with many cameras
- different backends and / or cameras can use different codecs despite being started
at the same time in a multicamera arrangement
- allow the user to select if they record to store or not
4.4.3
- fix returning filenames over API for multicamera case
4.4.2
- improved debouncing of buttons in web ui
4.4.1
- fixes for network cameras
- can set digital output 0 high when starting recording automatically after synchronization
- better recovery from crashed recording/camera processes
4.4.0
- generalized input/output support
4.3.1
- try to survive crashed ffmpeg
- better error messages with crashed ffmpeg
4.3.0
- add --print-rsync to recnode-control
- add recnode-webbrowser 'GUI' wrapper to launch browser
- show multicam mode in recnode-control
- add a configure 'target' preview to help camera alignment
- add documentation link
- show buffer usage with only 1 decimal place
- show camera temperature
- auto-synchronize when starting multicam recordings if triggerbox connected
- restrict manual synchronization to once per recording
- disallow recording if triggerbox is required and not detected
- show size of stores on export/copy tab
- disable moving data while recording
- add montage support to allow exporting synchronized recordings to a single video montage
- reload broken images / camera streams
- loopy upload support for multicam systems
- fix a bug sometimes setting offset/width the first time
4.1.5
- fix failure to import mp4 stores to loopy
4.1.4
- fix single cam setups not honouring ExportToStore
4.1.3
- fix export-all with index mode
4.1.2
- fix filename appending for scheduled recordings
- fix zombie cameraproxy connections to remote multicam systems
4.1.1
- fix display of recordings in index mode
4.1.0
- show scheduled operations in multicamera UI
- show in the multicamera UI when cameras have died
- add --clear-schedule to recnode control
- set title in metadata from filename if otherwise undefined
- clearer disk full warning
- bugfixes in scheduler
- fix sorting by date
- fix filenames with scheduled recordings by adding date when executed
4.0.3
- add --list-schedule to recnode-control
- independent recording directories in index mode
4.0.2
- fix 'lost+found' directory handling
4.0.1
- can add links to recnode-web-index
- always start a localhost registry so that mode=index always shows links
- add clearer
RECORD_CONF[EnableExport]
config switch - fix export delete after ('move') to network locations
- recnode-version can print configured backup location
4.0.0
- add a web REST api and associated python API https://github.com/loopbio/python-motifapi
(it is preferred that you use this for controlling recordings instead of the command line
client over ssh)
- add scheduler for scheduling recordings and other operations. this feature is only
accessible over the REST api for now
- add preview transforms:
- false-color maps can now show lighting irregularities
- focus
- can crop to the centre 40% of the frame for fine-tuning
- opt-in show saturated pixels (previously was automatically shown only if configured)
- add a 'focus' / 'sharpness' transform which highlights edges to help focusing on fine details
- add ability to automatically stop recording after a specified time (available only
via the REST api and from recnode-control
- add 'delete after copy', i.e. 'Move' and 'delete after export' modes
- can differentially enable/disable EnableCopy, EnableMove, EnableEject
- add integration with loopy. videos can be automatically added to the configured
user account after copy to shared storage (supported in the web-ui,
recnode-control, and the REST api)
- support multiple Ximea cameras
- add camera-specific config in configuration file. this allows setting differential
default settings per camera
- add support for assigning specific cameras to specific GPUs
- add recnode-api-key command line tool for generating/printing api key for REST api
- more consistently show / use camera serial number in UI and recnode-control
- don't leak underlying codec name at export
- adjustable preview FPS (was fixed at 2fps)
- bugfix: survive interrupted socket reads
- show direct links to cameras from the web-index if configured in index mode
- fix limitation that cameras can only be stop/started 50 times per session
- color the disk full indicator red
- switch default FPS to 25fps
- bugfix: really wait for stores to be flushed before attempting to copy/export them
3.1.4
- be careful with paths/identifiers using opencv backend
3.1.3
- web-ui: dont touch DOM until websock connection is up
3.1.2
- web-ui: fix javascrip focus bug
3.1.1
- fix for multicam setups with IPC IP on public ports
3.1.0
- recnode-control can address cameras individually
3.0.0
- add support for multiple backends (opencv, ximea, basler)
2.8.0
- add another mode to the multicam concept - 'index' - like slave, but direct links
to cameras are added to the web-index and to the GUI
- selectable temperature sensor
2.7.5
2.7.4
- prevent failed exports freezing export process
- multicamera-recorder: show an eject button if copy/export is enabled
- recnode-console: can list recordings
- add the ability to export all videos at once
2.7.3
- don't mangle decimal point in float metadata
2.7.2
- show file sizes in single-camera case
- recnode-control improvements (can record to 'store' format, i.e. splits recordings into multiple files
- more UI feedback for multi-camera hardware synchronization. use synchronization relative framenumber
- transcoding/export support for multi-camera recording nodes
- UI improvements for multi-camera recorder on small screens
2.7.1
- capitalise UI lavels
- fix ui errors on the slaves when hardware trigger is otherwise configures
*
2.7.0
- add hardware trigger and synchronization support across multi master/slave setups
- add a chain mode where upon hardware signal we can start recording in a multi/single cam setup
- store hwframerate in metadata
- add export and (removable) copy support to multi-camera setups
- gui: better status on export tab
- recnode-control: can record to store
- gui: show file size
- gui: don't show camera parameters as adjustable from slave
2.6.0
- gui: spinbuttons now adjust camera parameters in addition to the sliders
- gui: style and webgui improvements for small screens
- multicamera-recorder: can now adjust individual camera parameters
- multicamera-recorder: improved support for extra metadata
- recnode-console: improved support for multiple cameras
- config: move multicam config to its own section 'MultiCam'. Per camera configuration can be specified by
using the new 'PerCamera' config section
2.5.0
- added the ability to attache any metadata you want to recordings 'title', 'genotype',
'what-i-had-for-breakfast'. each field can be filled out in the GUI and will then be
saved in the resulting video (you can extract / see this metadata using VLC or most other
movie players.
- the framerate, exposure, gain, and any other camera settings are also saved as metadata (see above)
- each system can be assigned a more memorable name which will be shown in the user interface
(should help you remember which system you are working on)
- UI improvements to multicamera gui
- you can now specify the filename of the files instead of them having only the date/time filename
(please talk to me how to enable this)
- added a command line client to control recordings. If you like SSHing into your machine, you
can now start or stop recordings, or start file uploads, using the new recnode-control command
line tool