sciveo 0.1.84__tar.gz → 0.1.86__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.84 → sciveo-0.1.86}/PKG-INFO +1 -1
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/cli.py +19 -3
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/cam.py +22 -6
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/gst_server.py +37 -1
- sciveo-0.1.86/sciveo/version.py +2 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.84/sciveo/version.py +0 -2
- {sciveo-0.1.84 → sciveo-0.1.86}/README.md +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/api/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/api/predictors.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/api/server.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/common/model.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/content/project.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/db/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/db/read_table.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/draw.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/circle.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/game.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/laser.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/motion_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/nvr.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/readers.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/rpi.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/capture/rtsp.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/tools/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/tools/video_interactive.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/dataset/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/dataset/object_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/evaluation/markdown.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/evaluation/object_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/description.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/embeddings.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/images/transformers.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/nlp/embeddings.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/video/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/ml/video/description.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/power/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/power/ems300.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/power/sim.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/power/tools.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/watchdog/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/watchdog/base.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/monitoring/watchdog/process.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/complexity.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/draw/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/draw/contours.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/queue.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/timers.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/tools/totp.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/web/__init__.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo/web/common.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/setup.cfg +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/setup.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_complexity.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_compress.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_configuration.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_crypto.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_eval_markdown.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_ml_datasets.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_monitoring.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_runner.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_sampling.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/test/test_tokenizers.py +0 -0
- {sciveo-0.1.84 → sciveo-0.1.86}/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
|
],
|
|
@@ -61,6 +61,7 @@ def main():
|
|
|
61
61
|
parser.add_argument('--pid', type=int, default=None, help='Process PID')
|
|
62
62
|
parser.add_argument('--serial', type=str, default=None, help='Serial Name')
|
|
63
63
|
parser.add_argument('--data-json', type=str, default="{}", help='Json Data')
|
|
64
|
+
parser.add_argument('--display', type=int, default=None, help='Display number')
|
|
64
65
|
|
|
65
66
|
args = parser.parse_args()
|
|
66
67
|
|
|
@@ -113,7 +114,7 @@ def main():
|
|
|
113
114
|
player = RTSPVideoPlayer(url)
|
|
114
115
|
player.run()
|
|
115
116
|
else:
|
|
116
|
-
from sciveo.media.capture.gst_server import CamFactory, ColorBarFactory
|
|
117
|
+
from sciveo.media.capture.gst_server import CamFactory, ColorBarFactory, CamPlayerDaemon
|
|
117
118
|
data = json.loads(args.data_json)
|
|
118
119
|
if args.src_id is not None:
|
|
119
120
|
server = CamFactory(args.src_id, args.width, args.height, args.fps, configuration=data)
|
|
@@ -123,7 +124,22 @@ def main():
|
|
|
123
124
|
else:
|
|
124
125
|
# warning("RTSP src", args.src, "not recognised")
|
|
125
126
|
server = CamFactory(args.src, args.width, args.height, args.fps, configuration=data)
|
|
126
|
-
|
|
127
|
+
if args.display is not None:
|
|
128
|
+
player = CamPlayerDaemon(server, host=args.host, port=args.port, stream=args.stream, display=args.display)
|
|
129
|
+
player.start()
|
|
130
|
+
player.play()
|
|
131
|
+
else:
|
|
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=1, region=json.loads(args.data_json))
|
|
137
|
+
elif args.src == "cam":
|
|
138
|
+
cap = CameraDaemon(cam_id=args.src_id)
|
|
139
|
+
else:
|
|
140
|
+
cap = CameraDaemon(cam_id=args.src_id)
|
|
141
|
+
player = CapturePlayer(cap, tag=args.src)
|
|
142
|
+
player.play()
|
|
127
143
|
elif args.command == 'media-server':
|
|
128
144
|
from sciveo.media.pipelines.server import __START_SCIVEO_MEDIA_SERVER__
|
|
129
145
|
__START_SCIVEO_MEDIA_SERVER__()
|
|
@@ -153,11 +153,27 @@ class ScreenDaemon(CaptureBase):
|
|
|
153
153
|
self.frame = frame
|
|
154
154
|
|
|
155
155
|
|
|
156
|
+
class CapturePlayer:
|
|
157
|
+
def __init__(self, cap, tag="capture", key_quit=ord('q')):
|
|
158
|
+
self.cap = cap
|
|
159
|
+
self.tag = tag
|
|
160
|
+
self.key_quit = key_quit
|
|
161
|
+
self.cap.start()
|
|
162
|
+
|
|
163
|
+
def play(self):
|
|
164
|
+
while(True):
|
|
165
|
+
frame = self.cap.read()
|
|
166
|
+
if frame is None:
|
|
167
|
+
time.sleep(0.1)
|
|
168
|
+
continue
|
|
169
|
+
cv2.imshow(f"{self.tag} {frame.shape}", frame)
|
|
170
|
+
if cv2.waitKey(1) & 0xFF == ord(self.key_quit):
|
|
171
|
+
break
|
|
172
|
+
|
|
173
|
+
self.cap.close()
|
|
174
|
+
|
|
175
|
+
|
|
156
176
|
if __name__ == '__main__':
|
|
157
177
|
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)
|
|
178
|
+
player = CapturePlayer(cap, tag="screen", key_quit='q')
|
|
179
|
+
player.play()
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
#
|
|
11
11
|
|
|
12
12
|
import numpy as np
|
|
13
|
+
import time
|
|
14
|
+
import cv2
|
|
13
15
|
|
|
14
16
|
import gi
|
|
15
17
|
gi.require_version('Gst', '1.0')
|
|
@@ -18,6 +20,7 @@ from gi.repository import Gst, GObject, GstRtspServer, GLib
|
|
|
18
20
|
Gst.init(None)
|
|
19
21
|
|
|
20
22
|
from sciveo.tools.logger import *
|
|
23
|
+
from sciveo.tools.daemon import DaemonBase
|
|
21
24
|
from sciveo.tools.timers import FPSCounter
|
|
22
25
|
from sciveo.media.capture.draw import *
|
|
23
26
|
from sciveo.media.capture.cam import CameraDaemon
|
|
@@ -145,12 +148,16 @@ class CamFactory(ColorBarFactory):
|
|
|
145
148
|
else:
|
|
146
149
|
self.cam = CameraDaemon(cam_id=self.cam_id)
|
|
147
150
|
|
|
148
|
-
def
|
|
151
|
+
def read_cam_frame(self):
|
|
149
152
|
try:
|
|
150
153
|
frame = self.cam.read()
|
|
151
154
|
except Exception as e:
|
|
152
155
|
exception(e, "CAM frame read FAIL")
|
|
153
156
|
frame = None
|
|
157
|
+
return frame
|
|
158
|
+
|
|
159
|
+
def next_frame(self):
|
|
160
|
+
frame = self.read_cam_frame()
|
|
154
161
|
|
|
155
162
|
if frame is None:
|
|
156
163
|
frame = super().next_frame()
|
|
@@ -166,6 +173,35 @@ class CamFactory(ColorBarFactory):
|
|
|
166
173
|
return frame
|
|
167
174
|
|
|
168
175
|
|
|
176
|
+
class CamPlayerDaemon(DaemonBase):
|
|
177
|
+
def __init__(self, cam_factory, host="0.0.0.0", port=8554, stream="test", display=0):
|
|
178
|
+
super().__init__()
|
|
179
|
+
self.cam_factory = cam_factory
|
|
180
|
+
self.host = host
|
|
181
|
+
self.port = port
|
|
182
|
+
self.stream = stream
|
|
183
|
+
self.display = display
|
|
184
|
+
self.fps_display = FPSCounter(period=10, tag=f"display", round_value=1)
|
|
185
|
+
|
|
186
|
+
def loop(self):
|
|
187
|
+
self.cam_factory.serve(host=self.host, port=self.port, stream=self.stream)
|
|
188
|
+
|
|
189
|
+
def play(self):
|
|
190
|
+
while(True):
|
|
191
|
+
frame = self.cam_factory.read_cam_frame()
|
|
192
|
+
if frame is None:
|
|
193
|
+
time.sleep(0.1)
|
|
194
|
+
continue
|
|
195
|
+
|
|
196
|
+
if self.display == 0:
|
|
197
|
+
cv2.imshow(f"cam {self.cam_factory.cam_id} {frame.shape}", frame)
|
|
198
|
+
if cv2.waitKey(1) & 0xFF == ord('q'):
|
|
199
|
+
break
|
|
200
|
+
|
|
201
|
+
self.fps_display.update()
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
169
205
|
if __name__ == "__main__":
|
|
170
206
|
|
|
171
207
|
# server = ColorBarFactory(640, 480, 10)
|
sciveo-0.1.84/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.84 → sciveo-0.1.86}/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.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.84 → sciveo-0.1.86}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.84 → sciveo-0.1.86}/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
|
|
File without changes
|