# linux version



## odyssomay (Jan 30, 2013)

Thread to discuss how a linux version would work out.

Backstory:
https://github.com/jp9000/OBS/issues/80


Here are some resources:

Desktop capture:
ffmpeg - http://ffmpeg.org/
recordMyDesktop - http://recordmydesktop.sourceforge.net/about.php

OpenGL capture:
glc - https://github.com/nullkey/glc
yukon - https://github.com/wereHamster/yukon

Compression:
x264 - http://www.videolan.org/developers/x264.html
libfaac - http://www.audiocoding.com/faac.html ?
lame - http://lame.sourceforge.net/
(same as currently used by obs)

Sound capture:
alsa - http://www.alsa-project.org/main/index.php/Main_Page
jack - http://jackaudio.org/
pulseaudio - http://www.freedesktop.org/wiki/Software/PulseAudio

User interface:
gtk - http://www.gtk.org/
qt - http://qt.digia.com/
wxWidgets - http://www.wxwidgets.org/

Edit: Gstreamer also looks like it could be of use. http://gstreamer.freedesktop.org/


----------



## Jim (Jan 31, 2013)

My current plan for linux/etc is to write a multi-platform library for general streaming first.  Then I'll probably make the actual application to utilize that library after that.  Thank you for all the links as well, I greatly appreciate it.


----------



## Kilobyte (Jun 1, 2013)

My thoughs are also you should do the core platform independend. if you really have to use platform dependend code you can make use of the __WIN32 define (or similar) thats only set on windows. then make all platform specificcode as a lib. that should work :P


----------



## keturn (Jun 24, 2013)

libav (or ffmpeg) does a lot of this; interfaces to input and capture methods, encoders, and network transports. Pretty sure gtkrecordmydesktop is a relatively thin layer around that.

The one thing I didn't find an libav interface to was opengl capture. For that, glc seems to work (though suffers from lack of maintainers recently), but it seems to write to some sort of non-standard format and encoding, and it's not set up to do streaming output. So if you want opengl capture instead of x11 screen-region capture, you'd have some work cut out for you there.

The other thing I found in this space is WebcamStudio. It looks like it should already be a viable option to use in Linux, although I didn't exactly get it to work on the first attempt.


----------

