Skip to content

Instantly share code, notes, and snippets.

@fosslc
Created November 30, 2012 23:21
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fosslc/4179411 to your computer and use it in GitHub Desktop.
Save fosslc/4179411 to your computer and use it in GitHub Desktop.
Freeseer project

Overview

The Freeseer project is a powerful software suite for capturing video. It enables you to capture great presentations, demos, training material, and other videos. It handles desktop screen-casting with ease. It is one of a few such tools that can also record vga output. It is particularly good at handling large conferences with hundreds of talks. Freeseer can run on a laptop with commodity hardware such as a web cam, camcorder, or vga capture device. The resulting system fits easily into a laptop and can be assembled in under 10 minutes to record any number of presentations/demos/talks.

Freeseer is implemented in Python, uses Qt for its GUI, and quite approachable and easy to learn the code base given it's clear structure and reasonable size (17K lines of code). One can make a significant contribution to Freeseer, perhaps more than many other open source projects.

Freeseer is the best software available for recording large conferences. We have put a lot of thought and automation into work flow to make Freeseer easy to use and handling of meta data for recordings. As a result, Freeseer is used to record a number of significant conferences for great open source communities each year including EclipseCon, FOSS4G, PGCon, BSDCan, and more.

Quality Mentors

Freeseer is fortunate to have experienced mentors with a long track record developing software in industry AND intern programs. These include coaching many dozens of students in programs such as Google Summer of Code, UCOSP, Fedora Summer Coding, Talent First Network, and more. This is not including company based programs. A good mentor can make a huge difference in your work and accelerate your career. Some of our mentors are not only mentors but former interns so they know what it takes to be successful.

Here are a few testimonials from people coached by Andrew Ross, one of our mentors:

“Andrew was my mentor for my Undergraduate Capstone Open Source Project for both 2009 and 2010. He has been very clear at the project requirements and also communicates extremely well when things are not on the same page among the students in the team. He is also very effective in solving roadblocks that may require the collaboration of his team which the students has encountered on their way. He also shows his great enthusiasm and patience in helping out with university students getting hands on with real life experiences and is happy to do so. It was an incredible experience working at Ingres with Andrew and his team.” - Eva Wong, UCOSP 2009 & 2010

“I worked with Andrew as an Intern for the UCOSP program (Undergraduate Capstone Open Source Project) for a semester. Andrew is the kind of person that every young ambitious programmer should have as a mentor. His expertise in his work is very inspiring, and his ability to lead and get things done is exceptional! He is very patient as a mentor, and throughout my time at Ingres, he was always able to help me out with any problems I encountered, which is something I was always impressed by considering the amount of work he constantly had to do. I learned a lot from Andrew during my term at Ingres, and I would jump at any opportunity to work with him in the future.” - Shawn Jansepar, UCOSP 2011

Getting started

Visit our new project page https://github.com/Freeseer/freeseer/wiki/NewProject to find useful material and training videos to help you get started.

Requirements

Freeseer works on Windows, Linux, and MacOS. Unfortunately GStreamer, a critical library for Freeseer is not fully supported on MacOS. We recommend developing on Linux if you can as the software management tools (yum, apt, zypper, etc.) provide a very pleasant experience to set up your work area for development.

Objective

The following sections are project ideas and areas of interest to the community. We welcome other project ideas as well in case you can think of some really cool feature that might be of benefit to Freeseer users.

Web Interface

Freeseer has focussed on making a really good local recording client.

Freeseer remains extremely valuable as an off-line (no Internet) recording client. Few solutions provide this and open source ones are rare.

icecast is an open source streaming video server. Freeseer supports it out of the box. Freeseer can work in concert with proprietary solutions from UStream, Google, and others.

These useful features would benefit our Icecast based streaming or using a proprietary streaming server:

  • Enable a single URL one can share ahead of time for webcasts.
  • Enable branding of the web page used to host the stream.
  • Persisted on-line chat with scrollback history.
  • Real time voting module. Both anonymous and audited voting.
  • Real time social media integration. Tweets about the meeting flow in, key milestones such as meeting start, +1's, end, etc. are tweeted.
  • Integrate etherpad shared notepad.
  • Integration with Drupal (& LDAP)
  • SIP & IAX2 support to allow VoIP & POTs using Asterisk

Complete the Google Hangout/YouTube streaming

This is a project being worked on Fall 2012. It may require work to finish it and make it more robust.

UStream live streaming

This project was scoped but is still available to be worked on.

Windows plugin parity with Linux

This project is to elevate plugin quality on the Windows side of Freeseer to be on par with our Linux plugin support. Mainly be able to record from a USB Device (Webcam, vga2usb) and record the desktop. Also to ensure the quality of the plugins are good, the existing windows desktop plugin was developed quickly as a proof of concept so additional work is likely possible.

Migrate to QtXml

Freeseer/freeseer#175 - rewrite rss import tool using QtXml This will allow us to drop feedparser as a dependency to freeseer making packaging a bit easier.

Componentize the constructs of the GUI

Lance's idea issue Freeseer/freeseer#236 - Create a FreeseerApp class which could be imported by various frontends to get the basic interface features for free. Mainly translations, menus, etc... (today we rewrite a lot of this in each new frontend... we shouldn't)

Contacts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment