encours logo Encours
project
Links:

Downloading and Installing Encours.org

Note: This is only useful for conference organisers

Regular participants only need to open your presentation URL in their web browser (see the demo), and possibly install a Java plugin if you choose to use the integrated audio system.

Install the latest release

  • Download the latest release of Encours.org.
  • Assuming you have a working Java installation, the software is standalone. Decompress the archive where you wish to install Encours.org, it contains what is needed to run your presentations (including a web server). Type ./start-encours.sh in the dist directory to start the application.
  • Detailed instructions are included in the README.txt if you wish to build an optimised version of the Speex codec for your system (make jni shall work) and if you wish to connect to Encours by phone (see below).

Setup your presentations

  • Create a directory with your presentation name, for example "demo", as webroot/presentations/demo.
  • Copy your presentation as a file named slides.pdf in that directory.
  • Go in that directory and run ../../../tools/convert_slides.pl
  • Your presentation is now accessible as http://localhost:8901/encours/index.html?presentation=demo
  • The corresponding lecturer link is http://localhost:8901/encours/index.html?presentation=demo&lecturer=123

Please use separate browsers for connecting simultaneously as listener and lecturer, or deactivate cookies if you are using the same browser.

Useful parameters

  • To change the presentation password, copy the file presconfig/README.txt as presconfig/demo and edit it.
  • To change the web server port, edit the file etc/jetty.xml and change 8901 by the desired value. For information, if you choose port 80 you won't need to write it in the URL (i.e. http://localhost/encours) but you will then need to run ./start-encours.sh as the root administrator (ex: use sudo ./start-encours.sh).

Making a video replay

  • One of the lecturers must start the recording (click on the corresponding button) during the presentation. The audio from the integrated system, together with all lecturer actions, are then stored in the directory records/demo/.
  • After the presentation, run java -cp webapps/encours/WEB-INF/classes org.encours.tools.VideoMaker with the requested arguments: record_file audio_file slidesdir. For example: java -cp webapps/encours/WEB-INF/classes org.encours.tools.VideoMaker records/demo/2009-07-07-00-03-08-464.rec records/demo/2009-07-07-00-03-08-464.ogg webroot/presentations/demo. Note: you need to have the ffmpeg and the flvtool2 programs installed for this to work.
  • This will generate demo.ogv and demo.flv in the webroot/presentations/demo directory. Finally call tools/make_video_page.pl webroot/presentations/demo to generate a replay.html file in your directory (you need oggz-info for this to work).

Firewall considerations

  • Client side: People connecting to your server may do so from behind most firewalls on their side: if they can access the web even through a proxy they can see the slides moving. The audio uses plain UDP with a nice behavior for firewalls/nats. It might occasionally get blocked if people are in a paranoidly restrictive environment (work, campus...) but then they cannot do anything about it anyway: use a phone connection as a fallback if this ever happen.
  • Server side: You obviously need to allow incoming connections to the web server (port 8901 in the above example, or port 80). The UDP ports used by the integrated audio server are defined in the file webapps/encours/WEB-INF/web.xml (you can change them to what you like). Make sure your firewall allows them through.

Connecting by phone

  • Tip: there are many SIP providers that can give you a phone access, all you need is to install a SIP server like Asterisk on your machine. For example, adding your server to the SIP Broker network make it reachable by local phone numbers in 25 countries, for free. You can then locally bridge Asterisk and Encours together so your participants can connect to your conferences either by phone or using the integrated applet. This section tells you how to do that last step.
  • First, install Asterisk, preferentially version 1.6 or above, together with its development files. For example apt-get install asterisk asterisk-dev with a Debian distribution.
  • Type make asterisk where you uncompressed Encours.org. This will generate a file dist/lib/app_encours.so that you should copy in /usr/lib/asterisk/modules/. In Asterisk's cli interface type module load app_encours, or simply restart Asterisk.
  • Type in core show application Encours in Asterisk's CLI to see how to connect to Encours.org from the dial plan. The syntax is: Encours(local_addr,local_port,server,port,confnum), where the arguments are:
    • local_addr: The local interface (IP dot notation) to use for listening to UDP packets sent to us by the Encours.org server. Can be 0 to listen on all interfaces.
    • local_port: The local port to use for listening to UDP packets sent to us by the Encours.org server. Can be 0 to use a random port.
    • server: The Encours.org server to connect to (symbolic or IP dot notation).
    • port: The port on the Encours.org server to connect to.
    • confnum: The Encours.org conference to bridge this channel to. 0 is the default conference. This has nothing to do with MeetMe's conferencing scheme. See Encours.org 'presconfig' directory.
    • flags: 0: Use raw 8000Hz. 16000Hz is preferable if you can (Encours.org works at 16000Hz internally), as resampling to 8000Hz in Encours.org incurs both a small algorithmic delay and some inevitable noise. 1: Use Speex between Asterisk and Encours.org. Raw data is preferable for local connections for both lower CPU and no incurred algorithmic delay, but distant connections are supported and might need compressed data. 2: Use raw 16000 Hz (Asterisk 1.6+). This is the recommended setup if you can. 3: Invalid for now (perhaps Asterisk will handle speex 16000Hz one day)
  • Example: This will connect the caller to Encours's conference number 1, using 16000 Hz uncompressed audio data, on the local host.
        exten => 1,1,Answer
        exten => 1,n,Encours(0,0,127.0.0.1,1234,1,2)
        exten => 1,n,Hangup
    Tip: If you cannot or do not want to install Meetme, Encours.org can be used as the conferencing application: simply use the above example on incoming connections. Meetme is less CPU-intensive, but needs a timer source and specialised Linux kernel module.
    Tip2: The Encours application exits if you specified a local port that is already used. You may take advantage of that to ensure the unicity of the Encours connection with a Meetme application.

Installing development versions

In order to install the development version of Encours from the Git repository, first get the sources via git clone git://source.numerimoire.net/encours.git or by downloading the automatically generated archive encours-master.tar.gz. Then follow the instructions in the README.txt file.