socallinuxexpo / scaleav-monitor Goto Github PK
View Code? Open in Web Editor NEWA rewrite of the scale-av monitoring solution.
A rewrite of the scale-av monitoring solution.
Add a checkmark on the right click menu to indicate which audio channel is currently selected.
Reopen the Windows when they are closed.
Audio doesn't reconnect on reconnect without a focus loss.
Currently, loggings are file specific.
Need: unified logging to central location
The code cannot handle more than 8~ streams simultaneously (they die). This seems to be a bug, as the program can be run 3x without error (18 windows, streams).
Perhaps Tcp or network disconnects (loading connections too fast)
Currently when a stream dies the video stops moving and there is no indication of a problem. We need to monitor the error out logs, identify failed streams and indicate with a red X over the display window. When a stream starts respond restart the window to pick up the stream and remove the X.
Add in hardware acceleration to make the script more efficient and not break the computer.
Add a button to record the given room/stream to a file. Each year we need to record one room or two to hand off the file to a customer/sponsor. It would be nice to have a local record function to quickly handle this without stress.
Example:
% cat config/rooms
on http://room-101.scaleav.us:8080/mixed
disabled http://room-102.scaleav.us:8080/mixed # Not monitored this year
off http://room-103.scaleav.us:8080/mixed
on http://room-104.scaleav.us:8080/mixed
off http://room-106.scaleav.us:8080/mixed
on http://room-107.scaleav.us:8080/mixed
Audio should allow right-clock to change streams.
Outside of click call back
Display needs to update while restaring
Tile the windows in particular order.
Make this program easy to run and kill.
In cases of a test source, or on Mac OS X, the stream can hit the window before the window arrives.
Thus triggering an exception:
Traceback (most recent call last):
File "/home/starchmd/code/scaleav-monitor/av/video.py", line 36, in on_sync
raise Exception("Error: Stream play before window creation")
This can be fixed by not building the stream until the window has been constructed.
Put the SCaLE 16x logo at the top above all the room panels
This is a test on how to make a GitHub issue.
The unified UI needs scalability testing, and functionality testing.
Streams saturate the network. Should guarantee that we have Ethernet
For Mac OSX, we should use Auto Video Sink, not XVimageSink as the latter is unavilable on Mac OS X.
Create an overlay panel where controls can be placed. This should preferably be transparent and overlay the video. This will be the jump point for adding controls to the monitoring software.
Configurable list of streams.
The configuration file used by this system is undocumented. This should be fixed, so future maintainers have less trouble.
Currently the audio is not setup to come out of decodebin. This should be fixed.
Automatically feed YouTube Stream status into the monitor window.
Integrate with Y2 scheduler to handle rooms availability.
We need a new logo for scale 17x to be placed on the top of the global control window to show new branding.
There are several camera controls that need to be added to the ScaleAV monitoring software. These are pan up/down, tilt left/right and zoom in/out. The UI for this needs to be designed and added to the panel described in #31.
Mac OSX uses Quartz Window no XWindow. Currently the draw window handle is using xid...but this should be switched to use the Quartz Window handler, or xid depending on which is available.
There will be a new OBS source this year instead of the old VLC output. We need to confirm no monitoring issues there.
When retrying dead streams, consider adding jitter.
Write a test procedure for contributors.
Create an API and library in python 3.0 that is capable of controlling PTZ cameras over an HTTP connection. This API can then be tied into the #32 UI.
Note: make sure this is safe, and not subject to lost-command/packet failure.
Docker is being considered as one of the Scale-AV global deployment strategies. Thus it would be convenient to use Docker to deploy the monitoring application.
Working Features:
Build from Dockerfile
X11 support
Video
Known Bugs:
DBus support
Audio
Recommendation: A simple dependency install script may be advisable to a full Docker build for this application.
Test issue. Checking assignment and access.
Add a debug mode that pulls from the videotestsrc and sends that to the screen. The current pipeline is:
gst-launch-1.0 souphttpsrc ! decodebin ! xvimagesink
This should be altered for debug mode to:
gst-launch-1.0 videotestsrc ! decodebin ! xvimagesink
Refactor Display Code
Keyboard Shortcuts (proposed):
Create an automated program to track speakers, thus saving work for the monitoring volunteers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.