A tool for ingesting video into VDO.Ninja
After trying out different methods for ingesting video into WebRTC, i came to the conclusion that Browser engines are the most updated in functionality and speed, so i decided to create a tool that would allow me to ingest video into WebRTC using the Electron Browser engine.
- Ingests video from a live source
- REST API for getting links to the videostreams
- Auto Start: Start the player automatically when the page loads, when restarting the app will autostart and not show the settings menu, go to the menubar and select "disable auto start" if you need to change the settings.
- Ingest Web Page: The URL of the WebRTC server
- Guest Web Page: Optional, if there's different link for ingest/director and guests/viewers
- Director Web Page: Optional, if there's different link for ingest/director and guests/viewers.
- Room and Password: If you wish static room and password, you can set it here. Otherwise, it will be generated randomly.
- Video Source: 1 is the default camera, if you wish another source, you can write a part of the devicename here. For example, if you have a Logitech C920, you can write "Logitech" here.
- Audio Source: Same as video source, but for audio.
- Max Frame Rate: The maximum framerate to use for the video. If you have a beandwith issues you can for clients not to use higher framerates
- Refresh Hash Interval: How often you wish to restart the client. (Used for regenerating random hash-codes, e.g. you only wish that links works for 7 days)
GET http://127.0.0.1:3900/linkurl returns: { viewer: (linkto viewer) guest: (linkto guest) director: (linkto director) }
POST http://localhost:3900/engine?action=restart
POST http://localhost:3900/engine?action=quit
There's a build in webserver that serves a webpage with links to the videostreams. You can access it by going to http://localhost:3900
export EDITOR=nano
sudo crontab -e
Add this line:
0 4 * * * /bin/bash /path/to/file/forcequit.sh >/tmp/stdout.log 2>/tmp/stderr.log
(There's an example /docs/example scripts/forcequit.sh file in the repo)
To prevent apps from reopening after reboot, run this command:
defaults write -g ApplePersistence -bool no
Use the example in /docs/example scripts/delay-start.ninja.scpt