Commit Graph

1133 Commits

Author SHA1 Message Date
Saxon Nelson-Milton e42b0ea428 revid/pipeline.go: improved handling of undefined pipeline permutations
We no longer panic for undefined pipeline permutations that have got past config package validation i.e. it's not possible to crash revid from setting things remotely incorrectly
2020-12-16 15:16:40 +10:30
Saxon Nelson-Milton d7de7b2b5b revid: removed mutex locking and put unexported pipeline specific code in pipeline.go 2020-12-16 13:26:27 +10:30
Saxon Nelson-Milton 27f5f6ca83 revid/revid.go: removed useless fmt.Sprintf call 2020-12-15 19:26:39 +10:30
Saxon Nelson-Milton 3f41014eab revid/revid.go: simplified switch in anon func given to setupPipeline that deals with MTS encoder setup 2020-12-15 19:17:12 +10:30
Trek H 744a33d6be alsa: improve error handling 2020-09-03 16:44:22 +09:30
Trek H d9393b46b0 alsa: negotiate channels both stereo and mono, also fix error handling 2020-08-19 16:55:35 +09:30
Trek H cca5582acb revid: simplify syntax 2020-08-15 17:38:45 +09:30
Trek H e72ebe2f06 revid: add S0 to pins that are sent via HTTP 2020-08-14 23:04:56 +09:30
Trek H d13d02e21a Merge branch 'master' into writerate 2020-08-14 13:01:41 +09:30
Trek H 3ec7eddfed revid: syntax 2020-08-14 12:54:07 +09:30
Trek H 7cf449b5c9 revid: simplify 2020-08-14 12:34:20 +09:30
Trek H 6ecce76602 revid: improve comments 2020-08-14 12:20:51 +09:30
Trek H cc8d205d67 revid: simplify write rate 2020-08-14 11:32:32 +09:30
Trek H 42bf1a379a Merge branch 'master' into audio-fixes 2020-08-13 16:26:25 +09:30
Trek H ddf9707d95 revid: change comment 2020-08-13 16:25:37 +09:30
Trek H c394dc9d89 alsa, revid: reverted changes to revid and changed how ALSA implements Device 2020-08-13 15:28:59 +09:30
Trek H b6580af65e revid: fixed bugs to do with lex timing for audio 2020-08-12 11:04:45 +09:30
Trek H 53a55cc477 Merge branch 'master' into audio-order 2020-08-11 20:20:01 +09:30
Trek H adf5ddece1 revid, alsa: reorder audio setup 2020-08-11 20:17:52 +09:30
Trek H 03a24475f8 revid: bug fix to pass tests 2020-08-11 13:49:41 +09:30
Trek H 5fe586913f alsa, revid: added correct device configuration and defaulting for audio 2020-08-11 11:43:17 +09:30
Saxon dc3258b255 revid/config/config.go: put Config struct fields in alphabetical order 2020-05-20 11:13:14 +09:30
Saxon 8d7be149f0 revid/config: add logger suppression var Suppress to Variables slice and Config struct 2020-05-20 00:11:14 +09:30
Saxon Milton ce50b5fbd1 Merged in nicer-update-func (pull request #411)
revid/config: variables struct providing names, types, update and validation

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-05-19 06:02:02 +00:00
Saxon Milton a286d6c140 Merged in rtmp-bw-modifiable (pull request #412)
protocol/rtmp: added options parameter to rtmp.Dial and provided options for bandwidths and link timeout

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-05-19 03:07:34 +00:00
Saxon d17880714e container/mts: make rate and media type encoder parameters option functions 2020-05-06 20:10:55 +09:30
Saxon 13ce7cdba0 container/mts: doing logging in encoder code now 2020-05-03 16:54:12 +09:30
Saxon 18ffefd7cb give container/mts NewEncoder(...) log parameter and update code around repo accordingly 2020-05-03 14:14:31 +09:30
Saxon f4e6a5217c revid/senders.go: using len(s.buf) to adjust mtsSender ring buffer instead of len(d) 2020-05-02 20:37:13 +09:30
Saxon 147f975646 revid/config: add missing audio related enums for Input and InputCodec TypeData map keys 2020-05-02 18:47:52 +09:30
Saxon aa29647fcb revid/config/config.go: add InputAudio source in Input config field comment 2020-05-02 18:45:38 +09:30
Saxon d4e93e701b revid: add stop signal channel to allow pause in loop mode 2020-05-02 14:55:35 +09:30
Saxon Milton 4cf155bbc2 Merged in correct-config-types (pull request #401)
Correct types of fields in revid/config/config.go Config struct
2020-05-02 03:55:13 +00:00
Saxon 48ecea7123 revid/senders.go: newMtsSender=>newMTSSender and newHttpSender=>newHTTPSender 2020-04-27 21:02:20 +09:30
Saxon 9035669c4c revid/revid.go: updated variable names: RtmpUrl=> RTMPURL, RtpAddress=>RTPAddress and HttpAddress=>HTTPAddress 2020-04-27 20:21:32 +09:30
Saxon Milton 3a076cd9c0 Merged in sort-out-rb-capacity (pull request #397)
revid: get rid of output specific ring buffer parameters and use only RBCapacity and RBWriteTimeout

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-04-27 03:49:23 +00:00
Saxon Nelson-Milton 4d5a85b853 revid/senders.go: remember previously adjusted RB element sizes 2020-04-10 17:32:44 +01:00
Saxon Nelson-Milton 2bfb4d6b95 revid: fix logging control
Setting log level at end of Revid.setConfig. Revid variable Logging to logging.
2020-04-10 16:22:04 +01:00
Saxon Milton cc467243ea revid/senders.go: reduce max buff len 2020-04-10 07:05:45 +00:00
Saxon c0614c3456 revid: reverted to fixed element size ring buffer 2020-04-09 15:55:01 +09:30
Saxon Milton 09a763728e Merged in h265-lex-to-extract (pull request #392)
codec/h265: rename Lexer to Extractor

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-03-29 00:29:47 +00:00
Saxon Milton f9dc1d0139 Merged in remove-logging-pkg-prefix (pull request #393)
revid: no longer prepending package name before log messagges

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-03-29 00:28:45 +00:00
Saxon b8a135e0d0 revid/config: adding Bitrate to TypeData map 2020-03-28 01:10:28 +10:30
Saxon f1c1339e9f revid: no longer prepending package name before log messagges 2020-03-28 01:08:09 +10:30
Saxon 7afc71b33e revid: using h265.Extractor instead of h265.Lexer 2020-03-28 00:45:46 +10:30
Saxon 8f5ee3184b revid: added ring buffer write timeout to TestMtsSenderDiscontinuity 2020-03-27 23:56:36 +10:30
Saxon Milton 0fa50d1a46 Merged in improve-logging (pull request #389)
Improve debug and info logging quality and frequency

* cmd/rv: added some more debug and info logging

* revid: improving logging in revid.go

* revid: improved logging in senders.go

* revid: don't need to set log level as netsender does it

* added some extract log messages

Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-03-27 12:20:51 +00:00
Scott 8f589c8cff revid/config: add package comments to config package 2020-02-26 14:32:08 +10:30
Scott Barnard 24a4654f6b Merged in time-filter (pull request #379)
filter: time based motion filter

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-02-17 00:04:13 +00:00
Scott 57b3f53bf3 filter: time based filter for overcoming discontinuities
When the filter has short discontinuities in detection, those frames are sent so that the video is more continuous.
2020-02-17 09:41:07 +10:30
Saxon Milton e312bca992 Merged in validate-before-set (pull request #378)
revid/config/parameter: validate set val passed and then only if good we set receiver

Approved-by: kortschak <dan@kortschak.io>
2020-02-16 22:25:43 +00:00
Saxon Milton 81aa35b586 Merged in parameter-implementations (pull request #376)
revid/config/parameter: wrote code for the generation of Parameter interface implementations and commit resulting code

Using a template, code has been created to generate repetitive implementations of an interface name Parameter. The code iterates through a list of params and creates implementations for each one.

Approved-by: Scott Barnard <scott@ausocean.org>
2020-02-12 00:27:08 +00:00
Scott fa15d92388 filter: Difference → Diff 2020-02-10 15:29:20 +10:30
Scott 5f02bb3829 filter: combine common filter variables 2020-02-07 14:34:43 +10:30
Scott Barnard bb5618f3c7 Merged in filter-debug-tag (pull request #370)
filter: use build tags to separate debug code from release code

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-02-07 03:20:46 +00:00
Scott 7192c392b2 revid: remove cmd field from revid struct 2020-02-05 09:49:21 +10:30
Scott 86ec511697 revid: remove ShowWindows variable 2020-02-04 13:32:45 +10:30
Scott b6d6090e25 filter: implement debug builds for basic motion filter 2020-02-04 13:22:15 +10:30
Scott 5917f35ccd filter: use build tags to separate debug code from release code 2020-02-04 13:22:15 +10:30
Scott 72a5c31588 filter: add option to reduce resolution of frames for KNN motion filter
This makes the same changes as for the MOG but for the KNN filter.
2020-02-04 11:47:24 +10:30
Scott 10bfc296be filter: add option to reduce resolution of frames for MOG motion filter
A new netsender variable, FilterDownscaling is used for reducing the resolution of frames within the MOG motion filter.
This does not affect the resolution of the video output, it is only used to speed up calculations.
A FilterDownscaling factor of 2 is equivalent to skipping every 2nd pixel in the image.
2020-02-04 11:47:09 +10:30
Ella Pietraroia c90cc40949 Merged in basic-filter (pull request #366)
Basic filter

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-02-03 07:04:59 +00:00
Ella Pietraroia 02777c4dd5 filter: change names so that they don't have filter in them 2020-02-03 10:14:33 +10:30
Ella Pietraroia 2c947edc2b iteration error fix 2020-01-31 15:23:18 +10:30
Scott 5502eea661 revid: remove Burst method's duration parameter 2020-01-31 14:31:17 +10:30
Ella Pietraroia e107b682bb NewBasicFilter to NewBasic as we already know its a filter 2020-01-31 14:23:33 +10:30
Ella Pietraroia d8c611de52 double newKNNFilter fix 2020-01-31 11:19:47 +10:30
Ella Pietraroia bf71d8b4a1 added 4x goroutines with mutex lock and waitgroups 2020-01-31 11:11:03 +10:30
Ella Pietraroia ed35bd83cb basic filter that does not use gocv for motion detection 2020-01-31 11:11:00 +10:30
Scott 054f0a5e77 revid: add Burst method to revid 2020-01-30 13:20:44 +10:30
Saxon a0204392c5 cmd/rvcl: added command line interface for controlling revid API 2020-01-29 09:59:06 +10:30
Scott Barnard f9d33f008e Merged in consistent-config-msgs (pull request #357)
revid/config: make config error messages more consistent

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-01-28 22:48:55 +00:00
Scott 5951dbcd2b revid/config: FileFps → FileFPS
This corrects the case of the FileFPS string literal.
2020-01-29 09:17:58 +10:30
Scott 5ff90e4411 make config error messages more consistent 2020-01-28 16:09:16 +10:30
Saxon ed626e02ab cmd/rv: did some cleaning and commenting
Modified profile.go file header. Updated binary name in run.sh.
2020-01-27 15:50:24 +10:30
Saxon 7033d62cc6 cmd/rv: created new revid binary that is only netsender client, not CLI as well 2020-01-27 13:55:09 +10:30
Saxon cae7e55723 revid/revid.go: added handling for FileFPS var from vidgrind 2020-01-27 13:54:43 +10:30
Scott Barnard 755545c80b Merged in frame-diff-filter (pull request #347)
Simple difference filter using gocv.

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-01-27 00:58:24 +00:00
Scott e0fa474906 filter: DiffFilter → Difference 2020-01-27 10:51:06 +10:30
Scott ced8727c07 filter: create a simple difference motion filter using gocv 2020-01-27 10:50:27 +10:30
Scott Barnard 2084753985 Merged in bitrate-calc (pull request #336)
Bitrate calculations in revid.

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-01-27 00:16:26 +00:00
Saxon cfd3f0fc3c revid: consider when r.cfg.FileFPS ==0 2020-01-25 10:15:27 +10:30
Saxon a0a99e17db revid/revid.go: logging unexpected EOF from input source 2020-01-25 09:42:32 +10:30
Saxon f82ab42246 revid & cmd/revid-cli: InputFPS field now FileFPS and added check so that only used with File input 2020-01-25 09:39:42 +10:30
Saxon 64754f7e0f revid: use loop in processFrom instead of goto 2020-01-24 21:58:57 +10:30
Saxon 4e7e5ebca3 revid/revid.go: cleaned up prcoessFrom (added deger for waitgroup.Done and added info log) 2020-01-24 20:15:40 +10:30
Saxon 0f5aaf6cb5 revid & cmd/revid-cli: added InputFPS config.Config field
The InputFPS field can control rate at which we lex frames from the input source. This has
not been a useful feature until now; we now want to simulate realtime input device using file
input. This requires firstly the Loop mode, and now also realistic input rate.
2020-01-24 20:05:43 +10:30
Saxon 99b931f948 revid & cmd/revid-cli: added loop mode so that input may be restarted after completion
Loop flag has been added to command line flags and in turn sets the Loop field that has been
added to the config.Config struct. mode variable now also checked to see if value set to
Loop, in which case revid config.Config.Loop = true. Revid.processFrom modified so that
when input source has completed Revid.cfg.Loop is checked and input restarted if true.
2020-01-24 19:21:18 +10:30
Scott 1876fe9dea Added bitrate reporting to RTP sender. 2020-01-24 15:46:14 +10:30
Scott cdd74c7a22 revid/senders.go: reportSent -> report 2020-01-24 15:46:14 +10:30
Scott 9a0fa09879 revid/senders.go,revid.go: Added bitrate calculations to revid. 2020-01-24 15:46:14 +10:30
Saxon Milton c2329b3a3f Merged in lexers-return-ioeof (pull request #330)
codec: lexers return ioeof

Approved-by: Alan Noble <anoble@gmail.com>
Approved-by: kortschak <dan@kortschak.io>
2020-01-23 03:23:03 +00:00
Scott 207e96b999 KNN filter detects motion on an interval 2020-01-23 12:45:00 +10:30
Scott 3c0076751e Fixed variables 2020-01-23 12:15:07 +10:30
Ella Pietraroia 92b2040360 Merged in less-frames (pull request #343)
Less frames

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-01-22 05:35:25 +00:00
Ella Pietraroia c3f1d957e3 formatting 2020-01-22 15:43:10 +10:30
Ella Pietraroia 963b74bed0 change variable name FilterFrames to MotionFilter 2020-01-22 14:57:35 +10:30
Saxon 9b8667e56c fixed handling of errors from lex methods 2020-01-22 13:45:01 +10:30
Ella Pietraroia d5e0bf7731 remove all tests 2020-01-20 16:19:04 +10:30
Saxon 2d2e1b0ad1 revid/revid.go: added logger message back 2020-01-20 16:10:10 +10:30