Commit Graph

529 Commits

Author SHA1 Message Date
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 4ce4525a1c revid: removed blank line under newUdpSender 2018-11-24 15:20:26 +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 42097ddef7 rtp: added print messages for debugging purposes
rtp: added print messages for debugging purposes

rtp: removed binaries
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 3515958a99 rtp: added rtp and udp options to the revid config 2018-11-18 13:22:48 +10:30
saxon d291744f63 revid: wrote loadsender implementation for udp sending for the rtp - need to test 2018-11-18 12:32:11 +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 195f52ae16 revid: adding debug prints 2018-09-24 20:21:49 +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 b210530330 revid: change Verbosity to LogLevel in config.go 2018-09-22 14:46:54 +09:30
saxon 8f56a82053 revid: fixed log messages in config.go to make easier to understand 2018-09-22 14:45:07 +09:30
saxon 108344f882 revid: fixed case and removed exclamation marks in error/logging messages in config.go 2018-09-20 11:34:17 +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 0efb2abd6c revid: added pkg to logging messages in senders.go 2018-09-20 11:15:27 +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 5c94f556b4 revid: added pkg name to logging messages in config.go 2018-09-19 22:31:58 +09:30
saxon 534610f6b8 revid: removed revid_test.go 2018-09-19 22:15:00 +09:30
saxon d17f7c87e9 revid: fixed raspivid args and logging 2018-09-19 22:02:50 +09:30
saxon d697b4013d revid: cleaned up key value pairs in config.go 2018-09-15 12:26:05 +09:30
saxon b3a8f2bca3 revid: improved logging key value pairs in revid.go 2018-09-14 12:17:29 +09:30
saxon 043ff7779a main: updated logging in h264 file to mpegts file driver for revid 2018-09-11 18:40:45 +09:30
saxon 547e24da7d main: actually used logger in driver for h264 file to flv rtmp 2018-09-11 18:39:52 +09:30
saxon 03eb68d774 main: added new logger to revid driver file for h264 file to flv rtmp 2018-09-11 18:36:13 +09:30
saxon 35cb30ccf9 revid: updated logging in senders.go 2018-09-11 17:15:45 +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
kortschak ea33007173 Merged in deshim (pull request #47)
revid,stream: improve package organisation

Approved-by: saxon.milton@gmail.com <saxon.milton@gmail.com>
2018-08-24 21:17:17 +00:00
saxon.milton@gmail.com d813a56ad6 Merged in librtmpPorting (pull request #41)
LibrtmpPorting

Approved-by: saxon.milton@gmail.com <saxon.milton@gmail.com>
2018-08-23 20:55:15 +00:00
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
saxon 1b4db5b0dc Removed session interface and mad session struct exported 2018-08-20 10:22:36 +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
saxon 9f61f33deb deleting binary 2018-08-19 13:35: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
saxon 6b2644a517 Fixed problems with mpegts generator 2018-08-18 00:48:13 +09:30
Raul Vera dc1d09f8ae Separate the revid -t argument from the raspivid -t argument. 2018-08-10 04:37:54 +00:00
saxon 21e80b483c Taking out linker option I don't need 2018-07-13 20:20:12 +09:30
saxon.milton@gmail.com 5861fe64d0 Merged in revidTestingImrpovement (pull request #37)
RevidTestingImprovement

Approved-by: kortschak <dan@kortschak.io>
2018-07-10 03:15:13 +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
saxon 419ee0e76e Deleting stuff I don't need 2018-07-05 09:49:30 +09:30
saxon 1f6c2cf466 Getting rid of tests I don't need atm 2018-07-05 09:30:47 +09:30
saxon cac22540c0 Using flag for rtmp url 2018-07-04 22:44:39 +09:30
saxon c861862ff7 Got rtmp test working 2018-07-04 16:39:09 +09:30
saxon 0f47256297 Got h264 file to flv rtmp test driver built 2018-07-04 13:34:09 +09:30
Saxon Milton 79710f27f6 Trying to get it to build 2018-07-02 13:12:11 +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
Saxon Milton 94a9f8fe77 no message 2018-06-29 03:31:05 +09:30
Saxon Milton 0cae97b9ee removing stuff we don't need 2018-06-29 01:06:40 +09:30
Saxon Milton bbb3ddf00f changing package names to hopefully something more go idiomatic 2018-06-28 22:54:20 +09:30
Saxon Milton ede44cefe1 for some reason didn't track changes, committing again 2018-06-28 21:56:06 +09:30
Saxon Milton f1aefcdfeb added appropriate test files and ran go fmt over av 2018-06-28 21:52:48 +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
Alan Noble 60c09c2800 Merge branch 'master' of https://bitbucket.org/ausocean/av 2018-06-22 15:57:33 +09:30
Alan Noble a8b56ddb19 Moved test data to test repo. 2018-06-22 15:53:13 +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
Dan Kortschak 89e5178fde revid: release ring resource quickly for httpSender 2018-06-20 12:42:36 +09:30
kortschak 5840e483b8 Merged in ring/bytes (pull request #35)
revid: use direct access to ring.Chunk bytes
2018-06-18 22:52:55 +00:00
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 1800d2f6da revid: use direct access to ring.Chunk bytes 2018-06-18 19:30:00 +09:30
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
Dan Kortschak 5bdd66e22b rtmp: rename StartSession to Open 2018-06-17 20:45:58 +09:30
Alan Noble 05c6c376b4 Payload data has now moved onto Pin struct. 2018-06-16 19:04:32 +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
Alan Noble 53f923afb1 netsender.MakePins() now takes a 2nd arg. 2018-06-15 19:34:50 +09:30
Alan Noble 5ba5327f33 httpSender now implemented as a NetSender client, rather than a generic HTTP client. 2018-06-15 16:42:29 +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
kortschak b72d9bdd0d Merged in config/ctrlCctrlV (pull request #31)
revid: fix incorrect assignment
2018-06-13 05:25:35 +00:00
Dan Kortschak b89514847d revid: fix incorrect assignment 2018-06-13 14:45:03 +09:30
Dan Kortschak f953216f31 revid: fix nil dereference panic 2018-06-13 12:42:33 +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
Dan Kortschak 123cf9c7cf ring: migrate package to utils/ring 2018-06-07 15:45:14 +09:30
Dan Kortschak b7b000aeac revid,ring: plumb in ring buffer with WriteTo
There is a residual scar of an intermediate []byte copy because of the
signature of http.NewRequest, but this can be addressed later. The rtmp
interface needed alteration so that rtmp.Session satisfies io.Writer.
2018-06-06 17:55:10 +09:30
Dan Kortschak 2791939f34 ring: reverse time discounting 2018-06-06 17:53:15 +09:30
Dan Kortschak 04df5c2aa2 revid: plumb ring.Buffer into clip handling
This drops ringbuffer and changes the behaviour from purging old
unhandled clips to dropping new unhandled clips.
2018-06-06 17:53:15 +09:30
Alan Noble 9e5e10f413 Changed defaultRtmpUrl to use the endpoint for rig0@ausocean.org, rather than the main AusOcan YouTube channel. 2018-06-02 16:40:41 +09:30
Dan Kortschak d6fd3d4539 all: manual clean up of imports 2018-05-30 16:53:57 +09:30
Dan Kortschak 173d7c3879 rtmp: clean up session handling and CGO interface
* Make C compilation arch-independent, including shared lib use and fix
  for broken librtmp include install.
* Provide package-root level makefile for building C lib.
* Remove package global.
* Use Go-idiomatic naming for methods.
* Restucture flow to reduce indentation.
* Use []byte len in place of additional param.
* Use unix-idiomatic return status values.
2018-05-29 15:36:28 +09:30
richardsonjack c08a2c079f rename smartlogger 2018-05-24 13:05:29 +09:30
richardsonjack 898b231521 Update log API call 2018-05-24 12:20:41 +09:30
richardsonjack 63f56a964f Merge branch 'master' of https://bitbucket.org/ausocean/av/src 2018-05-24 12:13:05 +09:30
richardsonjack 9b4d2127b0 fix spelling error 2018-05-24 12:12:53 +09:30
Saxon1 074eab0fb2 Merge branch 'master' of https://bitbucket.org/ausocean/av/src 2018-05-24 11:59:12 +09:30
richardsonjack 7dbb48f5c1 Update to use new logger 2018-05-24 11:58:53 +09:30
Saxon1 8282cd3880 printing clearing output chan less 2018-05-24 11:58:49 +09:30
Saxon1 e76deb3864 Merge branch 'master' of https://bitbucket.org/ausocean/av/src 2018-05-24 11:52:50 +09:30
Saxon1 2ff683160a changing verbosity 2018-05-24 11:52:24 +09:30
Saxon Milton 0741643ac6 fix bitrate update 2018-05-17 16:39:36 +09:30
Saxon Milton 8e806b59dc Merge branch 'master' of https://bitbucket.org/ausocean/av 2018-05-14 16:24:45 +09:30
Saxon Milton 839ac9d922 updating changes 2018-05-14 16:23:55 +09:30
Alan Noble 3792c7953d Export GetBitrate(). 2018-05-14 15:43:19 +09:30
Alan Noble 953cecf9da Use a separate sendMutex not the main mutex! 2018-05-07 23:06:06 +09:30
Alan Noble cc45b02609 Use mutex instead of isSending to be safe. 2018-05-07 22:39:58 +09:30
Alan Noble defe5c54a8 Made logging a bit less verbose using Detail messages. 2018-05-07 21:16:40 +09:30
Saxon Milton 3f49f56ec5 defunct process fix 2018-05-07 14:21:11 +09:30
Saxon Milton 5b5d17ee87 Removed additional isRunning check. 2018-05-07 12:26:39 +09:30
Saxon Milton 47125ef281 Created isSending flag 2018-05-07 12:23:50 +09:30
Alan Noble 098cc19c60 More checks for isRunning. 2018-05-07 12:11:43 +09:30
Saxon Milton b2269ef8d8 Fixed error 2018-05-06 23:36:49 +09:30
Saxon Milton 8179b371e6 Increased debugging messages and also potentially fixed blocking issue 2018-05-06 23:03:44 +09:30
Saxon1 463e983b21 Changing bitrate/ringbuffer size to debug 2018-05-06 19:33:51 +09:30
Saxon1 6ccdcef83f Removed the other error count 2018-05-06 19:15:01 +09:30
Saxon1 cbcbc10658 Removing error count 2018-05-06 19:12:35 +09:30
Saxon1 76d0de2ffb trying new way to deal with send errors 2018-05-06 19:11:42 +09:30