GithubHelp home page GithubHelp logo

virtuos / opencast-ca-display Goto Github PK

View Code? Open in Web Editor NEW
1.0 7.0 0.0 306 KB

Information display for Opencast Capture Agents

License: GNU General Public License v3.0

HTML 4.23% JavaScript 20.86% CSS 6.77% Go 68.13%
capture-agent opencast

opencast-ca-display's Introduction

Opencast Capture Agent Display

Software backend for displays showing the current state of Opencast capture agents.

Build & Run

Make sure to install Go. This should be something like:

❯ dnf install golang

Then run the project with:

❯ go run main.go

…or build a static binary:

❯ go build

Example

The display control in action:

opencast-ca-display-prototype.mp4
  • The display and laptop do not know about each other
  • The laptop is running an Opencast capture agent
  • When the laptop starts capturing video, the display shows an active recording

Opencast User

To improve security, you can limit the access rights for the Opencast user by creating a user which has only read access to the capture agent status API and nothing else.

To do this, first create a new security rule in your Opencast's etc/security/mh_default_org.xml allowing read access for a new role ROLE_CAPTURE_AGENT_CALENDAR:

<!-- Enable capture agent updates and ingest -->
<sec:intercept-url pattern="/capture-admin/agents/**" method="GET" access="ROLE_ADMIN, ROLE_CAPTURE_AGENT, ROLE_CAPTURE_AGENT_CALENDAR" />
<sec:intercept-url pattern="/capture-admin/**" access="ROLE_ADMIN, ROLE_CAPTURE_AGENT" />

Next, go to the Opencast REST Docs → /user-utils and fill out the form for POST / with data like this:

  • username: ca-display
  • password: secret-password
  • roles: ["ROLE_CAPTURE_AGENT_CALENDAR"]

You should now be able to use this new user.

opencast-ca-display's People

Contributors

lkiesow avatar manschwa avatar

Stargazers

 avatar

Watchers

 avatar Tobias Thelen avatar  avatar Rüdiger Rolf avatar Florian Feyen avatar  avatar  avatar

opencast-ca-display's Issues

Additional displayed field

The additional field should display

  • the start of the next recording IF there is no current recording OR
  • the remaining duration of the active recording IF there is one

The field should be placed somewhere near the bottom of the display. The font does not have to be extremely large, instead it should be readable from a close.

Show how the display works

Here is a video showing the display control in action:

opencast-ca-display-prototype.mp4
  • The display and laptop do not know about each other
  • The laptop is running an Opencast capture agent
  • When the laptop starts capturing video, the display shows an active recording

Improve logging

  • Introduce proper logging with proper log levels
  • Make log level configurable
  • Ensure errors are being logged

Pinch zoom should not work

Since the display we use is a touch display, you can pinch-zoom on the display. This is not something we want. Can we disable that?

If that doesn't work, we should at least make sure that we get back to a good state eventually and use something like a refresh meta HTML tag to reload the UI every hour or so.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.