New streaming endpoints #265

Merged
blacklight merged 17 commits from 264-streaming-endpoints into master 2023-06-27 13:38:14 +02:00

17 Commits

Author SHA1 Message Date
Fabio Manganiello f2540437b7
Sound plugin rewritten almost from scratch. 2023-06-27 13:31:38 +02:00
Fabio Manganiello 2fb6e4d7d0
Updated webapp dist files 2023-06-16 15:48:23 +02:00
Fabio Manganiello 2f4229d7b1
pylint fixes for the camera plugin. 2023-06-16 15:40:05 +02:00
Fabio Manganiello 9aa8e4538a
Better termination logic for the ffmpeg audio converter. 2023-06-16 11:47:37 +02:00
Fabio Manganiello a6351dddd4
Extracted `AudioRecorder` out of `SoundPlugin`. 2023-06-16 03:12:55 +02:00
Fabio Manganiello da93f1b3b0
[Chore] pylint 2023-06-14 01:44:36 +02:00
Fabio Manganiello c8786b75de
`sound.recordplay` merged into `sound.record`. 2023-06-12 22:15:02 +02:00
Fabio Manganiello be794316a8
Merged `sound.stream_recording` and `sound.record`. 2023-06-12 13:06:02 +02:00
Fabio Manganiello a415c5b231
Merged outfile/fifo logic in `sound.stream_recording`. 2023-06-12 12:33:14 +02:00
Fabio Manganiello e238fcb6e4
Refactoring the `sound` plugin to use ffmpeg as a stream converter. 2023-06-11 12:48:49 +02:00
Fabio Manganiello 4587b262b0
Stream camera frames over HTTP using a Redis pub/sub mechanism. 2023-06-05 20:40:12 +02:00
Fabio Manganiello d7208c6bbc
Refactored Tornado routes for native pub/sub support.
The Redis pub/sub mechanism is now a native feature for Tornado routes
through the `PubSubMixin`.

(Plus, lint/black chore for the sound plugin)
2023-05-30 21:58:27 +02:00
Fabio Manganiello 8b5eb82497
Camera stream writer fixes.
- The readiness condition should be `multiprocessing.Condition`, not
  `threading.Condition` - in most of the cases it will be checked in a
  multiprocess environment.

- Fixed parameter name for `write`.
2023-05-30 11:06:48 +02:00
Fabio Manganiello 4fffabd82a
Revert "Removed `camera.gstreamer`."
This reverts commit b4d714df8a.
2023-05-29 22:13:24 +02:00
Fabio Manganiello 4bf9c01ac9
Moved camera routes.
Camera routes migrated from Flask blueprints to Tornado handlers.
2023-05-27 22:24:45 +02:00
Fabio Manganiello b4d714df8a
Removed `camera.gstreamer`.
Too much of a pain in the ass to handle, too many format options to
think of, too many combinations of pipelines to support, and if I don't
think of those beforehand then I'll have to offload all of that
complexity on the user.
2023-05-27 22:19:50 +02:00
Fabio Manganiello 1c40e5e843
Black'd the camera plugin and writer.
Also, proper fix for the multi-inheritance problem of
the ffmpeg writers.
2023-05-23 20:42:59 +02:00