Releases: richard-austin/security-cam
Version 11.0.1
- Bug fix: Fix issue with disabling/enabling FTP and Retrigger Window controls on config setup component.
Version 11.0.0
Convert server from grails to Spring Boot 3
- Improve error and hint presentation on change password
- Improve error and hint presentation on change email
- Fix error in placeholder
- Convert server project from Grails to Spring Boot
- Uses Tomcat 10 on Ubuntu 24.04 (Noble numbat)
- Onvif dependency is now subproject.
- PullPoint subscription added to Onvif project (not yet used in Security Cam.
- Update docs.
- Web server (self generated) certificates now auto created on a fresh installation rather than requiring running install-cert.sh manually. install-cert.sh can still be used to change the default details on the certs.
- Upgrade Onvif to CXF 4.1.0
- Video display now uses maximum possible amount of screen space while retaining the correct aspect ratio.
- Multi-video display has selectable number of columns.
- Multi-video display uses full display width for the selected number of columns.
- ffmpeg log level now specified in fmp4-ws-media-server config.json.
- Upgrade angular and angular material from 18 to 19.
- Upgrade angular from 18 to 19 on initialAdmin.
- Fix hevc videos not getting set up in Firefox (play event was not fired, so I've added a 1-second delayed timer call to the playEventHandler, which is cancelled when the play event fires first.
- Fixed bug where some exceptions caught by handleGeneralException crashed the handler. No longer including the exception class in ErrorResponse as it looked like that was crashing ResponseEntity's JSON serialiser.
- Update go version to 1.23.4
- Check the Accept header before sending JSON error responses. If it does not contain application/json (as in the case of request from the Angular front end), return a blank response with Content-Type: . This is to prevent crashes caused by error responses when a json response is unsupported.
- In Onvif project, change deprecated new URL(addrs) to new URI(addrs).toURL().
Version 10.1.2
- Implement lazy loading
- Fix an error reporting problem where the message was displayed as "See logs for details"
- Use route guards for better demarcation between guest and client.
Release Version 10.0.0
- Now using ffmpeg 6. (The problem with ffmpeg 5 and 6 where "pts has no value" warnings were repeatedly issued is now fixed. So ffmpeg can be specified as a dependency rather than ffmpeg 4 having to be packed with the application.
- Upgrade Grails from version 5 to 6.2.0.
- Update open source credits on About box.
- Use go Gradle plugin (build.gradle in fmp4-ws-media-server. This enabled the project to be built (./gradlew buildDebFile) or run (./gradlew fmp4-ws-media-server:bootRun) etc without go being installed on the build machine. In fact the complete project can be built (./gradlew buildDebFile without any of the SDK's apart for the Java JDK (version 17)
- Update build.gradle scripts
- Update node plugin to version 7.0.2
- Fix an issue with keyframe detection when audio is present in the stream. (Since using ffmpeg 6)
- Include Python modules in gradle. These can be bootRun, but the wifi-setup-service should run as root to function, so it can't be properly run in development this way. NOTE FOR IntelliJ Idea users. Running Gradle tasks will change the project SDK setting for the Python modules from Python to the Java SDK. This causes the imports to fail in the IDE so you have to re set them in Project Structure -> Modules.
- Upgrade spring security core
- Upgrade Angular and Angular Material to version 18
- Rework scss to fix breaking changes in Angular Material 16 +
- Use gzip compression on Tomcat.
Version 9.1.1
- Include drawdown calculator in the .deb installation.
The pension drawdown calculator is obviously not part of any CCTV application. I've always had it as an option on the General menu in the NVR application for convenience and up to now installed it separately. I decided that as it's always been on the General menu and that I have always had it installed, I might as well include it in the .deb installation.
If it doesn't interest you, you can ignore it, otherwise it's good for what if drawdown scenarios.
15/06/2024
security-cam_9.1.1-dirty_arm64.deb is an experimental build for Raspberry pi OS Lite. Audio will need to be switched off for all camera streams in the config, or the video will not work as it is not possible to use the bundled version of ffmpeg on that platform. To use audio, install security-cam_9.1.1_arm64.deb on Raspberry pi Ubuntu 24.04.
Version 9.1.0
- Fix potential bug in ActiveMQ client keystore creation.
- Update open source info (in about security cam)
Version 9.0.0
- Updated to run on Ubuntu 24.04 (Noble Numbat)
- Generate keystore and its password for (Cloud) ActiveMQ connection on initial installation (instead of it being held in the Repo).
- Added option to enter/update ActiveMQ credentials and host name added to admin functions (and raspberry_pi_local_ip:8080/cua initial setup facility).
- wget ffmpeg (v4.4.4) from my repo release area instead of deploying the file in with the security-cam deb file.
- Fix some bugs in camera web admin page hosting proxy.
- Deploy Tomcat 9 from tar file of it being a dependency as before. Ubuntu 24.04 does not support Tomcat 9 as a dependency by default.
- Update docs for Ubuntu 24.04
- Fix two way audio not working on Firefox (don't pass the options to MediaRecorder).
- Get the two way audio device address from host instead of getOriginAddress as the Reolink doorbell sometimes returns an incorrect address.
- Set JVM/JDK to version 17 (19, as used before is not supported as a dependency in Ubuntu 24.04 by default).
Version 8.0.0
New features: -
- Video pan and zoom on live and recorded videos (mouse wheel/drag on PC, pinch and drag on mobile). NOTE that this is distinct from Onvif PTZ which is also supported on this system.
- Individual credentials for each camera (instead of them all having to be the same).
- Onvif discovery credentials set as default camera credentials where Onvif discovery succeeds.
- Cameras where Onvif discovery failed due to wrong credentials now listed in a box where you can enter the correct credentials and re-try.
- Improved use of mobile screen size through scroll windows on config set up and other functions.
- Split documentation into separate files covering specific areas.
Improve handling of Cloud Service connect/disconnect.
Direct access to the NVR is not affected
Prevent hang forever when cloud proxy is turned off after cloud is shutdown.
- No longer using failover
- Use heartbeats instead of failover to detect connection down and other problems. (failover is still used on the Cloud)
- Measures to prevent CloudSessionTimerTask from continuing to try and start the Cloud Proxy when the user selected off (This was a race condition which could occur when the user turned off CloudProxy when the Cloud is offline).
ActiveMQ Used as Transport Between Cloud and NVRs
- Use ActiveMQ as transport between Cloud and NVRs instead of the previously used custom messaging system
- Warning when not connected to ActiveMQ if CloudProxy is enabled.
- Success/Error messages given as NVR connects and authenticates on Cloud when the CloudProxy is enabled.
- Controls disabled by default on videos to prevent controls flashing up when latency chasing occurs.
- Speaker and full screen buttons now placed below videos alongside the latency chasing limit and two way audio controls.
- Cleaned up VideoComponent by using MediaFeeder and AudioBackchannel classes.
- Ensure loginToCloud continues trying to authenticate until it succeeds.
- Refactor: Removed CameraStream class as it was confusing.