Commit Graph

447 Commits

Author SHA1 Message Date
Saxon fa011fb129 Merge branch 'master' into ringbuffer-move 2019-03-17 12:13:13 +10:30
Saxon 39a7b382f6 revid: fixed build errors 2019-03-15 18:05:15 +10:30
Saxon 056f3b75b3 revid: general clean 2019-03-15 17:58:24 +10:30
Saxon 524989d2ed revid: resolved conflicts 2019-03-15 17:51:17 +10:30
Saxon b18502c7ba revid: adding defaults for exposure and awb cmd flags 2019-03-15 17:32:28 +10:30
Saxon 9d5771fcbf revid: completed addition of exposure, awb, saturation and brightness options 2019-03-15 17:24:29 +10:30
Matthew Michael 9a510f5c31 cmd/revid-cli & revid: adding raspivid exposure and brightness parameters
Started working on adding exposure, brightness, saturation and awb flags to revid-cli so that we can control raspivid parameters.
Updated revid logic to give these to raspivid and updated config to consider these parameters in config validation.
2019-03-15 12:44:13 +10:30
Saxon 93e856792d cmd/revid-cli & revid: fixed conflict 2019-03-09 15:54:52 +10:30
Saxon e0039da2e4 cmd/revid-cli & revid: moved ringBuffer to earlier in pipeline
Removed packetization flag for revid-cli as no longer required.
Packetization will be decided based on outputs.
Removed buffer type definition and Write receiver func in
mtsSender_test.go as this is now defined in revid.go.
Made ringbuffer size and element size consisten no matter the
output methods, as we're now going to only be putting h264 in there.
Modified H264 lex function to take an io.Writer rather than an
Encoder.
Removed destination []loadSender slice from revids fields and
added an encoder []stream.Encoder slice to hold encoders used
during a particular configuration. Each encoder will write to
the desired outputs.
Modified logic regarding encoder and sender setup. We now check
what outputs we have and add encoders to revid's encoder slice
depending on what each output requires.
Modified outputClips routine such that it ranges through revid's
encoders and encodes to them. They then write to the senders and
they handle logic regarding the amount of data they send out
and when. They also handle actions to perform on send failures.
Wrote multiSender struct which will be written to from encoders.
It will then use it's senders to distribute the data accordingly
to senders that work with the encoding from said encoders.
Modified senders so that their load methods no longer take ring
chunks, but rather slices.
Modified senders such that their release methods no longer
perform chunk closing.
2019-03-09 15:28:07 +10:30
Saxon Milton cfb4946588 Merged in video-rotate (pull request #158)
Video rotate

Approved-by: Alan Noble <anoble@gmail.com>
2019-03-08 23:33:40 +00:00
Saxon 3a9e90dcf8 cmd/revid-cli & revid: added back vertical and horizontal flip options 2019-03-06 11:51:55 +10:30
Saxon cfcb899bcb revid & cmd/revid-cli: rotate => rotation 2019-03-04 12:11:34 +10:30
Saxon 2d229077a2 revid & cmd/revid-cli: removed any mention of horizontal and vertical flip and replaced with rotate 2019-03-04 12:07:28 +10:30
Saxon d7863863c7 cmd/revid-cli: structuring flags by type, and added a Rotate flag so that video can be rotated using raspivid rotate flag. 2019-03-04 11:53:28 +10:30
Alan Noble 313944de90 Made more idiomatic. 2019-03-03 23:22:42 +00:00
Alan Noble 1c9dde3798 Don't call rv.Bitrate when rv is nil. 2019-03-03 23:04:49 +00:00
Saxon d5af370d71 cmd/revid-cli: corrected value assignment for an undefined pin when revid is not yet initialised 2019-03-02 20:46:12 +10:30
Saxon 562c8effc3 cmd/revid-cli: adjusted logging levels to make more appropriate 2019-03-02 15:23:33 +10:30
Saxon 01474ee870 cmd/revid-cli: made general changes to make revi-cli more robust i.e. not so trigger happy with fatals 2019-03-02 14:54:49 +10:30
Saxon 9d1d2914a4 cmd/revid-cli: removing fatal error if we get an error during run() 2019-03-02 13:46:43 +10:30
Saxon 3c273adf4c cmd/revid-cli: not expecting error from revid.Stop() in revid-cli anymore: 2019-03-02 13:30:46 +10:30
Saxon b9bccaabdd cmd/revid-cli: fixed default value for log verbosity flag 2019-02-28 16:53:06 +10:30
Saxon 589d922ddb cmd/revid-cli: verbosity flag default to Info 2019-02-28 14:12:44 +10:30
Saxon Milton b6a3e062b5 Merged in path-flag-fix (pull request #143)
revid: got rid of OutputFileName and InputFileName
2019-02-28 03:04:05 +00:00
Saxon Milton 4cfb85b8e1 Merged in fix-verbosity-flag (pull request #144)
cmd/revid-cli: initialisation of logger actually usses what was given as revid-cli verbosity flag input
2019-02-28 03:03:13 +00:00
Saxon Milton c247e63bd0 Merged in default-mode-crash-fix (pull request #150)
revid-cli: initialising config.Output slice when no outputs are defined so that a default output can still be set

Approved-by: Alan Noble <anoble@gmail.com>
2019-02-25 06:42:38 +00:00
Alan Noble 95303b4e71 Set default log level to Info (to match the comment). 2019-02-25 06:31:12 +00:00
Saxon 37850e8350 revid-cli: initialising config.Output slice when no outputs are defined so that a default output can still be set 2019-02-25 12:59:57 +10:30
saxon c3743174da cmd/revid-cli: initialisation of logger actually usses what was given as revid-cli verbosity flag input 2019-02-12 18:37:15 +10:30
saxon 3ee2683ca9 cmd/revid-cli & revid: outputFileNamePtr => outputPathPtr, config.OutputFileName=>config.OutputPath, inputFileNamePtr=>inputPathPtr and finally, config.InputFileName=>config.InputPath 2019-02-12 18:22:46 +10:30
saxon 2a61f2d08d cmd/revid-cli: added space before rv declaration 2019-02-12 11:37:50 +10:30
saxon e2d80b423c cmd/revid-cli: removed comment we don't need anymore 2019-02-12 11:33:48 +10:30
saxon 69029889fe cmd/revid-cli: using closure for readPin func so that we don't have to have global revid 2019-02-12 11:32:02 +10:30
saxon b9c53791d8 cmd/revid-cli: updated readPin func comment 2019-02-12 10:42:26 +10:30
saxon 4e1c8e7c45 cmd/revid-cli: made Revid global so that revid.Bitrate() can be accessed in readPin 2019-02-12 10:39:23 +10:30
saxon f67fb1ec8a cmd/revid-cli: replaced use of send() with netsender.Run() and implemented readPin func. 2019-02-11 16:49:28 +10:30
saxon 5090056972 cmd/revid-cli: send-retry cmd line flag is now retry 2019-02-08 18:19:44 +10:30
saxon c5d93b53d5 Merge branch 'master' into send-retry-flag 2019-02-08 18:18:01 +10:30
saxon 8bdfed9960 stream/mts: fixing conflicts 2019-02-08 10:13:51 +10:30
saxon e2bbc84c1e cmd/revid-cli: using const strings for copyright metadata preamble 2019-02-07 08:25:37 +10:30
saxon 2b7ab27763 cmd/revid-cli & stream/mts/meta: added meta.NewWith function that creates a new meta.Data and adds an initial entry. Using meta.NewWith in revid-cli to initialise mts' global meta.Data with some preamble data. 2019-02-06 10:19:12 +10:30
saxon ea8572a777 cmd/revid-cli: catching error in conversion of mp 2019-02-05 10:45:15 +10:30
saxon 4dcbd90449 cmd/revid-cli: removed another closed scope condition 2019-02-05 10:40:08 +10:30
saxon 35344402b8 cmd/revid-cli/main.go: not using closed scope conditions anymore 2019-02-05 10:32:16 +10:30
saxon bd2958ba4e cmd/revid-cli & revid: added TODO for the use of Run() instead of send in cmd/revid-cli/main.go. Fixed filename in revid/revid.go file header. Renamed ret to cfg in revid.Config(). Catching error from call to revid.Stop() in revid.Udate() 2019-02-04 19:14:02 +10:30
saxon 1cdbfa2c66 cmd/revid-cli: setting mode to paused if ns is in burst mode. 2019-02-04 17:14:19 +10:30
saxon 8978f9edc5 cmd/revid-cli & revid: using goto to sleep for monitor period, and using wg.Done() at the end of output routine. 2019-02-04 17:12:30 +10:30
saxon 93e3899725 cmd/revid-cli: using ns.Send() rather than ns.Run() to poll 2019-02-04 17:04:49 +10:30
saxon ee7eb84d26 revid-cli: correctly using ns.Mode() and ns.SetMode() 2019-02-04 13:25:37 +10:30
saxon 1010721dd0 cmd/revid-cli & revid: Checking revid mode differently - now using ns.Mode(), which should soon be an available feature. Also now using ns.SetMode() - which tells netreceiver that we've changed mode. 2019-02-03 23:37:38 +10:30
saxon 1af4b25030 cmd/revid-cli & revid: removed startRevid and stopRevid as shouldn't be required when we have revid.Start() and revid.Stop(). Created revid.Config() which returns copy of config safely using mutex. removed updateRevid in revid-cli and move to fun revid.Update() - as there's no reason why it can't just be a receiver func - even better considering we want to start moving alot of stuff from revid-cli to the revid-api anyways. 2019-02-03 21:17:44 +10:30
saxon 5637d2b015 revid-cli: added sendRetry flag so that we can have the option to either keep sending on failure, or just drop data. 2019-01-22 15:53:41 +10:30
Dan Kortschak 92ba9c89a2 cmd/revid-cli,revid: use a slice for output destination flags 2019-01-19 20:01:42 +10:30
Dan Kortschak 35d63f664f revid: add v4l properties and fix default device handling
Also fix logging typos found during work.
2019-01-17 17:04:59 +10:30
Saxon Milton ef6811d3b8 Merged in webcam (pull request #86)
revid: addition of webcam input

Approved-by: kortschak <dan@kortschak.io>
2019-01-16 07:12:30 +00:00
saxon ae792ac11e revid-cli: capturing errors from calls to stopRevid 2019-01-13 22:15:30 +10:30
saxon 19ae6f1ca6 revid-cli: dealing with errors in revid-cli from start and stop if they occur 2019-01-13 22:04:50 +10:30
saxon 07307ed492 updating webcam branch
Merge branch 'master' into webcam
2019-01-13 19:29:32 +10:30
Dan Kortschak b46e267983 cmd/revid-cli: use sensible default for encoding option 2019-01-05 10:33:32 +10:30
scruzin 04a76e424a Added LogPath and ConfigFile command line flags. 2019-01-05 08:48:47 +10:30
saxon d4e0fb516b Fixing smartlogger errors
Merge branch 'master' into webcam
2019-01-03 10:35:29 +10:30
saxon a4c73cf6c5 av: updated logging to suit changes made on iot and utils 2019-01-02 15:39:47 +10:30
saxon 7f707288eb revid-cli: webcam to Webcam in revid-cli flag interpretation switch 2018-12-29 17:01:50 +10:30
Dan Kortschak 1e3b4b1ab8 cmd/revid-cli,revid: reduce stringly typing in config/flags 2018-12-28 13:43:21 +10:30
saxon 7118f1566c revid: added input flag for webcam input and added func to handle webcam input using ffmpeg 2018-12-28 10:44:53 +10:30
saxon 798add533b revid + mts +psi: wrote func to find pmt in byte slice, wrote func to get gps, changed the way in which psi are insterted, based no of mpgets packets to send on time, i.e. per second 2018-12-14 13:35:56 +10:30
Dan Kortschak 86949813fd cmd/revid-cli: remove global revid var 2018-12-09 16:01:47 +10:30
Dan Kortschak 926763dd74 cmd/revid-cli: make config struct function scoped 2018-12-06 14:04:55 +10:30
Dan Kortschak 00216b444b cmd/revid-cli,revid: clean up flags handling
This is a first step in simplifying and cleaning up the logic for config
and flag handling for revid.
2018-12-05 19:54:52 +10:30
Dan Kortschak d0addcd355 cmd/revid-cli: don't decorate directory path 2018-12-05 19:14:36 +10:30
saxon a421e4cee8 revid-cli: moved todo comment to correct position above output1 and output2 flag declarations 2018-11-30 22:29:20 +10:30
saxon 0afaa07c1e revid-cli: added todo in regards to the flag list 2018-11-28 15:29:54 +10:30
saxon 218dcfb8b2 revid-cli: removed concept of mpegtsrtp packetization as not needed anymore 2018-11-25 23:24:03 +10:30
saxon cedc63a0b5 revid: got rid of debug prints 2018-11-21 18:16:10 +10:30
saxon 315ba6bd76 revid: back to working state 2018-11-21 18:14:36 +10:30
saxon 4c01514b41 revid: commiting unstaged stuff 2018-11-21 17:30:46 +10:30
saxon 589ec15259 revid-cli: made -Output=Rtp to mean rtp over udp 2018-11-21 17:30:46 +10:30
saxon fce0937810 rtp: wrote some code so that config validated udp and rtp stuff as well 2018-11-21 17:30:46 +10:30
saxon c0e6ba2a5b rtp: checking for udp output and rtp packetisation in revid such that the right sender and encoder is selected 2018-11-21 17:30:46 +10:30
saxon f82c26ee62 rtp: added udp output and rtp packetisation options to revid-cli 2018-11-21 17:30:19 +10:30
Saxon Milton 49e8220a25 Merged in av-logging-update (pull request #61)
revid-cli: stopped using config.Verbosity and started using config.LogLevl to fix errors
2018-09-22 05:52:02 +00:00
saxon 3d85a4471a revid-cli: stopped using config.Verbosity and started using config.LogLevl to fix errors 2018-09-22 15:20:15 +09:30
Saxon Milton be1bf3ef77 Merged in av-logging-update (pull request #57)
av-logging-update

Approved-by: kortschak <dan@kortschak.io>
2018-09-22 05:40:50 +00:00
saxon 1a2fa72e58 revid-cli: removed switch to set config verbosity - netsender already does this 2018-09-22 14:35:41 +09:30
saxon 9c56d608b3 revid-cli: passing logger to ns.Init 2018-09-21 14:42:50 +09:30
saxon 45deda6c75 revid-cli: using fatal log type if revid doesn't run 2018-09-20 11:40:12 +09:30
saxon 1f68da5bfc revid-cli: removed uppercase and exclamation marks in logging messages within main.go 2018-09-20 11:38:08 +09:30
saxon 535f448375 revid-cli: fixed flag description for logging path 2018-09-20 11:35:35 +09:30
saxon 3e2800a18a revid-cli: removed space in pkg name string 2018-09-20 11:18:11 +09:30
saxon 35f12e9460 revid-cli: removed binary file from staged files 2018-09-19 22:38:51 +09:30
saxon 5e186a7941 revid-cli: added package name to logging messages 2018-09-19 22:29:10 +09:30
saxon 4d58f45368 revid-cli: fixed grammatical error in comment 2018-09-19 22:20:48 +09:30
saxon 03f56dba2c revid-cli: fixed conflict 2018-09-19 22:18:45 +09:30
saxon c4d0f2ccbc revid-cli: simplified global var initialisation for configFlags 2018-09-15 12:31:20 +09:30
Alan Noble 515e63802a Ignore unexpected global vars. 2018-09-13 22:03:45 +00:00
saxon 852e714d13 revid-cli: added key value paris to log messages 2018-09-13 12:14:23 +09:30
saxon bee7d82247 main: fixed profile.go conflict 2018-09-12 11:13:47 +09:30
saxon 9efc215089 main: made flags global so that handleFlags can access 2018-09-12 11:11:48 +09:30
saxon b6ad8adc83 main: moved flag.Parse() into handlFlags func to clean things up 2018-09-12 11:00:04 +09:30
saxon 575edd62a2 main: fixed errors with logging int revid-cli's main.go 2018-09-12 10:57:56 +09:30
saxon d05132baf3 main: adjusted defaultLogPath to /var/log 2018-09-11 16:19:02 +09:30
saxon 501ec544e8 main: using new logging for log calls in main.go for revid-cli 2018-09-11 10:02:59 +09:30
saxon a9ee0eea6d main: modified command line flags for verbosity and added command line flag for logger path. Also created func to handle flags to make things cleaner 2018-09-11 08:55:45 +09:30
Dan Kortschak c681ec5c85 circle: add test invocation and make vet quiet 2018-09-10 21:19:16 +09:30
saxon 51d161ee10 main: created global smartlogger.Logger ptr and create default log pathpath 2018-09-10 18:49:09 +09:30
saxon 0def69f012 revid: added flag options to usage output 2018-08-22 13:45:20 +09:30
Alan Noble 2d4a3bf70a Require GOPATH. 2018-08-20 17:43:56 +09:30
Alan Noble eff48ef4fc Removed obsolete basic-driver. 2018-08-20 14:52:41 +09:30
Alan Noble 1e9c042c02 BaseDir is always under /home/pi plus extra error checking. 2018-08-20 09:03:05 +09:30
Dan Kortschak d7525e0a47 cmd/revid-cli: add profiling support 2018-07-05 20:54:10 +09:30
Dan Kortschak 353d2cfcc7 revid,revid-cli: remove non-functional RTP mention and add MPEGTS config option 2018-06-30 21:50:55 +09:30
Alan Noble dd9e7751e5 Skip looping for X23 when rv is nil. 2018-06-28 16:13:06 +09:30
Alan Noble 796aaa9d95 Start revid if !paused. 2018-06-28 16:01:15 +09:30
Alan Noble 0daaf89154 Defend against nil rv in send(). 2018-06-28 15:31:34 +09:30
Alan Noble 9dd53b58a0 Initialize vs by calling VarSum() before looping. 2018-06-28 14:34:05 +09:30
Alan Noble 99ef1d0727 PR feedback and some other clean-up. 2018-06-27 07:50:05 +09:30
Alan Noble 1645b759f1 Added ns to Revid struct, so it could be exposed as a httpSender, and refactored revid-cli accordingly. 2018-06-26 15:53:55 +09:30
Alan Noble 1383fd8b91 Ignore system params in updateRevid(). 2018-06-25 11:26:08 +09:30
Alan Noble 904fa6d7dc Added "Output" case to updateRevid() plus better error checking. 2018-06-25 11:09:56 +09:30
Alan Noble 9d113cc498 Renamed NativeRtmp to just Rtmp - since it is exposed to clients. FfmpegRtmp should be deprecated. 2018-06-25 10:53:26 +09:30
Alan Noble 72d7dc3991 GetConfigParam() renamed Param(). 2018-06-25 10:10:37 +09:30
Alan Noble 4fc6e69b12 Call Log() _after_ initializing Logger. 2018-06-24 19:52:46 +09:30
Alan Noble df36237c22 Log when running in NetSender mode. 2018-06-24 18:31:33 +09:30
Alan Noble 75235f3d82 Initial revision. 2018-06-22 20:56:42 +09:30
Alan Noble c01300eef6 Check for "Paused" mode when starting. 2018-06-22 20:09:03 +09:30
Alan Noble 2cd154e769 Checkout forcibly. 2018-06-22 18:14:07 +09:30
Dan Kortschak fba613ab60 revid: make FramesPerClip an int 2018-06-20 14:38:34 +09:30
Dan Kortschak cb4dea71d6 cmd/revid-cli: match change to netsender 2018-06-17 21:53:03 +09:30
Dan Kortschak 6de4f8c9a6 revid: rename GetBitrate to Bitrate
Also change to int; when we get more than 2Gbs^-1, we'll probably be
using 64 bit devices.
2018-06-17 20:57:52 +09:30
Alan Noble 05c6c376b4 Payload data has now moved onto Pin struct. 2018-06-16 19:04:32 +09:30
Alan Noble 53f923afb1 netsender.MakePins() now takes a 2nd arg. 2018-06-15 19:34:50 +09:30
Alan Noble 82f58ec996 NetReceiver vars updating again. sendTo() now takes a *netsender.Sender. 2018-06-15 17:29:59 +09:30
Alan Noble 3f59d353c7 Netsender changes, notably common X pins now being handled now by the former. 2018-06-14 16:37:57 +09:30
Alan Noble 79fc58af63 netsender.Send now takes the payload param. 2018-06-12 13:30:30 +09:30
Dan Kortschak 3881cb9712 revid: avoid monomorphic interface 2018-06-09 11:31:21 +09:30
Dan Kortschak 165c2ea23e cmd/revid-cli: handle failure to start netsender 2018-06-09 10:16:04 +09:30
Dan Kortschak e2c2093e28 cmd/revid-cli: move creation code to near call site 2018-06-08 22:26:20 +09:30
Dan Kortschak f5a3899e1d cmd/revid-cli: clean up netsender handling 2018-06-08 22:15:14 +09:30
Dan Kortschak 043ff35dfe cmd/revid-cli: separate out loggin consts 2018-06-08 22:14:23 +09:30
Dan Kortschak 41eb46c702 cmd/revid-cli: use time.Duration for durations 2018-06-08 21:52:11 +09:30
kortschak 576815a10f Merged in revid/waiturl (pull request #24)
revid: wait for URL from netreceiver

Approved-by: Alan Noble <anoble@gmail.com>
2018-06-08 00:30:45 +00:00
Alan Noble b3699a8439 Updated to use correct NetReceiver param names, i.e., monPeriod=>mp, inputs=>ip. 2018-06-07 22:02:08 +00:00
Dan Kortschak dee6dec8d4 revid: wait for URL from netreceiver 2018-06-07 21:50:01 +09:30
Alan Noble 16a11ec090 Added utils as a dependency. 2018-06-06 08:53:37 +09:30
Alan Noble 8ab2a5c9e4 Initial revision. 2018-06-06 08:49:14 +09:30
Alan Noble 6241671275 Updated to use latest Netsender interface. 2018-06-01 20:50:56 +09:30
Dan Kortschak baf19f1dc5 all: cleaning up file names and cmd locations 2018-05-31 19:24:20 +09:30