Commit Graph

4081 Commits

Author SHA1 Message Date
Saxon Nelson-Milton 0059ec1017 vidforward: modify viforward to accept multiple RTMP URLs
This change modifies vidforward to accept multiple RTMP URLs in
its control request handler. This allows for the creation of a
revid pipeline for a mac with multiple RTMP outputs.
2023-03-05 08:39:39 +10:30
Saxon Nelson-Milton f8fe900207 revid: accept multiple RTMP outputs
This change modifies the revid config RTMPURL field to be a slice
instead of a single string. This allows use to have multiple RTMP
outputs.
2023-03-05 08:25:14 +10:30
David Sutton 66daab5e7c Merged in audiofiltering (pull request #495)
Fixes the AudioFilter interface.

Approved-by: Trek Hopton
2023-02-16 04:36:40 +00:00
Saxon Nelson-Milton f9cfbda44f Load broadcast state on startup 2023-02-16 10:18:15 +10:30
ausocean-david d1aa224023 Audiofiltering:
Add amplifying capabilities, using Filter.Upper as the factor for amplification
2023-02-10 21:46:21 +10:30
Saxon Nelson-Milton b68da55793 Fix slate path 2023-02-09 01:39:57 +00:00
Saxon Nelson-Milton 96078e1091 Don't do anything about cuff chan receive timeout 2023-02-09 10:46:59 +10:30
Saxon Nelson-Milton dcb9a6be4b Merge branch 'master' of http://bitbucket.org/ausocean/av 2023-02-08 21:29:00 +00:00
Saxon Nelson-Milton 5eaed275ab Bump required iot version in go.mod
Also track version and display on start up.
2023-02-08 21:35:17 +10:30
Saxon Nelson-Milton 5f157d93ab Build with no CV by default
Given that most of our camera builds do not require CV, we should
have the makefile default to no CV.
2023-02-08 19:32:56 +10:30
Saxon Nelson-Milton adc62a6442 Improving logging 2023-02-08 17:15:30 +10:30
Saxon Nelson-Milton 683bb923cb Fix various vidforward issues
This change fixes some bugs relating to the Makefile and the
systemd watchdog notifier system. We have also removed the run.sh
script which was the culprit of latter problem (not sure exactly
how, but probably something to do with PIDs).
2023-02-08 16:41:52 +10:30
Saxon Nelson-Milton 7b92d06361 Fix various vidforward issues 2023-02-08 05:49:05 +00:00
Saxon Milton 0f0deaa598 Merged in http-address-variable (pull request #494)
revid/senders.go: Utilise HTTPAddress variable in config

Resolves issue #394
2023-02-04 08:30:48 +00:00
Saxon Nelson-Milton 4fe01f6899 revid/senders.go: Utilise HTTPAddress variable in config
This change bumps the required iot tag and adds functional option
variadic parameters to the httpSender constructor so that we can
provide the HTTPAddress config variable and modify the httpSend
destination address. In addition to this, we have added an option
for the report callback.
2023-02-04 18:21:19 +10:30
Saxon Milton 2da3d399d2 Merged in state-save (pull request #493)
Resolves issue #386.

Add functionality for broadcastManager state save
2023-02-04 04:11:48 +00:00
Saxon Nelson-Milton 842e2a2d93 Add functionality for broadcastManager state save
This change adds functionality for broadcastManager state save.
This is done by marshalling the broadcastManager and saving to a
file. Loading is performed by unmarshalling an re-populating a
broadcastManager value. Testing has been added for this
functionality. Other functionality has been added a side effect.
2023-02-04 12:29:47 +10:30
David Sutton 94a7971ec2 Merged in audiofiltering (pull request #492)
Audiofiltering:

Implemented audiofilters. Lowpass, HIghpass, Bandpass, Bandstop, Amplifier.

Approved-by: Saxon Milton
Approved-by: Trek Hopton
2023-02-01 02:02:18 +00:00
ausocean-david 70afcdb816 Audiofiltering:
Add amplifying capabilities, using Filter.Upper as the factor for amplification
2023-01-18 14:10:32 +10:30
David Sutton 52a56f3a52 Audiofiltering:
Increase efficiency of convolution algorithm.

Approximately 150x faster. (takes ~4.5s to lowpass filter ~1min of audio)
2022-12-28 16:02:14 +10:30
David Sutton b2d2a41fdc Audiofiltering:
Add amplification filter which uses filter.Upper as factor for amplification
2022-12-28 00:30:30 +10:30
ausocean-david d029038db9 Audiofiltering:
Interface the function with pre-existing data structures. The filters can now be generated into a filter type using a generic Generate function.
This generates a filter off of the specifications within the filter struct. There is a generic Apply function which takes in a buffer of PCM data (defined in pcm.go),
and outputs to a []byte.
2022-12-24 02:28:15 +10:30
ausocean-david 75124b4494 Audiofiltering:
Implement bandpass filter by combining lowpass and highpass filters.
2022-12-24 02:28:15 +10:30
ausocean-david 49db1041d3 Audiofiltering:
Improve filter performance by reducing frequency leakage.
2022-12-24 02:28:15 +10:30
ausocean-david fcc7d72b0b Audiofiltering:
Add highpass filter functionality.
2022-12-24 02:28:15 +10:30
ausocean-david 8231379a51 Audiofiltering:
Increase the efficieny and stability of algorithms by making use of waitgroups and goroutines.
2022-12-24 02:28:15 +10:30
ausocean-david 80ab5e4768 Audiofiltering:
Create Lowpass filter with frequency control, with efficient convolution algorithm.
2022-12-24 02:28:15 +10:30
Trek Hopton 18a869abfa Merged in make-flags (pull request #491)
init: add flag for rv build tags in makefile
2022-12-23 01:27:04 +00:00
Trek H 800d3d141a init: add flag for rv build tags 2022-12-23 11:44:06 +10:30
Saxon Milton 2faec86eb8 Merged in add-makefile-etc (pull request #490)
cmd/vidforward: add Makefile and service setup script

Resolves issue #387
2022-12-20 09:12:29 +00:00
Saxon Nelson-Milton 5a07b6ed5f cmd/vidforward: add Makefile and service setup script
This change provides a Makefile that will build the vidforward
service binary and also utilise a script to setup of a systemd
service for this binary.
2022-12-05 20:16:31 +10:30
Saxon Milton e71d8193d6 Merged in watchdog-notifier (pull request #489)
cmd/vidforward: add watchdog notifier

Resolves issue #388.

Approved-by: Alan Noble
Approved-by: Russell Stanley
Approved-by: Trek Hopton
2022-12-05 09:26:24 +00:00
Saxon Nelson-Milton 8f8b9ca0f4 cmd/vidforward: add watchdog notifier
This change adds a "watchdog notifier" utility which tracks the
health of request handlers and notifies an external systemd
watchdog if everything looks good. This allows us to cause a
termination if any request handlers get hung.
2022-12-05 19:54:14 +10:30
Saxon Milton f6e00342f7 Merged in restructure (pull request #488)
cmd/vidforward: restructure code
2022-11-26 23:37:44 +00:00
Saxon Nelson-Milton 3ea4aff365 cmd/vidforward: restructure code
This change creates two new files. Firstly, slate.go, to house
slate related functionality. Secondly, utils.go to house generic
utilities and helpers.
2022-11-27 10:07:04 +10:30
Saxon Milton 0e6fb95461 Merged in write-slate (pull request #487)
cmd/vidforward: add slate image write functionality

Resolves issue #379

Approved-by: Alan Noble
Approved-by: Russell Stanley
Approved-by: Trek Hopton
2022-11-26 03:11:59 +00:00
Saxon Nelson-Milton f3cf74ce51 cmd/vidforward: add slate image write functionality
This includes adding facilities to handle termination signals
and err handling. Some modifications have been made to the file
input to accomodate the concurrency requirements. The slate
read mechanism is still fairly rudimentary and can only read
from a hardcoded file, but at this stage is for prototyping
purposes.
2022-11-26 13:38:25 +10:30
Saxon Nelson-Milton cb31c5de9b Update to latest utils ver 2022-11-20 12:17:21 +10:30
Saxon Milton 28da53bd6a Merged in control-api (pull request #485)
cmd/vidforward/main.go: add control API endpoint with PUT and DELETE methods

Resolves issue #380

Approved-by: Alan Noble
Approved-by: Trek Hopton
2022-11-14 10:18:55 +00:00
Saxon Nelson-Milton a4a9ab07f8 cmd/vidforward/main.go: add control API endpoint with PUT and DELETE methods
This change removes usage of netsender to provide remote
configuration of the service and replaces with a basic control
REST API with PUT and DELETE methods. PUT requests add or update
a broadcast, and DELETE removes a broadcast. In addition to these
changes, some modification of the NOOP lexer has been performed
including tuning of the controller.
2022-11-14 20:46:21 +10:30
Saxon Milton 96e1be0910 Merged in mts-buffer-max-alloc (pull request #486)
revid/senders.go: increase buffer pool maxAlloc in mtsSender

Resolves issue #382

Approved-by: Trek Hopton
2022-11-14 09:55:07 +00:00
Saxon Nelson-Milton 300c5bc14d revid/senders.go: increase buffer pool maxAlloc in mtsSender 2022-11-13 09:38:49 +10:30
Saxon Nelson-Milton 67e03d0f5c Invert tag for inclusion of CV functionality
Prior to this change, CV was included by default, however, this
doesn't seem appropriate given that this functionality is rarely
used. For that reason, the meaning of the nocv tag has been
inverted i.e. it is now called withcv, and it the tag must be
included to build CV components.
2022-11-13 08:19:12 +10:30
Saxon Nelson-Milton fe2f091272 run gofmt 2022-11-06 17:25:28 +10:30
Saxon Milton ea900398a3 Merged in video-forwarder (pull request #484)
Video forwarder

Resolves issue #378

Approved-by: Russell Stanley
2022-09-21 07:24:47 +00:00
Saxon Nelson-Milton dddfcc256b vidforward & codecutil & mts & device & revid: improved Noop lexer code using ring buffer structure and improved overall commenting and code 2022-09-21 16:47:58 +09:30
Saxon Nelson-Milton b312774b49 cmd/vidforward & revid & device & codec/codecutil: fixes bugs and improving stream quality 2022-09-14 07:44:35 +00:00
Saxon Nelson-Milton 46e97debd5 cmd/vidforward & revid: initial implementation of vidforwarding software 2022-09-09 11:24:29 +09:30
Saxon Milton f9fddcf0e8 Merged in fix-loop (pull request #483)
revid & device/file: removing Loop mode which was conflicting with Loop variable, and improve file input with logging and robustness

Resolves issue #374

Approved-by: Trek Hopton
2022-09-01 05:58:45 +00:00
Saxon Nelson-Milton 862c06b5f3 revid & device/file: removing Loop mode which was conflicting with Loop variable, and improve file input with logging and robustness 2022-08-31 16:58:40 +09:30