Participatory media commissioning platform delivering realtime and offline film shoot management for teams on mobile devices.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
api
assets
cast
config
doc_defines
doc_template
emails
fallback
ffmpeg
server_config
sync_audio
tasks
upload
views
.dockerignore
.gitignore
Dockerfile
Gruntfile.js
LICENSE
README.md
apidoc.json
app.js
docker-compose-dev.yml
docker-compose-prod.yml
docker-compose.yml
jsconfig.json
package.json

README.md

This is the Live version running on the research deployment serve at https://bootlegger.tv. A new build taking into account all feedback from projects over the last 4 years is targeted at Q4 2017.

This is a research-initiated platform in constant development by Newcastle University. As such, we aim to provide a working build at this location, however all features may not be fully documented.

Bootlegger Server

Bootlegger is a system to orchestrate multiple users capturing footage for a film shoot either. Multiple direction and commissioning engines are available including real-time shot allocation and individual user feedback on shot quality and their performance.

Each user's native mobile application connects to a Bootlegger server, which coordinates their actions according to a pre-defined shoot templates.

Development

Use the docker-compose files provided to start a local development environment. This includes a basic redis, mongodb and bootlegger installation.

Make sure to copy the config\local.example file to config\local.js and fill in any missing details before building the docker container.

To get a basic setup for debugging, you only need to fill in either a Google or Facebook oauth client secret, and an admin email address (which is the email of the account you want to login as super-admin).

Once started with docker-compose up, the server will be accesible at http://localhost:1337.

Production Deployment

Runtime Dependencies:

Setting Up Development

  • Copy config/local.example.js to config/local.js and fill in missing information, including your Mongo and Redis, Google and S3 connection details.

Production Deployment

We advise using pm2 or similar keep your server running.

To start in production mode (which minifiys and concats all resources), use the --prod switch when starting pm2 e.g. pm2 start app.js -- --prod

In production mode, you will need to run a reverse proxy in front of the Bootlegger server to serve static assets. An example nginx config file is provided in the repo for this purpose.

Starting the Server

Running bootlegger on your local machine: node app.js

Running a 'live' server: node app.js --prod

Pointing your browser at http://localhost will give you the website.

When using sails, you will have to close and restart the server after any changes to controller files CTL+C. Edits to view files should not require a restart.

Development Notes

Bootlegger is built on the SailsJS (http://sailsjs.org/) MVC engine, which is based on expressjs.

View files are located in views\<controller>\<view>.ejs

Controller logic is located in api\controllers\<controller>.js


Bootlegger is an open source suite of tools developed by Open Lab that enables community commissioning and contribution of video. See the website for more information.

Copyright Newcastle University 2016