Release Candidate Source Code
The following list includes all the release candidates published so far for the 1.3.0 version:
New features and improvements
The following list includes the most important improvements on this new release. During the release candidate testing process we will be updating the documentation, both in the code (at docs/) and in this wiki regarding these changes. Anyway, you can use the usual channels for any questions or suggestions - email, github or the community list.
- New RTP device module - to support RTP network devices such as Axis cameras. (mpeg4 and h264)
- New Custom device module - to test new sources within Galicaster using GStreamer syntax. (advanced users)
- External scripts in profiles for device configuracion.
- Configurable encoder and muxer.
- Close session and shutwdown option on the UI.
- Save crashed recordings on restart.
- Ruled VU meter.
- Configurable side-by-side layout.
- New pop-up decoration.
- Configurable UI resolution.
- Configurable logger. (location, syslog, rotation...)
- Improved metadata treatment.
- Updated REST endpoint.
New or improved Plugins
- New Check_Repository_plugin: To start missed scheduled recordings on startup.
- Screen_Saver_Plugin: improved screensaver control for Ubuntu 12.04.
- No_audio_dialog_plugin: general improvement, more comfigurable.
New documentation – under construction
New documentation has been included in the code (docs folder) as well as in this wiki. This documentation is both partial and provisional but is already useful. Following the release process we will be updating it.
- V4l2 device module
- Pulse device module
- Epiphan device module
- Datapath device module
- Hauppauge device module
- Blackmagic device module
- Firewire device module
- RTP device module
- [Galicaster:Custom device module]
[Capture card table]
New Features description
External scripts in profiles
From 1.3 every profile can set up a configuration script. The script will be executed before the profile is loaded.
Usually a script will configure a certain device but it could include any other task.
To specify the script to be executed, include its full path in the profile data section:
[data] name = profile execute = /home/user/scripts/script1.sh
Configure a Logitech c920 to a power line frequency of 50Hz
# file: /home/user/scripts/script1.sh v4l2-ctl -d /dev/webcam -c power_line_frequency=1
Configurable Encoder and Muxer
Most of the device plugins of Galicaster are now able to configure the encoder and muxer which will process the data.
- Hauppauge cannot define the encoder nor the muxer.
- RTP only allows to define the muxer
Parameters and examples:
- x264enc quantizer=22 speed-preset=2 profile=1
- xvidenc bitrate=50000000
- ffenc_mpeg2video quantizer=4 gop-size=1 bitrate=10000000
- lamemp3enc target=1 bitrate=192 cbr=true
To know more of the paramaters of each muxer and encoder consult the Gstreamer documentation.
Consult us for instructions to configure your custom encoder and muxer.
Configure a Logitech c920 to encode a 720p, H264+MP4 video:
[track1] name = Webcam encoder = x264enc bitrate=1000 pass=5 quantizer=23 location = /dev/video0 file = CAMERA.mp4 device = v4l2 muxer = mp4mux faststart=true caps = image/jpeg, framerate = 24/1, width=1280, height=720 flavor = presenter
RTP device module
A new device plugin has been developed in order to provide compatibility with network cameras and other RTP-based devices. This plugin records video or video+audio encoded on MPEG4 or H264, with audio in ACC or MP3.
This plugin has been extensively tested over several Axis network cameras, with and without audio. Other devices has been tested but in a lesser degree - Epiphan Broadcasters, for instance-. If you test this plugin on other cameras, please report your results back to the community list.
Consult the [plugin configuration] and contact us for troubleshooting.
Custom device module
This feature is meant for advanced users. You can define a custom bin to test new sources within Galicaster.
[track1] name = custom location = default file = CAMERA.avi device = custom flavor = presenter active = True pipestr = videotestsrc name=gc-custom-src is-live=true ! video/x-raw-yuv,framerate=10/1,width=640,height=480 ! tee name=tee-vt ! queue ! ffmpegcolorspace ! xvimagesink sync=false async=false qos=false name=gc-custom-preview tee-\ vt. ! queue ! valve drop=false name=gc-custom-valve ! queue ! ffmpegcolorspace ! queue ! filesink name=gc-custom-sink async=false
The log files location, the minimum log level shown and whether the logs rotate or not can be easily set up in this version:
[logger] path = /var/log/galicaster/galicaster.log level = DEBUG rotate = True
Galicaster can also use the system log (syslog) instead:
[logger] use_syslog = True
The REST endpoint plugin for Galicaster is a module to provide an experimental REST interface to access some parameters and features of Galicaster.
If activated, the REST plugin will response at the localhost address through the 8080 port.
Current endpoints include:
|/state||Show some state values|
|/repository||List MP keys|
|/repository/<id>||Get MP manifest (XML)|
|/metadata/<id>||Get MP metadata (JSON)|
|/start||Start a manual recording|
|/stop||Stop current recording|
|/operation/sidebyside/>id>||Export MP to side-by-side|
|/operation/exporttozip/<id>||Export MP to zip|
|/screen||Get a screnshot of the current desktop|
Activating this plugin is as simple as:
[plugins] rest = True
Galicaster 1.3 Metadata Treatment
Before Galicaster 1.3, only some metadata was collected, specially with Series metadata, where only name and identifier were preserved.
After studying and discussing the current situation with metadata regarding Matterhorn and Galicaster, we have made the following modifications in the behavior on Galicaster's side:
- All metadata is captured, both in episode and series.
- If custom parameters are included in the Matterhorn schedule they are preserved through Galicaster.
- The only parameters that can be modified are: title, presenter, language, description and series.
- A change in series makes all series parameters change at once.
- Empty parameters are not included in the files.
Unfortunately Matterhorn overwrittes the metadata of a returning mediapackage, so modifications have to be made in order to preserve any changes made on the capturer. However, if a mediapackage is ingested a second time, all the metadata - but the identifier - will be preserved.