Commit Graph

561 Commits

Author SHA1 Message Date
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 ab643f2b97 revid: set default bitrate to 400000 2018-12-14 20:38:53 +10:30
saxon 618fadd90b revid: trying to fix jumpy rtp 2018-12-14 20:05:10 +10:30
saxon c7f55c3c43 revid: using NewJSONDecoder rather than newJsonDecoder to be consistent with changes in iot 2018-12-14 16:58:02 +10:30
saxon fbdce669e7 revid: cleaned and added commenting 2018-12-14 16:46:36 +10:30
saxon 21dd2f4b70 revid: using location instead of gps in names 2018-12-14 16:02:47 +10:30
saxon e79f6d191d revid: made extractMeta a function of httpSender 2018-12-14 16:01:10 +10:30
saxon f1ee09ad7b revid: improved naming of encoder globals for location and timestamp 2018-12-14 15:59:44 +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 b78904ac72 revid + psi: getting metadata from replies now 2018-12-13 15:51:51 +10:30
saxon ce036abf8b revid: changed request time to recv 2018-12-13 12:59:40 +10:30
saxon 9a7d7a9ab3 revid: modified http sender to look at reply of send and get time and gps data to mts package 2018-12-13 12:59:40 +10:30
saxon f5a571547d revid: using config to define default packetsPerClipValue 2018-12-08 01:54:20 +10:30
saxon cfff3316b4 revid: updated revid packetsPerClip const from 7 to 560 to speed up data sending 2018-12-08 01:43:10 +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
saxon 05bcfdc1b1 revid: changed request type to recv in order to be copmatible with new netsender and netreceiver function 2018-12-07 16:26:36 +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 402f2fb165 revid: revert so that netsender pull request can be done first 2018-12-04 10:14:45 +10:30
saxon 0f273e42b6 revid: using RequestRecv for http sender 2018-12-04 10:13:18 +10:30
saxon e0207d979f revid: fixed test cases to use output1 to fix build errors 2018-12-01 11:17:12 +10:30
saxon 1c105405e8 revid: changed request type back to poll so that build compiles on master 2018-11-30 22:25:38 +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 14f4bb0e63 revid: changed back to requestVideo 2018-11-29 14:06:16 +10:30
saxon d32a715549 revid: testing request poll instead of requestvideo 2018-11-29 13:50:17 +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 1824273f8c revid: undoing logging changes, removed chunk closing in http sender send method 2018-11-28 15:26:17 +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 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