Git Product home page Git Product logo

freeseer's Introduction

freeseer's People

Contributors

alexprl avatar amaurymedeiros avatar appilon avatar benbuckley avatar bohnje avatar boshra avatar bren-do avatar bsabuncu avatar cryspia avatar dideler avatar farazs avatar feiwang avatar felipevieira avatar forivall avatar fosslc avatar franciscocanas avatar jameskunjoolee avatar jonathanasdf avatar jshyeung avatar lanceblais avatar lmestor avatar mcchong avatar mhubbard avatar miakilborn avatar mitgoodman avatar mtomwing avatar qliu avatar rton avatar sunn-e avatar zxiiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freeseer's Issues

Add blank screen toggle

This request is to add a blank screen toggle. Assuming it is possible, it would record/stream a blank/black screen while enabled. This enables the presenter to temporarily stop sharing content or start/end with the screen blanked.

The control should be VERY obvious and be reflected in the status so people don't accidentally ruin their talks by blanking unintentionally.

It would not disable audio... we could add a separate control to mute/unmute audio.

preview screen seems to be frozen

While testing with a logitech orbit af, the preview screen showed a picture but no motion. The actual recording was ok (albeit a bit choppy - which may be a codec issue).

Split frontend code into logic and gui components

The gui (freeseer-gui-qt.py) currently handles logic and visuals for the code. Splitting out the logic could allow one to easily swap in/out qt, gtk, etc... while retaining the functionality of the core code, eg configurations, talk titles, rss feeds, etc...

Save lastrun recording settings to config file

Spawned off from #9

When a user clicks the record button all the settings related to the record button should be saved to the freeseer config file under a section [lastrun]. This includes:

  • Video Source
  • Video Device
  • Audio Source
  • Talk title
  • Audio Feedback Checkbox state

This would allow for cases where the software for whatever reason during a recording event needs to be restarted. The user would be able to continue recording with their previous settings very quickly.

RFC: Translate freeseer user interface

This issue tracks translating the user interface to languages beyond english.

Ideally the code would load the values for the labels and tooltips from a config file on startup and from an associative array based on language during runtime.

Switch some controls to graphics

Item 1: record button

This request is to switch the record/stop button to a shiny bevelled red button. It'd be shiny and bright when not recording, and look pressed and duller when recording.

If there are no free icons currently available that fit this description, please let me know and I'll find a graphic artist to give us what we want.

Item 2: Audio feedback

Let's add a little pair of headphones by the checkbox. Possibly even replacing the text. We'll keep the tooltip though.

Package freeseer for Fedora.

We should get freeseer into the Fedora repositories so that freeseer is easy (well, even easier!) to install/deploy. This also means that all the code needs to be FOSS, etc.

about box

about box to display software version

Improve interface

The Freeseer GUI Interface maybe can be improved. Some weird behavior, such as the task list which can be populated with 'empty task' can be avoided and then make the interface more friendly. I think i can do this improvement, if possible.

Generalize video source methods in Core and GUI

Currently in the GUI one can select to record from the desktop, usb device, or firewire device. However the GUI code translates that to a mapping of ximagesrc, v4l2src, and dv1394src. If another backend were to be developed, these gstreamer specific options would not apply to the new backend.

The purpose of this code change would be to generalize these options such that from the Core and GUI's point of view these options should just be desktop, usb, and firewire. The gstreamer backend should receive these generalized options and determine what the proper source is. This code change would allow developers to create different backends more easily.

Unicode characters not handled fully

Created a talk called "áèÛÑ". Added and saved ok, but when recording, the following errors:

2010-04-13 16:08:43 freeseer: Set record name to 2010-04-13_-1608-_áèÛÑ.ogg
Traceback (most recent call last):
File "/usr/lib/python2.6/logging/handlers.py", line 777, in emit
self.socket.send(msg)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 61-64: ordinal not in range(128)
Traceback (most recent call last):
File "./freeseer", line 247, in capture
self.core.record(self.ui.talkList.currentText())
File "/home/aross/fosslc/freeseer/src/freeseer_core.py", line 149, in record
self.freeseer.record(record_location)
File "/home/aross/fosslc/freeseer/src/freeseer_gstreamer.py", line 270, in record
self.filesink.set_property(u'location', self.filename)
TypeError: could not convert argument to correct param type

RFC: Add video uploader

Many video hosting sites allow ftp upload. This issue is to track work to add a file upload interface. This interface will present a checkbox of files in the current directory set as the directory videos should save to. There will be boxes for URL/username/password (password box masking the password).

When the user hits the upload button, the selected files will be uploaded via. ftp to the URL provided.

Ideally we can limit the rate of upload to avoid triggering throttling with ISP's (such as Rogers for one example who so long as you stay below 50 kbps upload, leaves you alone)

add exit and close buttons

Rather than relying exclusively on window widgets, let's add an exit button to the main screen, and a close button to the talk-title edit screen.

Crash when closing freeseer

Simply starting Freeseer and closing it results in this output.

2010-04-25 10:41:40 freeseer: Exiting freeseer...
2010-04-25 10:41:40 freeseer: Recording stopped
7d36281d-9e43-5e0c-0ebf670b-7c7c626f is dumped

This was tested after Commit: 17ce4b9 on FC11 machine.

CPU usage too high

Recording from my logitech orbit AF overloads my workstation's CPU - a dual core 3.0 GHz chip.

Raise video quality

In my testing, as well as herlo's video, I felt the videos were pixelated, a bit tough to read smaller fonts, and not up to the level of quality we want. This ticket is to track raising the quality to match the FOSS4G/FSOSS videos.

add a logo

We need a logo to spice up the interface slightly. More on this soon.

RFC: Streaming support

We want to be able to stream live while recording. The local recording must take priority and not be lost in the event of network failure. The solution should be architecture in such a way that 1 speaker : N viewers streaming is supported. A small amount of latency such as 10 seconds of delay from speaker to reaching all viewers is acceptable.

add window titles

please make the title of the main window "freeseer - video studio in a backpack" and the edit talk-title screen "edit talk-title"

Also, perhaps we should provide an example in the talk-title screen so people can see a reasonable example.

Make a setup wizard

Make a wizard-like setup interface that walks people through setting up freeseer for an event, particularly for the first time.

talks.txt should have a full path or be easily found from any location

Each time I run freeseer from somewhere besides the src/ dir, I get the following error. It's fairly annoying for it to fail because it can't find the file in the current directory. Probably a good thing to make the src/ dir be relative to the python script.

Here's the error I get:

$ python src/freeseer-qt.py
pulsesrc is available.
alsasrc is available.
Traceback (most recent call last):
File "src/freeseer-qt.py", line 240, in
main = MainApp()
File "src/freeseer-qt.py", line 94, in init
self.load_talks()
File "src/freeseer-qt.py", line 184, in load_talks
talklist = self.core.get_talk_titles()
File "/data/projects/freeseer/src/freeseer_core.py", line 59, in get_talk_titles
f = open('talks.txt', 'r')
IOError: [Errno 2] No such file or directory: 'talks.txt'

RFC: MacOS support

This issue tracks work to support Freeseer on MacOS. Given the BSD foundation, it should be fairly straight forward but we'll need to try to confirm.

Preview should start before recording

The person recording doesn't know until we start recording if the video will work. I believe we should enable the preview window by default so they can recognize problems as soon as possible (should they occur) and debug.

I realize this is somewhat mitigated by the fact a trial run to record is essentially free so this is more of a usability concern.

count timer

timer to show the length of the talk so far

RFC: make install target

This ticket is to track work to implement a "make install" target.

This target will copy files from your work area to your local system.

This work is a precursor to an rpm package (#1), and deb package(#23).
They will be trivial once this ticket is resolved.

Use setup.py above the src directory for reference as it is already configured to properly copy the files to site-packages.

Modules and Files from Freeseer that need to be copied to python site-packages:

* freeseer
* freeseer.backend
* freeseer.framework
* freeseer.frontend
* src/LICENSE
* src/run-freeseer -> scripts/freeseer
* src/run-talkeditor -> scripts/freeseer-talkeditor
* src/run-configtool -> scripts/freeseer-configtool
  • script files above are to be renamed as suggested and copied to /usr/bin or /usr/local/bin

Work to be done:

  1. Create the init.py file [done]
  2. Modify freeseer to load the libraries from site-packages instead [done]
  3. Modify freeseer to load logging.conf from /etc/freeseer instead
  4. Make freeseer a bit more forgiving when it comes to talks.txt. i.e. load fine, generate ~/.freeseer/talks.txt if it isn't present [done]
  5. Debug as needed
  6. Drink a beer to celebrate

Add setting to control where videos save to

Today we save to the directory freeseer is run in. This issue is to track work to add the ability to specify a directory where videos should output. This setting should be preserved in ~/.freeseer/freeseer.conf

Modularize gstreamer usage

Fix the gstreamer code to allow it to be modular and allow one to swap in and out different gstreamer components

Implement RSS feeds

RSS feed as an idea to pull in event presentation values (someone with more context should flesh this ticket out more...)

Create a config file for freeseer to retain useful settings

A config class should be created and initialize to $HOME/.freeseer/freeseer.cfg

This config file should be responsible for general configuration options such as default download directory.

The config file should also save relavent recording settings from the last time a user hits the record button. (In the event of a crash, the user can reopen freeseer and it'll remember what was previously configured).

Improve labeling to enhance usability

This ticket is to track improvements to the UI.

I'd like to suggest we add a layer of labels above the drop downs to label them.

Also, a label for the audio feedback checkbox.

The challenge here will be to find just the right word to be as concise yet clear as possible. We might even consider icons with a tool tip when you hover over.

Should be able to edit a talk by double clicking it

In the edit talks tab, currently there seems to be no way to edit an existing talk except for adding a new one and removing another. It would be good to enable the user to double click a talk and trigger the fields to load in the form.

Implementation wise, we're likely going to need to move to a fancier schema for the talks.txt file in order to support this. This may be a good thing to do as part of the RSS/XML feed work.

after adding a talk-title, reload

After adding a talk-title in the edit screen and returning, the drop down list is not reloaded when returning. After closing and opening freeseer, it is. We should related after adding, removing, editing talks.

RFC: UI improvements to input control

The following is a proposal for gui enhancements. This is a request for comments (RFC).

I propose that we switch the drop downs for input sources to the following.

Video Source (a radio buttons):
hardware
local desktop
See the mockup here: http://fosslc.imgur.com/freeseer/tVcPB

For hardware, when selected, it would expose the following secondary options (radio buttons):
firewire
usb
See the mockup here: http://fosslc.imgur.com/freeseer/btZYO

Selecting usb or firewire would expose the choices for devices. Ideally we can probe somehow to populate the list with intelligence.

For local desktop, when selected, it would expose the following secondary radio options:
desktop
window
area
See the mockup here: http://fosslc.imgur.com/freeseer/tVcPB

Selecting a window should prompt the user to pick a window.
Selecting area should prompt the user for a rectangle selection of screen coordinates to use for capture.
(these can be disabled until we support them.)

RFC: Windows support

Support running freeseer on Windows machines. Yeah, we know, please don't throw rotten fruit. Many people run Windows on their laptop or desktop and this would enable them to run Freeseer as well.

winport branch added for testing.

To install on windows you will need the following dependencies:

Python: python-2.6.6
Gstreamer: GStreamer-WinBuilds-GPL-x86
PyQt: PyQt-Py2.6-x86-gpl-4.8.3-1
PyGTK: pygtk-all-in-one-2.22.6.win32-py2.6
Feedparser: feedparser-5.0.1

Your PATH won't be properly setup so you will need to set that up too.

add these to your PATH (if your on a 32bit system than instead of Program Files (x86) it's simply just Program Files)
C:\Program Files (x86)\GnuWin32\bin
C:\Python26;C:\Python26\Lib\site-packages\PyQt4\bin
C:\Qt\2010.05\qt\bin

We now can use cmake to build.

navigate to src folder and then do the following:

  1. mkdir build
  2. cd build
  3. cmake -G "MinGW Makefiles" ..
  • NOTE: if on linux you do not need the -G "MinGW Makefiles" option this is only required on windows. In linux use "cmake .."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.