EventStreamr Station Manager
JavaScript Perl Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
examples
lib/App
share/status
t
.gitignore
.travis.yml
Changes
README-station.md
README.md
commands.json
dist.ini
package.deps
perlcritic.rc

README.md

eventstreamr Build Status Coverage Status

Single and multi room audio visual stream management.

Installation

Your best bet is to install using cpanm + local::lib. This will install everything under your user directory and will avoid polluting your system perl libraries. It's also how PLUG + LCA use it.

Grab cpanm + local::lib

$ sudo apt-get install cpanminus liblocal-lib-perl

Configure local::lib if you haven't already done so:

$ perl -Mlocal::lib >> ~/.bashrc
$ eval $(perl -Mlocal::lib)

Install from CPAN

cpanm App::EventStreamr

Configuration

You can run through the host configuration wizard with '--configure'.

$ eventstreamr --configure
Welcome to the EventStreamr config utility

It will clear the current config, is this ok? y/n [n]: y
Room - For record path and controller [test_room]: 
backend - DVswitch|GSTswitch [DVswitch]: 
Mixer - Video mixer interface y/n [y]: y
host - switching host [127.0.0.1]: 
port - switching port [1234]: 
$room + $date can be used as variables in the path and
will correctly be set and created at run time
recordpath -  [/tmp/$room/$date]: 
Ingest - audio/video ingest y/n [y]: 
Enable 'Oculus VR Inc. Camera DK2' for ingest [y]: n
Enable 'Chicony Electronics Co.  Ltd. ASUS USB2.0 Webcam' for ingest [y]: 
Enable 'C-Media Electronics, Inc. ' for ingest [y]: 

Config written successfully

Command Line

You can list out the devices available using '--devices'

$ eventstreamr --devices
ID (Type) - Name
video0 (V4L) - Oculus VR Inc. Camera DK2
video1 (V4L) - Chicony Electronics Co.  Ltd. ASUS USB2.0 Webcam
0d8c:0008 (ALSA) - C-Media Electronics, Inc. 

Concepts

A station can have one or more roles. Only one controller can manage stations.

Roles

  • controller - Web based frontend for managing stations
  • ingest - alsa/dv/v4l capture for sending to mixer
  • mixer - DVswitch/streaming live mixed video. With the intention for this to be easily replaced by gstswitch
  • stream - stream mixed video
  • record - stream mixed video
  • sync - rsync files to a central server (requires keyless ssh to be configured)

Directories

  • baseimage - docs, notes, and tools for the base (OS) image
  • station - station management scripts
  • controller - controller stack

Station Script Requirements

See package.deps for list of packages required

Known Issues

A list of known issues that cause minor problems, but have workarounds.

Daemon dies when alsa device isn't present on start

  • Ensure all configured ALSA devices are plugged in on boot

Correctly Restart on Date Change

  • Reboot or Restart the EventStreamr Daemon (pressing update from the controller will restart it)