Skip to content

WNRI/errantia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ERRANTIA - open video streaming
=================================

Errantia is a collection of scripts making up a HTML5 video player with slide
sync, subtitle texting and chat.

It uses the latest web technologies including ajax push (comet) and html5. It is
made for streaming seminars and conferences live, facilitating two-way
communication.


There are two parts to Errantia;

* django-errantia which is a web service with chat, html5 video tag and slides.
* Errantia production which is two python programs for a) streaming live video
  and b) do live subtitling of the video.


How to use Errantia production
------------------------------

You first need to satisfy the dependencies. Which should be fixed by this in
Ubuntu:

   sudo apt-get install python-gst0.10 python-eventlet python-pip
   sudo pip install pysrt

You should probably copy errantia-default.conf to errantia.conf and make your
neccesary changes there, to send the video stream to your icecast server. You
only need to copy what you want to change.

You can also, if you like, save this file in your home folder, as .errantia

Then you can run errantia_prod.sh, to livestream directly from your camera do:

   dvgrab | ./errantia_prod.sh

You can now go to http://localhost:7000 and write some text, it should appear in
the video.

Logging of subtitle text
~~~~~~~~~~~~~~~~~~~~~~~~

The default log file is "sub.log". This file is appended to if it already
exists. Often you'd want to convert this log to an SRT-file so you can show the
subtitles later alongside the video.

To do this, you may use "sublog_to_srt.py". First of all, you may need to clean
up your log file. You only want one start line, and you want to change it to
the time when your video start.

If you have cut up several videos, you have to cut up the log into several logs
that correspond to the video clips. Or you may edit the srt-file afterwards,
whatever you feel is easiest.

So, if your sub.log-file looks like this:


- start 2010-11-22 15:34:47.346544
2010-11-22 15:34:52.576234,Test
2010-11-22 15:34:55.024808,Yes, it works!
- start 2011-02-01 08:45:00.000000
2011-02-01 08:45:10.000000,The conference starts in 15 minutes!
2011-02-01 09:00:00.000000,Welcome to this conference!
2011-02-01 09:00:30.000000,First speaker is John Smith.


Let's say you started recording the video file you want to make a SRT-file for
exactly 09:00, so you want to first remove everything above that time point,
and you want to change the - start line so that it starts at the same time as
the video. Like this:


- start 2011-02-01 09:00:00.000000
2011-02-01 09:00:00.000000,Welcome to this conference!
2011-02-01 09:00:30.000000,First speaker is John Smith.


When you have a nice log, (e.g. myconference.sublog) you may run
sublog_to_srt.py on it, like this:

    ./sublog_to_srt.py myconference.sublog > myconf.srt


DVSwitch
--------
Errantia is often used in tandem with dvswitch.

You would run it like this;

   dvsink-command -h 0.0.0.0 -p 12345 -- ./errantia_prod.sh



django-errantia
---------------

This is if you want to set up django-errantia yourself, and not use a hosted
install like e.g. http://errantia.org/.

Go into the folder. Set your settings in settings.py.
Optionally make a virtualenv to store the requirements:

$ virtualenv env
$ . env/bin/activate

Then install the dependencies/requirements:

$ pip -r pip.requirements

Make your database:

$ ./manage.py syncdb

Then you should start hookbox in it's own terminal:

$ hookbox