sciveo 0.1.85__tar.gz → 0.1.87__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sciveo-0.1.85 → sciveo-0.1.87}/PKG-INFO +1 -1
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/cli.py +18 -5
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/cam.py +39 -7
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/gst_server.py +3 -3
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/timers.py +19 -0
- sciveo-0.1.87/sciveo/version.py +2 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.85/sciveo/version.py +0 -2
- {sciveo-0.1.85 → sciveo-0.1.87}/README.md +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/api/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/api/predictors.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/api/server.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/common/model.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/content/project.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/db/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/db/read_table.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/draw.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/circle.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/game.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/laser.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/motion_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/nvr.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/readers.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/rpi.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/capture/rtsp.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/tools/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/tools/video_interactive.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/dataset/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/dataset/object_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/evaluation/markdown.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/evaluation/object_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/description.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/embeddings.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/images/transformers.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/nlp/embeddings.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/video/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/ml/video/description.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/power/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/power/ems300.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/power/sim.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/power/tools.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/watchdog/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/watchdog/base.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/monitoring/watchdog/process.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/complexity.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/draw/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/draw/contours.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/queue.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/tools/totp.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/web/__init__.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo/web/common.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/setup.cfg +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/setup.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_complexity.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_compress.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_configuration.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_crypto.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_eval_markdown.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_ml_datasets.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_monitoring.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_runner.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_sampling.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_tokenizers.py +0 -0
- {sciveo-0.1.85 → sciveo-0.1.87}/test/test_totp.py +0 -0
|
@@ -28,7 +28,7 @@ def main():
|
|
|
28
28
|
'command',
|
|
29
29
|
choices=[
|
|
30
30
|
'init', 'monitor', 'scan',
|
|
31
|
-
'nvr', 'rtsp',
|
|
31
|
+
'nvr', 'rtsp', 'capture',
|
|
32
32
|
'predictors-server', 'media-server', 'media-run',
|
|
33
33
|
'watchdog',
|
|
34
34
|
],
|
|
@@ -114,7 +114,7 @@ def main():
|
|
|
114
114
|
player = RTSPVideoPlayer(url)
|
|
115
115
|
player.run()
|
|
116
116
|
else:
|
|
117
|
-
from sciveo.media.capture.gst_server import CamFactory, ColorBarFactory,
|
|
117
|
+
from sciveo.media.capture.gst_server import CamFactory, ColorBarFactory, CamPlayerDaemon
|
|
118
118
|
data = json.loads(args.data_json)
|
|
119
119
|
if args.src_id is not None:
|
|
120
120
|
server = CamFactory(args.src_id, args.width, args.height, args.fps, configuration=data)
|
|
@@ -125,11 +125,24 @@ def main():
|
|
|
125
125
|
# warning("RTSP src", args.src, "not recognised")
|
|
126
126
|
server = CamFactory(args.src, args.width, args.height, args.fps, configuration=data)
|
|
127
127
|
if args.display is not None:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
player = CamPlayerDaemon(server, host=args.host, port=args.port, stream=args.stream, display=args.display)
|
|
129
|
+
player.start()
|
|
130
|
+
player.play()
|
|
131
131
|
else:
|
|
132
132
|
server.serve(host=args.host, port=args.port, stream=args.stream)
|
|
133
|
+
elif args.command == 'capture':
|
|
134
|
+
from sciveo.media.capture.cam import CameraDaemon, ScreenDaemon, CapturePlayer
|
|
135
|
+
if args.src == "screen":
|
|
136
|
+
cap = ScreenDaemon(src=args.src_id, region=json.loads(args.data_json))
|
|
137
|
+
elif args.src == "cam":
|
|
138
|
+
cap = CameraDaemon(cam_id=args.src_id)
|
|
139
|
+
elif args.src == "rpi":
|
|
140
|
+
from sciveo.media.capture.rpi import RPICamera
|
|
141
|
+
cap = RPICamera(cam_id=args.src_id, width=args.width, height=args.height)
|
|
142
|
+
else:
|
|
143
|
+
cap = CameraDaemon(cam_id=args.src_id)
|
|
144
|
+
player = CapturePlayer(cap=cap, tag=args.src, fps=args.fps or 0)
|
|
145
|
+
player.play()
|
|
133
146
|
elif args.command == 'media-server':
|
|
134
147
|
from sciveo.media.pipelines.server import __START_SCIVEO_MEDIA_SERVER__
|
|
135
148
|
__START_SCIVEO_MEDIA_SERVER__()
|
|
@@ -18,7 +18,7 @@ import mss
|
|
|
18
18
|
|
|
19
19
|
from sciveo.tools.logger import *
|
|
20
20
|
from sciveo.tools.daemon import DaemonBase
|
|
21
|
-
from sciveo.tools.timers import FPSCounter
|
|
21
|
+
from sciveo.tools.timers import FPSCounter, FPSDelay
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class CaptureBase(DaemonBase):
|
|
@@ -153,11 +153,43 @@ class ScreenDaemon(CaptureBase):
|
|
|
153
153
|
self.frame = frame
|
|
154
154
|
|
|
155
155
|
|
|
156
|
+
class CapturePlayer:
|
|
157
|
+
def __init__(self, cap, tag="capture", fps=0, key_quit='q'):
|
|
158
|
+
self.cap = cap
|
|
159
|
+
self.tag = tag
|
|
160
|
+
self.key_quit = key_quit
|
|
161
|
+
|
|
162
|
+
self.fps = fps
|
|
163
|
+
if self.fps > 0:
|
|
164
|
+
self.delay = 1.0 / self.fps
|
|
165
|
+
else:
|
|
166
|
+
self.delay = 0
|
|
167
|
+
|
|
168
|
+
self.fps_player = FPSCounter(period=10, tag=f"play", round_value=1)
|
|
169
|
+
self.fps_delay = FPSDelay(self.fps)
|
|
170
|
+
self.cap.start()
|
|
171
|
+
|
|
172
|
+
def play(self):
|
|
173
|
+
info("Press", self.key_quit, "to quit")
|
|
174
|
+
while(True):
|
|
175
|
+
self.fps_delay.start()
|
|
176
|
+
|
|
177
|
+
frame = self.cap.read()
|
|
178
|
+
if frame is None:
|
|
179
|
+
time.sleep(0.1)
|
|
180
|
+
continue
|
|
181
|
+
cv2.imshow(f"{self.tag} {frame.shape}", frame)
|
|
182
|
+
if cv2.waitKey(1) & 0xFF == ord(self.key_quit):
|
|
183
|
+
break
|
|
184
|
+
|
|
185
|
+
self.fps_player.update()
|
|
186
|
+
|
|
187
|
+
self.fps_delay.wait()
|
|
188
|
+
|
|
189
|
+
self.cap.close()
|
|
190
|
+
|
|
191
|
+
|
|
156
192
|
if __name__ == '__main__':
|
|
157
193
|
cap = ScreenDaemon(src=1, region=[300,300, 800,800])
|
|
158
|
-
cap
|
|
159
|
-
|
|
160
|
-
frame = cap.read()
|
|
161
|
-
frame = cv2.resize(frame, (250, 250))
|
|
162
|
-
cv2.imshow("captured", frame)
|
|
163
|
-
cv2.waitKey(1)
|
|
194
|
+
player = CapturePlayer(cap, tag="screen", key_quit='q')
|
|
195
|
+
player.play()
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
import numpy as np
|
|
13
13
|
import time
|
|
14
|
-
import cv2
|
|
15
14
|
|
|
16
15
|
import gi
|
|
17
16
|
gi.require_version('Gst', '1.0')
|
|
@@ -173,7 +172,7 @@ class CamFactory(ColorBarFactory):
|
|
|
173
172
|
return frame
|
|
174
173
|
|
|
175
174
|
|
|
176
|
-
class
|
|
175
|
+
class CamPlayerDaemon(DaemonBase):
|
|
177
176
|
def __init__(self, cam_factory, host="0.0.0.0", port=8554, stream="test", display=0):
|
|
178
177
|
super().__init__()
|
|
179
178
|
self.cam_factory = cam_factory
|
|
@@ -186,7 +185,8 @@ class CamDisplayDaemon(DaemonBase):
|
|
|
186
185
|
def loop(self):
|
|
187
186
|
self.cam_factory.serve(host=self.host, port=self.port, stream=self.stream)
|
|
188
187
|
|
|
189
|
-
def
|
|
188
|
+
def play(self):
|
|
189
|
+
import cv2
|
|
190
190
|
while(True):
|
|
191
191
|
frame = self.cam_factory.read_cam_frame()
|
|
192
192
|
if frame is None:
|
|
@@ -14,6 +14,25 @@ import time
|
|
|
14
14
|
from sciveo.tools.logger import *
|
|
15
15
|
|
|
16
16
|
|
|
17
|
+
class FPSDelay:
|
|
18
|
+
def __init__(self, fps):
|
|
19
|
+
self.fps = fps
|
|
20
|
+
if fps > 0:
|
|
21
|
+
self.delay = 1.0 / fps
|
|
22
|
+
else:
|
|
23
|
+
self.delay = 0
|
|
24
|
+
|
|
25
|
+
def start(self):
|
|
26
|
+
self.from_time = time.time()
|
|
27
|
+
|
|
28
|
+
def wait(self):
|
|
29
|
+
current_time = time.time()
|
|
30
|
+
elapsed_time = current_time - self.from_time
|
|
31
|
+
time_to_wait = self.delay - elapsed_time
|
|
32
|
+
if time_to_wait > 0:
|
|
33
|
+
time.sleep(time_to_wait)
|
|
34
|
+
|
|
35
|
+
|
|
17
36
|
class FPSCounter:
|
|
18
37
|
def __init__(self, period=1, tag="", print_period=1, printer=debug, round_value=2):
|
|
19
38
|
self.period = period
|
sciveo-0.1.85/sciveo/version.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.85 → sciveo-0.1.87}/sciveo/media/pipelines/processors/sci/time_series/trainer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|