* bugfix: wrong format when on 12h format * update: website link in placeholder --------- Co-authored-by: Fabian Posenau <fabian@fphome.de> Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com>
Download the latest releases here
Ontime
Ontime is an application for managing event rundowns and running stage timers.
A single, locally hosted central application distributes your event information over the local network. This enables the distribution of the data to a series of viewers and allows integration into video and control workflows, including OBS and d3.
Using Ontime
Once installed and running, Ontime starts a background server that is the heart of all processes. From the app, you can add / edit your running order and control the timer playback.
Any device with a browser in the same network can choose one of the supported views to render the available data.
This is done by reaching the ontime server at the default port 4001 eg: localhost:4001
or 192.168.1.3:4001
You can then use the Ontime logo in the top left corner to select the desired view.
The logo will be initially hidden until there is mouse interaction.
In the case of unattended machines or automation, it is possible to use different URL to recall individual views and extend view settings using the URL aliases feature
For the presentation views
-------------------------------------------------------------
IP.ADDRESS:4001 > Web server default to presenter timer view
IP.ADDRESS:4001/timer > Presenter / Stage timer view
IP.ADDRESS:4001/minimal > Simple timer view
IP.ADDRESS:4001/clock > Simple clock view
IP.ADDRESS:4001/sm > Stage Manager / Backstage view
IP.ADDRESS:4001/public > Public / Foyer view
IP.ADDRESS:4001/lower > Lower Thirds
IP.ADDRESS:4001/studio > Studio Clock
For management views
-------------------------------------------------------------
IP.ADDRESS:4001/editor > the control interface, same as the app
IP.ADDRESS:4001/cuesheet > realtime cuesheets for collaboration
More documentation is available in our docs
Feature List (in no specific order)
- Distribute data over network and render it in the browser
- Different screen types
- Stage Timer
- Backstage Info
- Public Info
- Studio Clock
- Make your own?
- Configurable Lower Thirds
- Cuesheets with user definable fields
- Send live messages to different screen types
- Differentiate between backstage and public data
- Workflow for managing delays
- Protocol integrations for Control and Feedback
- OSC (Open Sound Control)
- HTTP
- WebSockets
- Roll mode: run independently using the system clock
- Headless run: run server in a separate machine, configure from a browser locally
- Countdown to anything!: have a countdown to any scheduled event
- Multi-platform (available on Windows, MacOS and Linux)
- Companion integration
Unopinionated
We are not interested in forcing workflows and have made Ontime, so it is flexible to whichever way you would like to work.
- If you want just the info screens, there is no need to use the timer!
- Don't have or care for a schedule?
- a single event with no data is enough to use one of the APIs and use a dynamic timer
- use the order list to create a set of quick timers by setting the beginning and start times to 00:00 and 00:10 (BAM! 10 minute timer). You can quickly recall this with OSC or any of the other available integrations
Rich APIs for workflow integrations
The app is currently being developed for a broad user base, from broadcast to entertainment and conference halls.
Taking advantage of the integrations, we currently use Ontime with:
disguise: trigger Ontime from d3's timeline using the OSC API, and render views using d3's webmoduleOBS: render views using the Browser ModuleQLab: trigger Ontime using OSC APICompanion: Ontime has a companion module. Issue report and feature requests should be done in the repository getontime/ontime
Make your own viewer
Ontime broadcasts its data over WebSockets. This allows you to consume its data outside of the application.
Writing a new view for the browser can be done with basic knowledge of HTML + CSS + Javascript (or any other language that can run in the browser).
See this repository with a small template on
how to get you started and read the docs about
the Websocket API
Headless run️
You can self-host and run Ontime in a docker image. The run command will:
- expose the necessary ports (listed in the Dockerfile)
- mount a local file to persist your data (in the example:
$(pwd)/local-data) - the image name getontime/ontime
The docker image is in available Docker Hub at getontime/ontime
docker pull getontime/ontime
# Port 4001 - ontime server port
# Port 8888 - OSC input, bound to localhost IP Address
docker run -p 4001:4001 -p 127.0.0.1:8888:8888/udp --mount type=bind,source="$(pwd)/ontime-db",target=/server/preloaded-db getontime/ontime
or if running from the docker compose
docker-compose up
Roadmap
Continued development
Several features are planned in the roadmap, and we continuously adjust this to match how users interact with the app.
Have an idea? Reach out via email or open an issue
Issues
We use Github's issue tracking for bug reporting and feature requests.
Found a bug? Open an issue.
Unsigned App
When installing the app you would see warning screens from the Operating System like:
Microsoft Defender SmartScreen prevented an unrecognised app from starting. Running this app might put your PC at risk.
or
Ontime can't be opened because it is from an unidentified developer
or in Linux
Could Not Display "ontime-linux.AppImage
You can circumvent this by allowing the execution of the app manually.
- In Windows: click more and select "Run Anyway"
- in macOS: after attempting to run the installer, navigate to System Preferences -> Security & Privacy and allow the execution of the app
- In Linux: right-click the AppImage file -> Properties -> Permissions -> select Allow Executing File as a Program
Long story short: Ontime app is unsigned.
Purchasing the certificates for both Mac and Windows
would mean a recurrent expense and is not a priority. This is unlikely to change in future. If you
have tips on how to improve this or would like to sponsor the code signing,
please open an issue
Safari
There are known issues with Safari versions lower than 13:
- Spacing and text styles might have small inconsistencies
- Table view does not work
There is no plan for any further work on this.
Contributing
Looking to contribute? All types of help are appreciated, from coding to testing and feature specification.
If you are a developer and would like to contribute with some code, please open an issue to discuss before opening a Pull Request.
Information about the project setup can be found in the development documentation
Help
Help is underway! ... and can be found here
License
This project is licensed under the terms of the GNU GPL v3





