Galicaster is based on Open Source technologies.
The recommended OS for this release is Ubuntu 10.10
The installation process consists of five steps: installing dependencies, checking configuration, downloading software, configuring and running.
1.- Install dependencies.
Galicaster requires the following software to be installed:
- Gstreamer
- python-setuptools and pip
- iCalendar
- pyCurl
- Capture card configuration tools
$ sudo apt-get install \ gstreamer0.10-ffmpeg gstreamer0.10-alsa gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse \ gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good \ gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse $ sudo apt-get install python-pip python-setuptools $ sudo pip install icalendar $ sudo apt-get install python-pycurl $ sudo apt-get install v4l-conf ivtv-utils guvcview
In ubuntu 11.04 and above, installing v4l-utils is recommended instead of ivtv-utils.
2.- Check configuration.
Launch the following commands from a shell to verify that all dependencies are installed:
$ python --version Python 2.6.6 $ python -c "import pygtk; pygtk.require('2.0')" $ python -c "import pygst; pygst.require('0.10')" $ python -c "import pycurl" $ python -c "import icalendar" $ gst-launch-0.10 videotestsrc num-buffers=25 ! video/x-raw-yuv,width=800,height=600,framerate=24/1 ! ffmpegcolorspace ! xvimagesink $ gst-launch-0.10 videotestsrc num-buffers=25 ! video/x-raw-yuv,width=800,height=600,framerate=24/1 ! ffmpegcolorspace ! x264enc pass=5 quantizer=22 speed-preset=4 profile=1 ! queue ! avimux ! filesink location=out.avi $ file out.avi out.avi: RIFF (little-endian) data, AVI, 800 x 600, ~24 fps, video: H.264 X.264 or H.264 $ rm out.avi
3.- Download software
Download the software from this site.
Uncompress it using tar:
$ tar xzf galicaster-1.0.0-rc.tgz $ cd galicaster-1.0.0-rc
4.- Configure Galicaster
Galicaster configuration is in the file conf.ini.
The simplest way to get started with Galicaster is dowloading any of the pre-existing conf.ini files for any of the reference configurations proposed:
This is the structure of the conf.ini file:
- Section basic
- repository: absolute path to the working folder. If not specified, a Repository directory in the user's home will be used.
- admin: enables admin mode (True|False)
- Example:
[basic] repository = /mnt/videos/Repository admin = True
- Section screen
- right: Name of the video device in the track list to be shown in the right screen (None to deactivate).
- left: Name of the video device in the track list to be shown in the left screen (None to deactivate).
- cursor: Shows or hides the pointe. Useful if using a tactile screen (True|False)
- Example:
[screen] right = Epiphan left = Hauppagge cursor = True
- Section ingest
- The data to connect Galicaster to an Opencast-Matterhorn server.
- Example:
[ingest] active = True default = True username = matterhorn_system_account host = http://admin.matterhorn.es:8080 password = CHANGE_ME workflow = full
- Section trackN
- A section for each device used in the capturer. Each section is set according to the device type: hauppauge, pulse, v4l2 or vga2usb:
- hauppauge: Audio and Video device.
- Admitted values:
- name: Name assigned to the device.
- device: Device type: hauppage
- flavor: Matterhorn "flavor" associated to the track. (presenter|presentation|other)
- location: Device's mount point of the MPEG output
- loc2: Device's mount point of the RAW output
- loc3: Device's mount point of the PCM output
- file: The file name where the track will be recorded.
- active: Whether the device will be played and recorded. (True|False)
- Example:
[track1] name = Hauppagge loc2 = /dev/hauprevideo loc3 = /dev/haupreaudio location = /dev/haucamera file = CAMERA.mpg device = hauppage flavor = presenter active = False
- Admitted values:
- pulse: Audio device.
- Admitted values:
- name: Name assigned to the device.
- device: Device type: pulse
- flavor: Matterhorn "flavor" associated to the track. (presenter|presentation|other)
- location: PulseAudio source name. Use default to select the same Input as the Sound Control
- to list PulseAudio devices run:
$ pactl list | grep "Source" -A 5
and use "Name:" as the location field.
- to list PulseAudio devices run:
- file: The file name where the track will be recorded.
- active: Whether the device will be played and recorded. (True|False)
- vumeter: Activates data sending to the program's vumeter. (True|False) Only one device should be activated.
- amplification: Gstreamer amplification value: < 1 decreases and > 1 increases volume. Values between 1 and 2 are commonly used.
- Example:
[track3] name = AudioSource vumeter = Active location = default file = sound.mp3 device = pulse flavor = presenter active = False amplification = 2.0
- Admitted values:
- v4l2: Video device
- Admitted values:
- name: Name assigned to the device.
- device: Device type: v4l2
- flavor: Matterhorn "flavor" associated to the track. (presenter|presentation|other)
- location: Device's mount point in the system (e.g. /dev/video0).
- file: The file name where the track will be recorded.
- active: Whether the device will be played and recorded. (True|False)
- caps: GStreamer cappabilities of the device (mimetype=video/TYPE, framerate=X/Y,width=A,height=B)
TYPE: (jpeg|x-raw-int)
Use GVUCView tool to know wich capabilities are compatible with your device
For more information http://pygstdocs.berlios.de/pygst-tutorial/capabilities.html - Videocrop: Margin in pixels to be cutted. Useful to set a 4:3 proportion on a HD webcam.videocrop-top, videocrop-bottom, videocrop-left, videocrop-right (optional).
- Example:
[track4] name = Webcam location = /dev/webcam file = WEBCAM.avi device = v4l2 flavor = presenter active = False caps = image/jpeg,framerate=25/1,width=1280,height=720 videocrop-left = 160 videocrop-right = 160
- Admitted values:
- vga2usb: Video device
- Admitted values:
- name: Name assigned to the device.
- device: Device type: vga2usb
- flavor: Matterhorn "flavor" associated to the track. (presenter|presentation|other)
- location: Device's mount point in the system (e.g. /dev/video0).
- file: The file name where the track will be recorded.
- active: Whether the device will be played and recorded. (True|False)
- drivertype: Wheter the device use a v4l or a v4l2 interface to guarantee compatibility (v4l|v4l2)
- Example:
[track2] name = Epiphan active = True location = /dev/screen file = SCREEN.avi device = vga2usb flavor = presentation
- Admitted values:
- hauppauge: Audio and Video device.
- A section for each device used in the capturer. Each section is set according to the device type: hauppauge, pulse, v4l2 or vga2usb:
5.- Running
Galicaster Class is launched with the command:
$ ./classexec
In the F.A.Q. section you can see some common questions about Galicaster.