build | status |
---|---|
Release | |
Development |
AvCaster is a native GNU/linux appliction built with the JUCE framework and using gStreamer as the media backend. It is currently capable of recording to file and streaming to an RTMP server with screen capture, webcam, and stereo audio. This initial implementation is specialized for full-screen screencast with webcam overlay and is hard-coded to stream only to livecoding.tv but other servers may be added in the future. If one is handy with bits it could be easily customized for webcam-only, screencap-only, audio-only, or for any RTMP server as it is now. All of these and more indeed may be upcoming standard features.
The motivation behind this project is that streaming with a feature-rich, bleeding-edge client such as OBS and FMLE is very CPU intensive even on reasonably capable machines. In situations such as live code streaming where the broadcast is an auxiliary concern, there is more utility in reserving those extra cycles for primary development tasks.
A command-line solution is the obvious choice for such scenarios but obviously lacks real-time control and preview. This project was created to mark a reasonable balance between headless performance and a graphical feature set. Initially a simple ffmpeg command-line launcher GUI; it has since become a gStreamer native library implementation.
* Debian/Ubuntu:
# subscribe to the repository $ curl -s https://packagecloud.io/install/repositories/ninjam/av-caster/script.deb.sh | sudo bash # install the package $ sudo apt-get install av-caster
Feel free to to post any questions or comments to the AvCaster issue tracker and you can visit the home page of the AvCaster wiki for updates Also, this project is open-source and pull requests are quite welcomed.
* ArchLinux: a PKGBUILD file is included in Builds/Packaging
* Debian/Ubuntu:
# NOTE: AvCaster builds against gStreamer1.0 and requires gStreamer version 1.4 or greater to run # (Debian/Jessie , Ubuntu/Utopic, and newer should work OOTB) sudo apt-get install libfreetype6-dev libgstreamer-plugins-base1.0-dev libx11-dev \ libxcursor-dev libxinerama-dev
* Other GNU/Linux: install the corresponding libraries for your system
cd Builds/LinuxMakefile make CONFIG=Release ./build/av-caster
sudo apt-get install freeglut3 gstreamer1.0-plugins-bad gstreamer1.0-plugins-good \ gstreamer1.0-plugins-ugly libfreetype6 libgl1-mesa-glx libx11-6 \ libxcomposite1 libxcursor1 libxext6 libxinerama1 libxrender1
There were several similar projects considered for expansion before this project was launched fresh. They all can capture and mux in audio but they capture screen only (no webcam/text/logo) and only two of them feature a real-time preview. They are ordered roughly by feature-set from most to least capable in terms of the AvCaster project's feature requirements. * SimpleScreenRecorder - features a real-time preview * gtk-recordmydesktop - features a real-time preview * vokoscreen - very nice looking and intutive GUI * kazam - similar features as vokoscreen * ffmpeg-gui - cross-platform QT basic ffmpeg launcher * ffmpeggui - Win32 basic ffmpeg launcher
Also, the original ffmpeg bash script with all of the features that this project has since re-implemented is in this gist if anyone is interested in a command-line webcasting tool.