Blue-Recorder, a Simple Screen Recorder Written in Rust

https://github.com/xlmnxp/blue-recorder

A simple desktop recorder built using GTK4 and FFmpeg.

  • It supports recording audio and video on Windows and almost all Linux and FreeBSD interfaces with support for Wayland display server on GNOME and KDE sessions.
  • The following formats are currently supported: avi, gif, mkv, mp4, nut, webm and wmv.
  • You can choose the audio input source you want from the list.
  • You can also set the default values you want by simply changing them in the interface, and the program will save them for you for the next time you open it.

This project is based on Green Recorder and is rewritten in Rust with improvements.

Installation

Blue Recorder is available as a Snap and Flatpak package.

Get it from the Snap Store Download on Flathub

Build from source

Blue Recorder depends on the following dependencies:

ffmpeg
gstreamer
libadwaita
pipewire
pipewire-pulse
xwininfo     (X11 only – area selection)

Install dependencies for Ubuntu and Debian-based distros:

sudo apt install build-essential cargo clang ffmpeg gstreamer1.0-plugins-good libadwaita-1-dev libgstreamer1.0-dev libpipewire-0.3-dev pipewire-pulse pulseaudio-utils x11-utils

Install dependencies for FreeBSD:

sudo pkg install ffmpeg gstreamer1 libadwaita llvm pipewire pulseaudio rust xwininfo

Install dependencies for Windows:

winget install BrechtSanders.WinLibs.POSIX.MSVCRT Git.Git Gyan.FFmpeg LLVM.LLVM Rustlang.Rustup wingtk.gvsbuild.GTK4

Switch to the GNU Toolchain(Windows only):

rustup default stable-x86_64-pc-windows-gnu

Then use Cargo to build it:

git clone https://github.com/xlmnxp/blue-recorder
cd blue-recorder/
cargo build --release
cp -a data gui/interfaces locales target/release

Then you will find the executable file at: blue-recorder/target/release/blue-recorder

License

GNU General Public License version 3
License Copyright: Copyright © 2007 Free Software Foundation, Inc.
License License: "Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed." (www.gnu.org/licenses/gpl-3.0.en.html).
License Contact: Free Software Foundation (fsf.org).
SPDX short identifier: GPL-3.0-only
Further resources...

Read the license

{
"by": "alexzeitler",
"descendants": 51,
"id": 40247528,
"kids": [
40249228,
40250706,
40254787,
40258055,
40249954,
40251527,
40247737
],
"score": 96,
"time": 1714743450,
"title": "Blue-Recorder, a Simple Screen Recorder Written in Rust",
"type": "story",
"url": "https://github.com/xlmnxp/blue-recorder"
}
{
"author": "xlmnxp",
"date": null,
"description": "Simple Screen Recorder written in Rust based on Green Recorder - xlmnxp/blue-recorder",
"image": "https://opengraph.githubassets.com/801f508e239de5c2fd4d177170f59ad2b74c8d5dcac24bfbab2126f9527d04fc/xlmnxp/blue-recorder",
"logo": null,
"publisher": "GitHub",
"title": "GitHub - xlmnxp/blue-recorder: Simple Screen Recorder written in Rust based on Green Recorder",
"url": "https://github.com/xlmnxp/blue-recorder"
}
{
"url": "https://github.com/xlmnxp/blue-recorder",
"title": "GitHub - xlmnxp/blue-recorder: Simple Screen Recorder written in Rust based on Green Recorder",
"description": "A simple desktop recorder built using GTK4 and FFmpeg. It supports recording audio and video on Windows and almost all Linux and FreeBSD interfaces with support for Wayland display server on GNOME and KDE...",
"links": [
"https://github.com/xlmnxp/blue-recorder"
],
"image": "https://opengraph.githubassets.com/801f508e239de5c2fd4d177170f59ad2b74c8d5dcac24bfbab2126f9527d04fc/xlmnxp/blue-recorder",
"content": "<div><article>\n<p><a target=\"_blank\" href=\"https://github.com/xlmnxp/blue-recorder/blob/master/screenshots/screenshot.png\"><img src=\"https://github.com/xlmnxp/blue-recorder/raw/master/screenshots/screenshot.png\" /></a></p>\n<p>A simple desktop recorder built using GTK4 and FFmpeg.</p>\n<ul>\n<li>It supports recording audio and video on Windows and almost all Linux and FreeBSD interfaces with support for Wayland display server on GNOME and KDE sessions.</li>\n<li>The following formats are currently supported: avi, gif, mkv, mp4, nut, webm and wmv.</li>\n<li>You can choose the audio input source you want from the list.</li>\n<li>You can also set the default values you want by simply changing them in the interface, and the program will save them for you for the next time you open it.</li>\n</ul>\n<p>This project is based on <a target=\"_blank\" href=\"https://github.com/mhsabbagh/green-recorder\">Green Recorder</a> and is rewritten in Rust with improvements.</p>\n<p></p><h2>Installation</h2><a target=\"_blank\" href=\"https://github.com/xlmnxp/blue-recorder#installation\"></a><p></p>\n<p>Blue Recorder is available as a Snap and Flatpak package.</p>\n<p><a target=\"_blank\" href=\"https://snapcraft.io/blue-recorder\"><img alt=\"Get it from the Snap Store\" src=\"https://camo.githubusercontent.com/160dda4622d9685f75e727899733a186d985f33ba6025d3593fdcf1a1c3fd784/68747470733a2f2f736e617063726166742e696f2f7374617469632f696d616765732f6261646765732f656e2f736e61702d73746f72652d626c61636b2e737667\" /></a> <a target=\"_blank\" href=\"https://flathub.org/apps/details/sa.sy.bluerecorder\"><img alt=\"Download on Flathub\" src=\"https://camo.githubusercontent.com/70f19b1c27faac6f1b7cdcedb300e3af3dcec0619aa0ba5b011c6ac1e0c600ee/68747470733a2f2f666c61746875622e6f72672f6173736574732f6261646765732f666c61746875622d62616467652d656e2e706e67\" /></a></p>\n<p></p><h2>Build from source</h2><a target=\"_blank\" href=\"https://github.com/xlmnxp/blue-recorder#build-from-source\"></a><p></p>\n<p>Blue Recorder depends on the following dependencies:</p>\n<div><pre><code>ffmpeg\ngstreamer\nlibadwaita\npipewire\npipewire-pulse\nxwininfo (X11 only – area selection)\n</code></pre></div>\n<p>Install dependencies for Ubuntu and Debian-based distros:</p>\n<div><pre><code>sudo apt install build-essential cargo clang ffmpeg gstreamer1.0-plugins-good libadwaita-1-dev libgstreamer1.0-dev libpipewire-0.3-dev pipewire-pulse pulseaudio-utils x11-utils\n</code></pre></div>\n<p>Install dependencies for FreeBSD:</p>\n<div><pre><code>sudo pkg install ffmpeg gstreamer1 libadwaita llvm pipewire pulseaudio rust xwininfo\n</code></pre></div>\n<p>Install dependencies for Windows:</p>\n<div><pre><code>winget install BrechtSanders.WinLibs.POSIX.MSVCRT Git.Git Gyan.FFmpeg LLVM.LLVM Rustlang.Rustup wingtk.gvsbuild.GTK4\n</code></pre></div>\n<p>Switch to the GNU Toolchain(Windows only):</p>\n<div><pre><code>rustup default stable-x86_64-pc-windows-gnu\n</code></pre></div>\n<p>Then use <code>Cargo</code> to build it:</p>\n<div><pre><code>git clone https://github.com/xlmnxp/blue-recorder\ncd blue-recorder/\ncargo build --release\ncp -a data gui/interfaces locales target/release\n</code></pre></div>\n<p>Then you will find the executable file at:\n<code>blue-recorder/target/release/blue-recorder</code></p>\n<p></p><h2>License</h2><a target=\"_blank\" href=\"https://github.com/xlmnxp/blue-recorder#license\"></a><p></p>\n<div><pre><code>GNU General Public License version 3\nLicense Copyright: Copyright © 2007 Free Software Foundation, Inc.\nLicense License: \"Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\" (www.gnu.org/licenses/gpl-3.0.en.html).\nLicense Contact: Free Software Foundation (fsf.org).\nSPDX short identifier: GPL-3.0-only\nFurther resources...\n</code></pre></div>\n<p><a target=\"_blank\" href=\"https://github.com/xlmnxp/blue-recorder/blob/master/LICENSE.md\">Read the license</a></p>\n</article></div>",
"author": "",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"source": "github.com",
"published": "",
"ttr": 56,
"type": "object"
}