Commit Graph

402 Commits

Author SHA1 Message Date
Trek H 1243a8606e mjpeg-player: naming 2020-01-29 13:22:06 +10:30
Trek H c10a6f7bb1 mjpeg-player: comments 2020-01-29 13:16:43 +10:30
Trek H 1e474695ab Merge branch 'master' into m3u-live-minor 2020-01-29 13:14:59 +10:30
Saxon adb210f6e9 cmd: remove revid-cli 2020-01-29 08:54:29 +10:30
Saxon Milton a1a1734cfd Merged in rv (pull request #355)
cmd/rv: created revid client that only offers control via netsender

Approved-by: Scott Barnard <scott@ausocean.org>
Approved-by: Trek Hopton <trek.hopton@gmail.com>
2020-01-28 09:03:21 +00:00
Saxon Milton 043e5b004a cmd/rv/main.go: fixed package comment 2020-01-28 08:49:51 +00:00
Saxon Milton 3362410798 cmd/rv/main.go: fixed file header 2020-01-28 08:46:15 +00:00
Trek H be7a70cf51 Merge branch 'master' into m3u-frag 2020-01-28 18:23:02 +10:30
Trek H 73b3e56a99 Merge branch 'master' into m3u-live-minor 2020-01-28 18:04:00 +10:30
Trek H 902472f26a Merge branch 'master' into mtsdemuxer-change-2 2020-01-28 17:16:22 +10:30
Trek H 606a51cdae Merge branch 'master' into m3u-loader-correction-2 2020-01-28 16:27:02 +10:30
Trek H 5a1bb31093 mjpeg-player: comments and logging 2020-01-28 16:26:25 +10:30
Trek H 48ee2410dc Merge branch 'master' into m3u-minor-2 2020-01-28 16:18:54 +10:30
Trek H 8af11ab4de Merge branch 'master' into m3u-ts-2 2020-01-28 16:16:08 +10:30
Trek Hopton 4bbfa9ee6a Merged in m3u-update (pull request #342)
mjpeg-player: updated player for m3u changes

Approved-by: Saxon Milton
Approved-by: Scott Barnard
2020-01-28 05:11:52 +00:00
Trek H 88d1ccfe36 Merge branch 'master' into m3u-loader-correction-2 2020-01-28 15:40:42 +10:30
Trek H 0dae15a2c5 Merge branch 'master' into m3u-reduc 2020-01-28 15:38:18 +10:30
Trek H ba9d9a4e7c Merge branch 'master' into m3u-reduction-2 2020-01-28 15:14:10 +10:30
Trek H d10a59631b mjpeg-player: reduced more config variables 2020-01-28 15:12:30 +10:30
Trek H 902bf74871 mjpeg-player: comments and simplification 2020-01-28 14:32:45 +10:30
Trek H fd5425659d mjpeg-player: simplified main.js's load function 2020-01-28 14:26:06 +10:30
Trek H 09c254e1f0 mjpeg-player: removed bootstrap classes, updated copyright year 2020-01-28 13:29:17 +10:30
Trek H c5e965c14c Merge branch 'master' into m3u-update 2020-01-28 13:14:24 +10:30
Saxon 63e2b24c90 cmd/rv: fixed profile.go and main.go file heaers including USAGE section in main.go 2020-01-28 11:51:05 +10:30
Saxon 86f804cf53 cmd/rv/main.go: moved initialisation of revid to above run call 2020-01-28 10:49:42 +10:30
Saxon 10a8c70e6d cmd/rv/main.go: sleeping at end of complete iteration in main loop 2020-01-28 10:29:40 +10:30
Saxon d5b28f20c8 cmd/rv: updated package name string used for logging 2020-01-28 10:28: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 Milton 89ca5d6052 Merged in loop-mode (pull request #354)
revid: add input source loop mode

Approved-by: Alan Noble <anoble@gmail.com>
2020-01-24 23:24:58 +00:00
Saxon dcafcbf69e cmd/revid-cli: fixed build error 2020-01-25 09:53:21 +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
Trek H e8766ce5cb mjpeg-player: matched order of functions to simplify PR diff 2020-01-24 21:45:03 +10:30
Saxon 0e14c0a056 cmd/revid-cli: improved commentfor Loop flag description 2020-01-24 20:24:23 +10:30
Trek H 5647946bac mjpeg-player: minor changes to xhr-loader and frag-loader
Changes include: using console for logger, import statements, formatting.
2020-01-24 20:15:04 +10:30
Trek H 58747c0b05 mjpeg-player: playlist loader modification
Typescript code has been removed.

Functionality that is not being used has been removed.
2020-01-24 20:07:54 +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
Trek H 7126f7aa12 mjpeg-player: mtsdemuxer functionality change
Changed MTSDemuxer's 'append' function to 'demux' because it is not appending.
Updated MTSDemuxer so that it doesn't store the stream after demuxing it, it simply demuxes the data that it's given and returns the demuxed data.
Any PES packets that were truncated are kept to be tried at the next call to demux.
2020-01-24 20:02:17 +10:30
Trek H 2e297101a7 mjpeg-player: ts code to js code
This PR is for the hls.js files where the only modifications made are for typescript to javascript conversion, and updated import statements.
2020-01-24 19:50:48 +10:30
Trek H 179f9cfa03 mjpeg-player: reduced hlsjs code
Reduced the lengthy lists of config vars and events used by hlsjs player that we no longer need.
Also removed typescript typing from config.js
2020-01-24 19:41:43 +10:30
Trek H 640f50543d mjpeg-player: added back changes that were overwritten 2020-01-24 19:22:51 +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
Trek H 6be40c8849 mjpeg-player: added back changes that were overwritten 2020-01-24 19:17:35 +10:30
Trek H bd52a5e658 mjpeg-player: added back changes that were overwritten 2020-01-24 19:12:07 +10:30
Trek H 5373bb4256 Merge branch 'master' into m3u-live 2020-01-24 15:59:59 +10:30
Trek H 445fc6bc71 mjpeg-player: keeping track of loaded fragments 2020-01-24 15:50:59 +10:30
Scott Barnard 27681e773f Merged in send-logs (pull request #337)
Send log files to netreciever

Approved-by: Saxon Milton <saxon.milton@gmail.com>
2020-01-24 05:11:51 +00:00
Trek H c6a096f5a0 mjpeg-player: added reloading of live playlists
Reduced level-contoller.js to keep only what we need (reloading of live playlists).
Added a LevelController to Hls in hls.js.
Removed stop message from player.js which was causing false stops.
Minor changes to level-helper.js (formatting and logger).
2020-01-24 15:24:29 +10:30
Trek H 4e4eaf95d4 Merge branch 'master' into m3u-reduc 2020-01-24 15:17:51 +10:30
Scott 62141926ff main: netLogger → netLog 2020-01-24 15:15:42 +10:30
Trek H 31dc50a4a2 mjpeg-player: adding back files 2020-01-24 14:18:26 +10:30
Trek H 6ed6d1c28b mjpeg-player: removed files from branch that are changed in existing PRs 2020-01-24 14:10:42 +10:30
Scott 0e94a0172b cmd/revid-cli/main.go: netlogger.NetLogger -> netlogger.Logger 2020-01-23 09:41:54 +10:30
Scott 93f7d5849e Added newlines to logger.New 2020-01-22 15:36:20 +10:30
Scott 9d2fd53335 megabytes -> MB 2020-01-22 15:33:23 +10:30
Trek H 971428229b Merge branch 'm3u-packages' into m3u-live 2020-01-21 13:46:23 +10:30
Trek H a5170331e4 mjpeg-player: added original hls.js files for reloading live playlists
These have been added in their unmodified state so that when they are modified to work with our code, the changes can easily be seen.
2020-01-21 13:32:29 +10:30
Trek H 35504f2f4d Merge branch 'm3u-update' into m3u-live 2020-01-21 13:27:04 +10:30
Trek H 2e47a3af92 Merge branch 'm3u-reduc' into m3u-live 2020-01-21 13:26:47 +10:30
Trek H 7eb717a35a Merge branch 'm3u-minor' into m3u-live 2020-01-21 13:26:34 +10:30
Trek H 3ae4670e49 Merge branch 'm3u-loader-correction' into m3u-live 2020-01-21 13:26:15 +10:30
Trek H 9e963d0bb5 Merge branch 'm3u-ts' into m3u-live 2020-01-21 13:25:51 +10:30
Trek H 3702bb2bb3 Merge branch 'm3u-reduction' into m3u-live 2020-01-21 13:25:40 +10:30
Trek H 80b693e0f3 Merge branch 'mtsdemuxer-change' into m3u-live 2020-01-21 13:25:14 +10:30
Trek H 461ff32cc6 Merge branch 'master' into m3u-update 2020-01-21 11:51:31 +10:30
Trek H 6f583a2815 mjpeg-player: comments for classes and functions 2020-01-21 11:47:37 +10:30
Trek H e278397aa3 mjpeg-player: append to lexer
The mjpeg lexer can now have data appended to it as many times as needed instead of having the data passed at construction.
2020-01-20 21:00:24 +10:30
Trek H 9c978be91b mjpeg-player: updated player for m3u changes
Updated player to play data that has been loaded using the hlsjs m3u loading code.
Added an input URL element to html to load playlists.
2020-01-20 20:52:37 +10:30
Trek H ceac1c9e32 mjpeg-player: reduce and simplify hlsjs code
hls.js and stream-controller were both very large ariginally so as to make things simpler, they have been reduced in size and complexity and now just perform the functionality that we need.
2020-01-20 20:31:23 +10:30
Trek H 8e718386f2 mjpeg-player: minor changes to xhr-loader and frag-loader
Changes include: using console for logger, import statements, formatting.
2020-01-20 20:20:03 +10:30
Trek H 6fa4abe78c mjpeg-player: playlist loader modification
Typescript code has been removed.
Functionality that is not being used has been removed.
2020-01-20 20:05:23 +10:30
Trek H 823334a983 mjpeg-player: added file headers 2020-01-20 19:52:22 +10:30
Trek H f062a8456e mjpeg-player: added config and events file headers 2020-01-20 19:46:23 +10:30
Trek H 5ad32207b3 mjpeg-player: updated mtsdemuxer header 2020-01-20 19:44:12 +10:30
Trek H 2d71869104 mjpeg-player: added level-key ts conversion 2020-01-20 17:37:51 +10:30
Scott 8c82a03c25 cmd/revid-cli/main.go: Renamed SendLogs to Send. 2020-01-20 16:20:35 +10:30
Trek H 476c306620 mjpeg-player: mtsdemuxer functionality change
changed MTSDemuxer's 'append' to 'demux' because it is not appending.
Updated MTSDemuxer so that it doesn't store the stream after demuxing it, it simply demuxes the data it's given and returns the demuxed data.
Any PES packets that were truncated are kept to be tried at the next call to demux.
2020-01-20 16:03:35 +10:30
Trek H 290ba3ae3f mjpeg-player: conversion from typescript to javascript code
Changing the typescript code to javascript code.
Updated import statements.
2020-01-20 15:42:22 +10:30
Trek H b8195e5ef9 mjpeg-player: reduced config vars and events
Reduced the lengthy lists of config vars and events used by hlsjs player that we no longer need.

Also removed typescript typing from config.js
2020-01-20 15:20:13 +10:30
Trek H a9f26eb3fe mjpeg-player: modifications to package exportation
these node.js packages are used in the hls.js code and in order to use them with es6 importing/exporting, they needed to be modified.
2020-01-20 14:51:51 +10:30
Scott e4315d8203 cmd/revid-cli: added error checking for sending of logs 2020-01-20 10:50:02 +10:30
Scott b1a7adc487 cmd/revid-cli: send logs using netlogger 2020-01-20 10:42:37 +10:30
Saxon 39d0fa12d0 cmd/revid-cli: send logs using smartlogger 2020-01-20 10:33:43 +10:30
Trek H acb6c28b9b mjpeg-player: added packages used by hls.js code 2020-01-17 16:28:48 +10:30
Trek H fd476ad964 mjpeg-player: renamed all .ts files to .js 2020-01-17 16:20:30 +10:30
Trek H 42ccdd1ef7 mjpeg-player: added m3u hls.js code
Added original hls.js code for m3u loading and parsing which will be modified to work with our mjpeg player.
2020-01-02 18:36:52 +10:30
Trek H 372865132b mjpeg-player: fomatting and removed bootstrap. 2020-01-02 11:35:43 +10:30
Trek H fb11dde938 mjpeg-player: make maxScanWindow a const an document it. 2019-12-25 09:34:29 +10:30
Trek Hopton 8accd624c1 Merged master into mjpeg-player-new 2019-12-22 03:55:19 +00:00
Scott f00918a73d Revid uses netsender to report variable types
Variable type data kept in revid/config/config.go
Supports variadic new function in netsender
Updated revid to use iot v1.2.9
2019-12-18 09:34:04 +10:30
Trek H ee4b188175 mjpeg-player: revert reorder of switch cases to minimise diff 2019-12-13 14:03:39 +10:30
Trek H 9ba9eb14af mjpeg-player: cosmetic changes to minimise diff 2019-12-13 13:53:52 +10:30
Trek H 47d9130385 mjpeg-player: added header to mts-demuxer 2019-12-12 14:16:52 +10:30
Trek H a0a5496d44 mjpeg-player: demux mods added 2019-12-12 14:00:21 +10:30
Trek H c1930baf40 mjpeg-player: added player code and hlsjs modifications 2019-12-12 13:56:50 +10:30
Trek H 9476440e21 mjpeg-player: added original hls.js code for mts demuxer 2019-12-12 13:41:44 +10:30
Scott c11444f043 FlipHorizontal & FlipVertical variables renamed 2019-12-06 16:36:29 +10:30
Scott 565ba3079c Formatted code 2019-12-03 14:55:08 +10:30
Scott d5191d9daf Revid CLI accepts MJPEG as an input codec
The ffmpeg command uses the input codec value (H264 or mjpeg). However, it does not yet capture in mjpeg correctly.
2019-12-03 12:05:57 +10:30
Trek H cd63d0d95a alsa: unexported ringbuffer chunksize
Chunksize can be calculated without needing an ALSA device instance.

Added a DataSize function to pcm package for calculating size of pcm data given relevant attributes.

Removed ChunkSize from config revid config struct.

Changed NewByteLexer to accept an in rather than a pointer.
2019-11-13 19:56:13 +10:30
Trek H d7a8d2bd87 Merge branch 'general-pcm' into unexport-chunksize 2019-11-13 17:15:38 +10:30
Trek H f2c9cc5881 alsa: renamed ALSA.buf to ALSA.pb since there are two buffers
Also elaborated on the difference in the comments.
2019-11-13 17:11:35 +10:30
Trek H 796a3b9a97 pcm: changed term clip to buffer 2019-11-13 16:54:41 +10:30
Saxon 1a65dc9da4 fixing build errors and testing bugs + removed config_test.go as not relevant anymore 2019-11-13 14:11:29 +10:30
Trek H 5e472ba4c9 pcm: refactored to be general not alsa only
Addition of new structs and helper functions for passing around pcm clips/buffers and their formats so that we don't have to import and rely on yobert/alsa code.

Updated any commands and alsa package to use refactored code.
2019-11-12 21:24:08 +10:30
Saxon 57d73a8d0a created av/device package and sub packages raspivid, geovision, webcam and file
av/device/device.go now contains the AVDevice interface and implementations of this
interface, namely, raspivid, geovision, webcam and file are contained in the packages
av/device/raspivid, av/device/geovision, av/device/webcam and av/device/file
respctively. config.go and testing was also moved to a new package called config.go in
order to remove would be circular dependency between AVDevice implementations and revid.
Modifications were made elsewhere expecting config.Config to be part of the revid package.
2019-11-06 17:44:50 +10:30
Saxon 7dc15d8095 revid-cli: updated input and output const names 2019-11-05 20:22:05 +10:30
Saxon 4a68c42510 cmd/revid-cli/main.go: fixed description for CameraIP flag 2019-10-23 20:02:10 +10:30
Saxon 02a44ecea2 fixed audio testing requiring logger 2019-10-23 12:59:12 +10:30
Saxon 38cfad7b67 revid: fixing some more bugs
Fixed H264 RTP extractor. Fine tuned some timing regarding geovision setup. Added some more
logging to geovision setup.
2019-10-23 12:48:22 +10:30
Saxon 8c1c192218 revid: revid config to update geovision configuration using gvctrl
Added required new params to config structure, and therefore also added new defaults and validation checking.
Also updated revid's update func so that we can control new parameters using vars. Now using gvctrl in
startRTSPCamera function and interpreting revid config to configure camera.
2019-10-22 14:54:38 +10:30
Trek H 76dddda6cd audio-player: using typed arrays
change decoder to use typed array and array indexing instead of pushing to regular arrays for performance reasons.
2019-10-01 10:24:15 +09:30
Trek H d170afea8e audio-player: added decBytes function
I added a function called decBytes to calculate the number of PCM bytes that will be generated from a given array of ADPCM bytes.
2019-09-27 18:59:08 +09:30
Trek H 7f2c77368d audio-player: structured Decoder as a class 2019-09-27 17:32:16 +09:30
Trek H 0517e399d1 audio-player: using correct js declarations 2019-09-27 12:06:09 +09:30
Trek H 1de5438565 audio-player: corrected indentation and comments 2019-09-24 17:15:58 +09:30
Trek H 1a8493853e Merge branch 'master' into audio-player 2019-09-19 12:44:25 +09:30
Trek H 7ed73f3301 audio-player: fixed conflict 2019-09-14 22:35:37 +09:30
Trek H d0e5fd954f audio-netsender: changed rac back to how it was 2019-09-14 22:05:51 +09:30
Trek H 83a425ce2b audio-netsender: fixed type and netsender errors 2019-09-14 19:24:47 +09:30
Trek H 3bd3e52371 audio-netsender: moved audio-netsender from iot to av 2019-09-14 19:23:44 +09:30
Saxon 817cc86a34 revid: now have MinPeriod and ClipDuration params
This change included a rename of IntraRefreshPeriod to MinPeriod, and the addition of the ClipDuration param. PSI are now written before IDR. Clips are no longer outputed
based on PSI but rather a time ClipDuration, where ClipDuration >= MinPeriod, however, PSI must still be at the beginning of each clip. Also created functionality to update
meta time even if we don't have a response to update.
2019-08-25 20:42:01 +09:30
Saxon 9eb155dfed revid-cli: removed use of config quantize param in revid-cli 2019-08-24 14:05:34 +09:30
Saxon Milton 2470ce95ad revid-cli: setting default InputCodec to codecutil.H264 2019-08-09 09:41:47 +00:00
Saxon 61274a18d5 revid-cli: removed reference to framesPerClip which doesn't exist anymore 2019-08-08 13:25:24 +09:30
Trek H 3f29f0c84e Merge branch 'master' into revid-audio 2019-08-02 23:32:21 +09:30
scruzin 3c1965d938 Propagate netsender client error. 2019-07-26 18:55:56 +09:30
Trek H e3ba1e43f3 Merge branch 'master' into revid-audio 2019-06-14 00:15:04 +09:30
Trek H 96c1b51173 revid and audio: seperated audio into own package
audio device input is now handle in its own package which resides in the new input directory
a list of codecs was added to codecutil package to help with multiple packages using the same codecs
2019-06-06 02:09:55 +09:30
Trek H 3d7539c6df Merge branch 'master' into revid-audio 2019-06-03 17:50:48 +09:30
Saxon b6e5414c8a revid: fixed merge conflicts 2019-05-27 15:15:26 +09:30
Trek H c58c573cd7 revid: changed writeRates and recPeriods to floats 2019-05-21 12:39:10 +09:30
Saxon 88ffdf08b5 revid: changed the input enum for RTSP input from RTSPCamera to RTSP 2019-05-21 12:18:52 +09:30
Saxon 3ff726e439 revid & cmd/revid-cli: removed need for command line flags to specify addresses for RTP and RTCP.
Removed the command line flags that were used to specifiy local and remote addresses for RTP and RTCP. These are now
derived from the initial RTSP connection and also from the RTSP SETUP method reply.
2019-05-20 19:45:59 +09:30
Saxon bc6a0ae55e revid: using RTCP client to maintain RTP stream from RTSP server
Now adopting an RTCP client so that the RTP stream from the RTSP server can be maintained past 1 minute.
This change involved some refactor.
The rtcp.NewClient signature has been simplified. There is now a default send interval and name for use
in the source description in the receiver reports. These can be customised if required with the new
SetSendInterval and SetName funcs. The rtcp.NewClient signature now takes an rtp.Client, so that it
can get information from the RTP stream, like most recent sequence number. As a result of this requirement
the rtp package parse file has been extended with some functions for parsing out the sequence number and
ssrc from RTP packets and the RTP client provides getters for these things.
2019-05-20 18:14:27 +09:30
Saxon bd56e936a4 cmd/revid-cli: checking Input flag string and assigning cfg.Input to revid.RTSPCamera if 'RTSPCamera' is entered. 2019-05-16 13:05:09 +09:30
Saxon 5a2f15054d cmd/revid-cli: added flags related to RTSP input
Added 'RTSPCamera' option to description for 'Input' revid-cli flag. Also added other flags required
to set config params for RTSP input, like RTSPURL, RTPRecvAddr and RTCPAddr.
2019-05-16 12:55:35 +09:30
Saxon 1762adf338 revid/config.go: finished commenting config fields, and removed unused options. 2019-05-13 16:55:20 +09:30
Saxon 835f97203a revid: config fields that are exported and acronyms now capitalized. 2019-05-13 16:23:38 +09:30
Saxon 51fcb18505 revid: capitalize exported enums that are acronyms like Rtmp->RTMP, Mpegts->MPEGTS etc. 2019-05-13 16:18:41 +09:30
Saxon dc0ecf712d fixed config outputs defaulting bug 2019-05-12 01:57:38 +09:30
Trek H e699c30a85 revid: updated documentation and licenses 2019-05-08 19:31:25 +09:30
Trek H faa6246a51 Merge branch 'master' into revid-audio 2019-05-08 16:23:56 +09:30
Trek H 7d4da08cf0 revid: audio lexer reading and writing correct bytes 2019-05-07 16:52:58 +09:30
Trek H a3c7cb5616 revid: added chunkSize to audioInput and bufferSize to lex functions
The audio lexers need to know how much data they will be receiving unlike video which has a fixed buffer size.
This means that all the lex function will need to be given a buffer size since they are used as a function pointer with the same signature.
2019-05-05 17:56:14 +09:30
Trek H 09db8907a5 revid: matching up audio packet sizes, chunk sizes and rates throughout revid pipeline 2019-04-26 17:03:30 +09:30
Trek H b1e5b4341f revid: pid for audio being written to mts packets 2019-04-24 16:39:18 +09:30
Trek H 3484e35692 revid: revid building and running with audio additions 2019-04-24 13:58:56 +09:30
Trek H c51e0ec168 revid: adding audio config parameters 2019-04-23 19:05:47 +09:30
Trek H 20c9e6c409 revid: added PCM and ADPCM codecs 2019-04-23 16:20:47 +09:30