saxon
9095044e23
revid: using waitgroups so that revid.Stop() is safer - we can wait until the input and output routines are done before we do anything, like touch the revid config. Also started modifying revid.Update() to remove errors introduced after the copy of updateRevid from revid-cli to revid.go in the previous commit.
2019-02-03 21:55:40 +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
c44d6bbfd3
revid/revid.go: not during time.Duration conversion
2019-02-01 10:08:49 +10:30
saxon
9bddf343f5
revid/revid.go: moved revid.mu declaration
...
. Updated todo owner
2019-02-01 10:07:00 +10:30
saxon
d26aa8643a
revid: renamed transcode to processFrom. Using mutex for isRunning flag. Created setIsRunning func to set state of isRunning.
2019-02-01 09:47:31 +10:30
saxon
051263c144
revid/revid.go: revid.lex to revid.transcode
2019-01-31 19:58:25 +10:30
saxon
1e307fc37b
revid/revid.go: made routines named rather than anonymous
2019-01-31 19:42:20 +10:30
saxon
e18b1f51f0
revid/revid.go: capture error from r.Start() in error handling routine
2019-01-31 15:49:44 +10:30
saxon
d53eafe215
revid/revid.go: not running r.setupInput() as routine - now getting error an returning
2019-01-31 15:15:38 +10:30
saxon
ed4d97f893
stream/mts: patch for revid.Start() no exit bug
2019-01-31 15:03:50 +10:30
Dan Kortschak
58102e5587
revid: fix http destination assignment
2019-01-30 13:19:00 +10:30
Dan Kortschak
071e6fd0f7
revid: honour difference between rtmp dst and others
2019-01-29 19:56:02 +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
ddb8fc1e1c
Merged in rtp-ringbuff-bypass (pull request #88 )
...
Rtp ringbuff bypass
Approved-by: Alan Noble <anoble@gmail.com>
Approved-by: kortschak <dan@kortschak.io>
2019-01-16 23:22:18 +00:00
Saxon Milton
a58a784a16
Merged in clean-up-revid-consts (pull request #111 )
...
revid: clean up some revid constants
Approved-by: kortschak <dan@kortschak.io>
2019-01-16 07:37:07 +00:00
saxon
95349f461d
revid/revid.go: removed unused logging consts
2019-01-16 17:52:49 +10:30
saxon
d3c8f31c08
revid/revid.go: actually fixed conflict
2019-01-16 17:49:22 +10:30
saxon
606c1a5885
revid/revid.go: fixed conflict
2019-01-16 17:47:57 +10:30
saxon
59024fea79
revid/revid.go: further split up miscy consts
2019-01-16 17:46:17 +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
582f12d157
revid/revid.go: in execution of ffmpeg, the device path is replaced by r.config.InputFileName
2019-01-16 17:29:56 +10:30
saxon
e184b091d3
revid/revid.go: rtmp connection properties comment changed to RTMP
2019-01-16 16:42:37 +10:30
saxon
59cc2d409a
Revert "revid: removed redundant error logging"
...
This reverts commit eacbfb9ee3
.
2019-01-14 16:37:18 +10:30
saxon
eacbfb9ee3
revid: removed redundant error logging
2019-01-14 16:31:43 +10:30
Saxon Milton
ae34ebe368
Merged in revid-start-stop-errors (pull request #114 )
...
Return errors from revid.Start and revid.Stop
Approved-by: kortschak <dan@kortschak.io>
2019-01-14 04:27:34 +00:00
Saxon Milton
137943af82
Merged in revid-config-safer (pull request #112 )
...
Made revid's Config() func safer
Approved-by: kortschak <dan@kortschak.io>
2019-01-13 23:57:27 +00:00
saxon
5ae1e41e38
revid: start and stop now return errors
2019-01-13 22:01:04 +10:30
saxon
ba54974de9
revid: removed Config() func from revid because it's not being used
2019-01-13 21:50:47 +10:30
saxon
a0d7681d5f
revid: not wrapping webcam args in string to pass to func
2019-01-13 20:52:09 +10:30
saxon
07307ed492
updating webcam branch
...
Merge branch 'master' into webcam
2019-01-13 19:29:32 +10:30
saxon
aa5d316816
revid: made revid.Config() return copy of revid's config rather than pointer so that mutation isn't possible
2019-01-13 19:15:02 +10:30
saxon
08069e22d1
revid: sectioned constants and added some commenting
2019-01-13 17:17:35 +10:30
saxon
9365c4a1de
revid: removed unused consts
2019-01-13 17:10:17 +10:30
saxon
bf8d85d0ba
revid: removed unused loglevels
2019-01-13 17:03:58 +10:30
Dan Kortschak
7f07c4cb20
revid,stream/flv: add back initial header write
2019-01-11 13:53:05 +10:30
saxon
4e62606622
updating this branch with master
...
Merge branch 'master' into psi-pr-cleanup
2019-01-11 13:15:23 +10:30
saxon
ebd6d5816d
psi: full stop at end of comment, made lastTime belong to packer and moved some vars to a more appropriate location
2019-01-08 19:39:22 +10:30
saxon
8878063dc8
revid: clean up vars for use in calculation of time between writes to packer
2019-01-07 10:43:30 +10:30
Dan Kortschak
05e0672e89
stream/flv: remove unnecessary header write on creation
2019-01-05 17:56:55 +10:30
saxon
e12f3e0b41
revid: updated comment above revid.rtpSender declaration
2019-01-03 12:03:06 +10:30
saxon
53d737d426
revid: missed a rtpSndr
2019-01-03 11:59:29 +10:30
saxon
12c8c604e0
Updating branch with master
...
Merge branch 'master' into rtp-ringbuff-bypass
2019-01-03 11:57:48 +10:30
saxon
496fa994bd
revid: rtpSndr=>rtpSender
2019-01-03 11:57:43 +10:30
saxon
325067ac1f
revid: linuxWebcam to startWebcam to keep less specific to particular platform as we may eventually stream from webcam on windows
2019-01-03 11:49:02 +10:30
saxon
03a88313d1
revid: fixed build errors
2019-01-03 11:25:06 +10:30
saxon
d4e0fb516b
Fixing smartlogger errors
...
Merge branch 'master' into webcam
2019-01-03 10:35:29 +10:30
saxon
fd3c4010e4
revid: add old webcam starting code and renamed func to LinuxWebcam considering this will only work on linux
2019-01-03 10:35:22 +10:30
saxon
5b73c2c2ba
revid: using simple startWebcam func considering it's only for testing purposes and works
2019-01-03 10:11:42 +10:30
saxon
cec95cd652
rtmp: using TCP rather IP
2019-01-02 21:54:01 +10:30
saxon
a4c73cf6c5
av: updated logging to suit changes made on iot and utils
2019-01-02 15:39:47 +10:30
saxon
aefdc46273
revid: updated some comments
2019-01-02 08:50:59 +10:30
saxon
ccd4c32ff6
revid: revid now has it's own rtpSender seperate from the loadSender slice used for multiple outputs, therefore, we can now bypass the ringbuffer in this case with a check if the rtpSender exists in the packer write method
2019-01-01 16:03:04 +10:30
Saxon Milton
ebccfa1a54
Merged in raspivid-no-start-fatal (pull request #87 )
...
revid: fatal when raspivid cannot be started
Approved-by: kortschak <dan@kortschak.io>
2018-12-29 10:57:49 +00:00
saxon
e4e4e217c6
revid: using smarter startWebcam func as suggested by Dan
2018-12-29 17:04:35 +10:30
Dan Kortschak
1e3b4b1ab8
cmd/revid-cli,revid: reduce stringly typing in config/flags
2018-12-28 13:43:21 +10:30
Saxon Milton
5a181f3576
revid: fix rtmp sending
...
Approved-by: kortschak <dan@kortschak.io>
2018-12-28 03:09:41 +00:00
saxon
ca681a6176
revid: fatal when raspivid cannot be started
2018-12-28 10:53:10 +10:30
saxon
f9c1231cc4
revid: added input flag for webcam input and added func to handle webcam input using ffmpeg
2018-12-28 10:48: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
32e2d61ec1
revid: fixed rtmp problem by adding extra check of output to figure out clip duration before send
2018-12-28 10:31:50 +10:30
saxon
1095f32ae4
revid: added send retry flag
2018-12-14 20:50:26 +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
saxon
f5a571547d
revid: using config to define default packetsPerClipValue
2018-12-08 01:54:20 +10:30
saxon
f89e0aefb5
revid: increased number of mpegts packets per clip so that we can send more
2018-12-08 01:14:42 +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
saxon
2c2be84499
revid: iterating through destinations and using destination.release() instead of directly talking to ringbuffer chunks
2018-11-29 14:22:39 +10:30
saxon
89b7a0acfa
revid: reverted section of code which deals with failed restart of connection
2018-11-28 15:33:56 +10:30
saxon
227f25a3fb
revid: improved some naming and revmoed uneeded const
2018-11-26 00:40:18 +10:30
saxon
98eb2c64e8
revid: revid output check and destination setting cleaner. Also changed destination release to single chunk.Close() so that chunks aren't closed more than once
2018-11-25 23:45:38 +10:30
saxon
5920d1c8d7
revid: made destination for revid a []loadSender and change code such that iterate through this when performing actions relating to destinations like write, send and close. Also created new sender call rtp sender that has a inherent rtp encoder
2018-11-25 23:10:38 +10:30
saxon
a4ded5337d
revid: changed close operation on destination to close operpation on slice ofoperations in reset()
2018-11-25 17:24:52 +10:30
saxon
5eb7225da9
revid & rtp: fixed up some logging, line breaks, and simplified some decrements/increments
2018-11-24 12:14:44 +10:30
saxon
a231d57f06
revid: usage of nil error in logging message
2018-11-22 10:21:25 +10:30
saxon
4f4bebae25
revid: removed revid's overwnship of rtp encoder
2018-11-21 21:34:28 +10:30
saxon
92294aed70
rtp: assert that udp with no packetization works
2018-11-21 20:43:17 +10:30
saxon
1cebc821d1
revid and rtp: simplified relationship between mts encoder and rtp encoder and revmoed queue
2018-11-21 20:23:02 +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
f53c866311
revid-cli: using MpegtsRtp to representation packetization under mpegtsrtp packetization
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
8be3c4de23
revid-cli: allow setting of udp address through revid-cli options
2018-11-21 17:30:46 +10:30
saxon
16614df9f5
rtp: started using mpegts encoder inside rtp encoder so that fragmentation i.e. smaller rtp packets is easier. Streams fine.
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
Dan Kortschak
57caef8937
revid: clean up output clips some more
...
The low volume throttle is removed since that's the job of the kernel's scheduler.
2018-10-19 21:11:02 +10:30
kortschak
cec4f3803f
Merged in remove-stream-chan (pull request #68 )
...
revid: remove stream chan
* revid,stream: factor chan operations out into a separate type
* revid: remove stream chan
* revid: reduce label length
Approved-by: Alan Noble <anoble@gmail.com>
2018-10-19 00:50:08 +00:00
Dan Kortschak
4f5a47b1e5
revid: fix logging for completed stream with error
2018-10-05 08:21:21 +09:30
Dan Kortschak
81997cd68e
revid: self-document and harmonize arguments to raspivid
2018-10-05 08:20:27 +09:30
Dan Kortschak
c20ed48c40
revid: move command creation and logging out of switch
2018-10-05 08:20:27 +09:30
Dan Kortschak
aba6ab1645
stream,revid: clean up data flow and docs
2018-10-04 10:35:43 +09:30
Saxon Milton
6a0c9941ea
revid: capturing any errors from r.lexTo
2018-09-28 04:23:43 +00:00
saxon
0c2ccf55fa
revid: move initialisation of revids netsender up higher in New so that we don't get nil pointer deference
2018-09-25 17:10:35 +09:30
saxon
e6d0ee035e
revid: added yet another message
2018-09-24 20:27:43 +09:30
saxon
9b7b88be98
revid: adding another debug print to make sure we're flushing ring buffer
2018-09-24 20:24:15 +09:30
saxon
724042baeb
revid: change no of frames per clip to 25 for http
2018-09-24 19:56:05 +09:30
saxon
ed8613a255
revid: return any errors from conversion of frame rate to int
2018-09-24 16:09:03 +09:30
Saxon Milton
0cf6014887
revid: passing delay corresponding to fps into lexTo - fixing quality issue when streaming from raspivid (not sending stuff too fast)
2018-09-24 15:57:00 +09:30
saxon
8df244891a
revid: used args... in exec rather than strings.join to fix bug
2018-09-24 13:21:03 +09:30
saxon
6e773abd4e
revid: made logging messages lowercase and removed exclamation marks
2018-09-20 11:23:52 +09:30
saxon
e31678dc9b
revid: moved pkg const declaration to revid.go and removed space in pkg string
2018-09-20 11:17:08 +09:30
saxon
0f24e19a2a
revid: added pkg name to logging messages in revid.go and senders.go
2018-09-19 22:35:15 +09:30
saxon
d17f7c87e9
revid: fixed raspivid args and logging
2018-09-19 22:02:50 +09:30
saxon
b3a8f2bca3
revid: improved logging key value pairs in revid.go
2018-09-14 12:17:29 +09:30
saxon
85ab3a5744
revid: updated logging messages in config.go and revid.go to use new logger
2018-09-11 16:56:33 +09:30
Dan Kortschak
b8bf44f57e
parse=>stream/lex: move lexing to better location and name
2018-08-23 15:06:32 +09:30
Dan Kortschak
eedc473125
revid,parse: remove io.Writer/stream.Encoder shim
2018-08-23 14:51:12 +09:30
Dan Kortschak
05ba19e4aa
encoding->stream: rename packages
2018-08-20 07:49:02 +09:30
Dan Kortschak
7e1d7f77b8
revid,encoding/{flv,mts}: remove in-bound chans for packet encoders
2018-08-19 21:28:20 +09:30
Dan Kortschak
437c7756df
flv: rename encoder type
2018-08-19 21:05:04 +09:30
Dan Kortschak
5d8eca850c
mts: rename encoder type
2018-08-19 20:39:57 +09:30
Dan Kortschak
c0f9f7bf7b
encoding: restructure packages handling stream encoding
2018-08-19 20:29:22 +09:30
Dan Kortschak
ddb78a6234
generator: clean up MPEG-TS encoding
...
This deletes or marks unused cruft, removes internal chans and makes
interface chans single item long to make way for removal.
2018-08-18 11:27:39 +09:30
Raul Vera
dc1d09f8ae
Separate the revid -t argument from the raspivid -t argument.
2018-08-10 04:37:54 +00:00
Dan Kortschak
372c42d5aa
flv,generator: clean up FLV handling
2018-07-07 15:27:59 +09:30
Dan Kortschak
db6ca2922a
revid,parse: wire parse.H264 to revid
...
Through experimentation I have realised the previous ordering of NALU
types does not work with YouTube. I have also exhaustively checked the
requirement for each of the 3 NALU types that are checked and all are
needed. Finally, I have checked whether 7 is needed because of its
inclusion in a parallel branch; checking for this type prevents this
code from working.
2018-07-05 19:10:17 +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
9d113cc498
Renamed NativeRtmp to just Rtmp - since it is exposed to clients. FfmpegRtmp should be deprecated.
2018-06-25 10:53:26 +09:30
Dan Kortschak
647641bed6
revid: clean up input handling
2018-06-24 21:31:09 +09:30
Dan Kortschak
fba613ab60
revid: make FramesPerClip an int
2018-06-20 14:38:34 +09:30
Dan Kortschak
ec3eefeb37
revid: do not double report returned error
2018-06-20 13:59:38 +09:30
Dan Kortschak
090ad746a6
revid: change default frames/clip to 7 for http
...
This increases effective bitrate to 88kpbs from 12kbps with fpc=1.
2018-06-20 12:48:12 +09:30
kortschak
74a2891ed7
Merged in revid/httpaddress (pull request #32 )
...
revid: use correct address for HTTP
2018-06-18 22:49:24 +00:00
Dan Kortschak
ca5eefa4c3
generator,parser: remove Get prefix from read accessors
...
Also make user-facing chan exposure a little safer.
2018-06-17 21:52:55 +09:30
Dan Kortschak
b66abcbfec
revid: improve doc comment
2018-06-17 21:11:44 +09:30
Dan Kortschak
a7d3edbe57
revid: rename ChangeConfig to SetConfig
2018-06-17 21:10:27 +09:30
Dan Kortschak
ed923ed256
revid: rename GetConfigRef to Config
2018-06-17 21:08:37 +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
kortschak
4c0d219fbf
Merged in revid/nilcheck (pull request #33 )
...
revid: fix nil dereference on RTMP reconnect
2018-06-16 04:10:17 +00:00
Dan Kortschak
36ebb5d58a
revid: remove unused field in Revid
2018-06-15 21:18:22 +09:30
Dan Kortschak
a995a36ad7
revid: fix nil dereference on RTMP reconnect
2018-06-14 22:54:44 +09:30
Dan Kortschak
3e6a3283e1
revid: use correct address for HTTP
2018-06-14 13:42:54 +09:30
Dan Kortschak
820dae7b4c
revid: various cleanups
2018-06-09 14:58:33 +09:30
Dan Kortschak
1105ee3ea9
revid: use loadSender for clip sending
2018-06-09 14:08:48 +09:30
Dan Kortschak
3881cb9712
revid: avoid monomorphic interface
2018-06-09 11:31:21 +09:30
Dan Kortschak
3da57cbe46
revid: use time.Duration for durations
2018-06-08 12:48:11 +09:30
Dan Kortschak
902ac744fe
revid: address review comments
2018-06-08 09:32:13 +09:30
Dan Kortschak
dee6dec8d4
revid: wait for URL from netreceiver
2018-06-07 21:50:01 +09:30
Dan Kortschak
71a30bcc67
revid: lower-case names
2018-06-07 20:32:53 +09:30
Alan Noble
6c90fc342b
revid.go deleted online with Bitbucket
2018-01-24 06:30:04 +00:00
Alan Noble
6c0f923480
Use full path to import ringbuffer.
2017-12-04 16:20:40 +10:30
Alan Noble
726d360a31
Resolved conflict.
2017-12-04 15:59:41 +10:30
Saxon1
47a7a3b757
ran gofmt
2017-12-04 14:36:23 +10:30
Saxon1
ada834dc2c
made small changes to revid and ringbuffer to allow for use of ringbuffer in revid
2017-12-04 14:31:54 +10:30
Alan Noble
4536ec5358
Changed RTPEncapsulate to rtpEncapsulate since it is not exported.
2017-12-03 10:01:56 +10:30
Saxon1
a4929419b9
Removed calls to checkContinuityCounts
2017-12-03 08:46:08 +10:30
Saxon1
174acf5ba8
changed package corresponding to RingBuffer.go to ringbuffer from utilities
2017-12-03 02:47:13 +10:30
Saxon1
98cd4ff9ac
Removed redundant else, to further abide by go style standards
2017-12-03 02:45:33 +10:30
Saxon1
9b779382eb
Removed copy to increase efficiency
2017-12-03 02:42:47 +10:30
Saxon1
d63b5f6751
Removed continuity check and also checked read error rather than whether or not clip is nil.
2017-12-03 02:34:14 +10:30
Saxon Milton
0f028b799c
Update revid to incorperate use of RingBuffer
2017-12-02 15:57:10 +10:30
Saxon1
5b802fb26e
Fixed removed comment I didn't need
2017-11-24 11:13:24 +10:30
Saxon1
76cba026a1
whoops need to do it again, I don't know if that worked
2017-11-24 11:04:19 +10:30
Saxon1
d3d01090ed
Changed times to time objects to clean things up and make things consistent
2017-11-24 11:03:41 +10:30
richardsonjack
7ff09c4b82
Output in kbps
2017-11-24 10:08:29 +10:30
Saxon Milton
2c6d1442af
Cleaned up code and removed redundancies.
2017-11-23 08:35:36 +10:30
Saxon1
5f6f34cb25
Modified bitrate calc to hopefully be more efficient
2017-11-22 16:06:51 +10:30
Saxon1
e6e7c2bcc6
Added bitrateCalculator function to run as thread. Now need to debug.
2017-11-22 14:17:34 +10:30
Alan Noble
f3c15f622e
RTPSequenceNum => rtpSequenceNum
2017-09-21 13:38:57 +09:30
Alan Noble
b54068e0a2
Improved error reporting and other changes to make more Go idiomatic.
2017-09-21 13:36:54 +09:30
Alan Noble
d0e796f47d
Cleaned up test for flags in readWriteVideo.
2017-09-21 10:42:39 +09:30
Alan Noble
e3c62afb43
Eliminated some unnecessary buffer copies.
2017-09-21 07:50:22 +09:30
Alan Noble
dbfe59432c
Refactored to be more Go idiomatic.
2017-09-20 21:27:01 +09:30
Alan Noble
c8bfccb310
Initial revision
2017-09-13 14:30:26 +09:30