sciveo 0.1.84__tar.gz → 0.1.85__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.
Files changed (191) hide show
  1. {sciveo-0.1.84 → sciveo-0.1.85}/PKG-INFO +1 -1
  2. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/cli.py +8 -2
  3. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/gst_server.py +37 -1
  4. sciveo-0.1.85/sciveo/version.py +2 -0
  5. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/PKG-INFO +1 -1
  6. sciveo-0.1.84/sciveo/version.py +0 -2
  7. {sciveo-0.1.84 → sciveo-0.1.85}/README.md +0 -0
  8. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/__init__.py +0 -0
  9. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/api/__init__.py +0 -0
  10. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/api/base.py +0 -0
  11. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/api/predictors.py +0 -0
  12. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/api/server.py +0 -0
  13. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/api/upload.py +0 -0
  14. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/common/__init__.py +0 -0
  15. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/common/configuration.py +0 -0
  16. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/common/model.py +0 -0
  17. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/common/optimizers.py +0 -0
  18. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/common/sampling.py +0 -0
  19. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/content/__init__.py +0 -0
  20. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/content/dataset.py +0 -0
  21. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/content/experiment.py +0 -0
  22. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/content/project.py +0 -0
  23. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/content/runner.py +0 -0
  24. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/db/__init__.py +0 -0
  25. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/db/read_table.py +0 -0
  26. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/__init__.py +0 -0
  27. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/__init__.py +0 -0
  28. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/cam.py +0 -0
  29. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/draw.py +0 -0
  30. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/__init__.py +0 -0
  31. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
  32. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
  33. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
  34. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/circle.py +0 -0
  35. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/game.py +0 -0
  36. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
  37. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
  38. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/laser.py +0 -0
  39. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
  40. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
  41. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
  42. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/motion_detection.py +0 -0
  43. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/nvr.py +0 -0
  44. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/readers.py +0 -0
  45. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/rpi.py +0 -0
  46. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/capture/rtsp.py +0 -0
  47. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/__init__.py +0 -0
  48. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/base.py +0 -0
  49. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/encoders/__init__.py +0 -0
  50. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/encoders/base.py +0 -0
  51. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/encoders/normalizer.py +0 -0
  52. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/nlp/__init__.py +0 -0
  53. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/nlp/search.py +0 -0
  54. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/time_series/__init__.py +0 -0
  55. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/time_series/dataset.py +0 -0
  56. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/time_series/predictor.py +0 -0
  57. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/time_series/trainer.py +0 -0
  58. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/ml/time_series/window_generator.py +0 -0
  59. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/__init__.py +0 -0
  60. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/base.py +0 -0
  61. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/job_daemon.py +0 -0
  62. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/layouts/__init__.py +0 -0
  63. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/layouts/base.py +0 -0
  64. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/pipeline.py +0 -0
  65. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
  66. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/postprocessors/base.py +0 -0
  67. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/postprocessors/default.py +0 -0
  68. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/__init__.py +0 -0
  69. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
  70. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
  71. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
  72. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/aws.py +0 -0
  73. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/base.py +0 -0
  74. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
  75. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/file/archive.py +0 -0
  76. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
  77. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/album.py +0 -0
  78. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
  79. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
  80. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
  81. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/filters.py +0 -0
  82. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/generators.py +0 -0
  83. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
  84. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/mask.py +0 -0
  85. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
  86. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/resize.py +0 -0
  87. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
  88. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
  89. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/media_info.py +0 -0
  90. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
  91. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
  92. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/qr.py +0 -0
  93. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
  94. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/base.py +0 -0
  95. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
  96. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
  97. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
  98. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
  99. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
  100. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
  101. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/generators.py +0 -0
  102. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
  103. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/resize.py +0 -0
  104. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
  105. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
  106. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
  107. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/queues.py +0 -0
  108. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/server.py +0 -0
  109. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/web/__init__.py +0 -0
  110. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/pipelines/web/server.py +0 -0
  111. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/tools/__init__.py +0 -0
  112. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/media/tools/video_interactive.py +0 -0
  113. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/__init__.py +0 -0
  114. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/base.py +0 -0
  115. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/dataset/__init__.py +0 -0
  116. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/dataset/object_detection.py +0 -0
  117. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/evaluation/__init__.py +0 -0
  118. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/evaluation/markdown.py +0 -0
  119. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/evaluation/object_detection.py +0 -0
  120. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/__init__.py +0 -0
  121. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/base.py +0 -0
  122. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/description.py +0 -0
  123. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/embeddings.py +0 -0
  124. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/object_detection.py +0 -0
  125. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/tools.py +0 -0
  126. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/images/transformers.py +0 -0
  127. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/nlp/__init__.py +0 -0
  128. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/nlp/embeddings.py +0 -0
  129. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
  130. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
  131. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/video/__init__.py +0 -0
  132. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/ml/video/description.py +0 -0
  133. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/__init__.py +0 -0
  134. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/monitor.py +0 -0
  135. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/power/__init__.py +0 -0
  136. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/power/ems300.py +0 -0
  137. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/power/sim.py +0 -0
  138. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/power/tools.py +0 -0
  139. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/start.py +0 -0
  140. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/watchdog/__init__.py +0 -0
  141. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/watchdog/base.py +0 -0
  142. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/monitoring/watchdog/process.py +0 -0
  143. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/network/__init__.py +0 -0
  144. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/network/camera.py +0 -0
  145. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/network/sniffer.py +0 -0
  146. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/network/tools.py +0 -0
  147. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/__init__.py +0 -0
  148. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/array.py +0 -0
  149. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/aws/__init__.py +0 -0
  150. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/aws/priority_queue.py +0 -0
  151. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/aws/s3.py +0 -0
  152. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/common.py +0 -0
  153. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/complexity.py +0 -0
  154. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/compress.py +0 -0
  155. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/configuration.py +0 -0
  156. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/crypto.py +0 -0
  157. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/daemon.py +0 -0
  158. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/draw/__init__.py +0 -0
  159. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/draw/contours.py +0 -0
  160. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/formating.py +0 -0
  161. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/hardware.py +0 -0
  162. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/http.py +0 -0
  163. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/logger.py +0 -0
  164. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/os.py +0 -0
  165. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/queue.py +0 -0
  166. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/random.py +0 -0
  167. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/remote.py +0 -0
  168. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/simple_counter.py +0 -0
  169. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/synchronized.py +0 -0
  170. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/timers.py +0 -0
  171. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/tools/totp.py +0 -0
  172. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/web/__init__.py +0 -0
  173. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo/web/common.py +0 -0
  174. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/SOURCES.txt +0 -0
  175. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/dependency_links.txt +0 -0
  176. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/entry_points.txt +0 -0
  177. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/requires.txt +0 -0
  178. {sciveo-0.1.84 → sciveo-0.1.85}/sciveo.egg-info/top_level.txt +0 -0
  179. {sciveo-0.1.84 → sciveo-0.1.85}/setup.cfg +0 -0
  180. {sciveo-0.1.84 → sciveo-0.1.85}/setup.py +0 -0
  181. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_complexity.py +0 -0
  182. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_compress.py +0 -0
  183. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_configuration.py +0 -0
  184. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_crypto.py +0 -0
  185. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_eval_markdown.py +0 -0
  186. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_ml_datasets.py +0 -0
  187. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_monitoring.py +0 -0
  188. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_runner.py +0 -0
  189. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_sampling.py +0 -0
  190. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_tokenizers.py +0 -0
  191. {sciveo-0.1.84 → sciveo-0.1.85}/test/test_totp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.84
3
+ Version: 0.1.85
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -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, CamDisplayDaemon
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,12 @@ 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
- server.serve(host=args.host, port=args.port, stream=args.stream)
127
+ if args.display is not None:
128
+ display_daemon = CamDisplayDaemon(server, host=args.host, port=args.port, stream=args.stream, display=args.display)
129
+ display_daemon.start()
130
+ display_daemon.display()
131
+ else:
132
+ server.serve(host=args.host, port=args.port, stream=args.stream)
127
133
  elif args.command == 'media-server':
128
134
  from sciveo.media.pipelines.server import __START_SCIVEO_MEDIA_SERVER__
129
135
  __START_SCIVEO_MEDIA_SERVER__()
@@ -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 next_frame(self):
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 CamDisplayDaemon(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 display(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)
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = '0.1.85'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sciveo
3
- Version: 0.1.84
3
+ Version: 0.1.85
4
4
  Description-Content-Type: text/markdown
5
5
  Provides-Extra: mon
6
6
  Provides-Extra: net
@@ -1,2 +0,0 @@
1
-
2
- __version__ = '0.1.84'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes