All Projects → sassman → T Rec Rs

sassman / T Rec Rs

Licence: gpl-3.0
Blazingly fast terminal recorder that generates animated gif images for the web written in rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to T Rec Rs

Nim
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools.
Stars: ✭ 168 (-53.46%)
Mutual labels:  hacktoberfest, vscode, chrome
Themer
themer is inspired by trevordmiller/nova and chriskempson/base16.
Stars: ✭ 4,483 (+1141.83%)
Mutual labels:  hacktoberfest, vscode, chrome
Hledger
A reliable, user-friendly Plain Text Accounting tool with command line, terminal and web interfaces.
Stars: ✭ 1,887 (+422.71%)
Mutual labels:  command-line-tool, hacktoberfest
Pueue
🌠 Manage your shell commands.
Stars: ✭ 2,471 (+584.49%)
Mutual labels:  command-line-tool, hacktoberfest
Starcli
✨ Browse GitHub trending projects from your command line
Stars: ✭ 269 (-25.48%)
Mutual labels:  command-line-tool, hacktoberfest
Stdrename
'stdrename' is a small command line utility to rename all files in a folder according to a specified naming convention (camelCase, snake_case, kebab-case, etc.).
Stars: ✭ 28 (-92.24%)
Mutual labels:  command-line-tool, hacktoberfest
Mocha Chrome
☕️ Run Mocha tests using headless Google Chrome
Stars: ✭ 66 (-81.72%)
Mutual labels:  command-line-tool, chrome
Motrix Webextension
A chrome extension for the Motrix Download Manager
Stars: ✭ 253 (-29.92%)
Mutual labels:  hacktoberfest, chrome
Broot
A new way to see and navigate directory trees : https://dystroy.org/broot
Stars: ✭ 6,362 (+1662.33%)
Mutual labels:  command-line-tool, hacktoberfest
Autocomplete.js
Simple autocomplete pure vanilla Javascript library.
Stars: ✭ 3,428 (+849.58%)
Mutual labels:  hacktoberfest, fast
Segyio
Fast Python library for SEGY files.
Stars: ✭ 291 (-19.39%)
Mutual labels:  hacktoberfest, fast
Laravel Packer
Awesome Command Line Tool for speeding up your package creation.
Stars: ✭ 313 (-13.3%)
Mutual labels:  command-line-tool, hacktoberfest
Laminas Cli
Console command runner, exposing commands written in Laminas MVC and Mezzio components and applications
Stars: ✭ 25 (-93.07%)
Mutual labels:  command-line-tool, hacktoberfest
Terjira
Terjira is a very interactive and easy to use CLI tool for Jira.
Stars: ✭ 713 (+97.51%)
Mutual labels:  command-line-tool, hacktoberfest
Pypistats
Command-line interface to PyPI Stats API to get download stats for Python packages
Stars: ✭ 86 (-76.18%)
Mutual labels:  command-line-tool, hacktoberfest
Wbot
A simple Web based BOT for WhatsApp™ in NodeJS 😜. Working as of 📅 Feb 14th, 2020
Stars: ✭ 638 (+76.73%)
Mutual labels:  command-line-tool, hacktoberfest
Zeiver
A Scraper, Downloader, & Recorder for static open directories.
Stars: ✭ 14 (-96.12%)
Mutual labels:  recorder, command-line-tool
Themer Gui
A graphical UI for themer. Replaced by Progressive Web App at https://themer.dev.
Stars: ✭ 337 (-6.65%)
Mutual labels:  vscode, chrome
Qawolf
🐺 Create browser tests 10x faster
Stars: ✭ 2,912 (+706.65%)
Mutual labels:  recorder, chrome
Mongo Seeding
The ultimate solution for populating your MongoDB database.
Stars: ✭ 375 (+3.88%)
Mutual labels:  command-line-tool, hacktoberfest

t-rec: Terminal Recorder

License: GPL v3 crates.io dependency status Build Status LOC

Blazingly fast terminal recorder that generates animated gif images for the web written in rust.

Demo

demo

Features

  • Screenshotting your terminal with 4 frames per second (every 250ms)
  • Generates high quality small sized animated gif images or mp4 videos
  • Build-In idle frames detection and optimization (for super fluid presentations)
  • Applies (can be disabled) border decor effects like drop shadow
  • Runs on MacOS and Linux
  • Uses native efficient APIs
  • Runs without any cloud service and entirely offline
  • No issues with terminal sizes larger than 80x24
  • No issues with fonts or colors
  • No issues with curses based programs
  • No issues with escape sequences
  • No record and replay - just one simple command to rule them all
  • Hidden feature: Record every window you want
  • Written in Rust 🦀

Installation on MacOS

with homebrew

brew install t-rec

with cargo

NOTE t-rec depends on imagemagick.

brew install imagemagick
cargo install -f t-rec 

NOTE -f just makes sure the latest version is installed

Installation on Linux

as .deb

sudo apt-get install imagemagick
wget https://github.com/sassman/t-rec-rs/releases/download/v0.5.0/t-rec_0.5.0_amd64.deb
sudo dpkg -i t-rec_0.5.0_amd64.deb

as snap

Get it from the Snap Store

TL;DR:

sudo snap install t-rec --classic
/snap/bin/t-rec --version
t-rec 0.4.3

from AUR

t-rec can be installed from available AUR packages using an AUR helper. For example,

paru -S t-rec

If you prefer, you can clone the AUR packages and then compile them with makepkg. For example,

git clone https://aur.archlinux.org/t-rec.git
cd t-rec
makepkg -si

with cargo

sudo apt-get install libx11-dev imagemagick
cargo install -f t-rec
tested on those distros
ubuntu 20.10 on GNOME
demo-ubuntu
ubuntu 20.10 on i3wm
demo-ubuntu-i3wm
linux mint 20 on cinnamon
demo-mint
ArcoLinux 5.4 on Xfwm4
demo-arco

Usage

t-rec

or with specifying a different program to launch

t-rec /bin/sh

Full Options

t-rec --help
t-rec 0.5.0
Sven Assmann <[email protected]>
Blazingly fast terminal recorder that generates animated gif images for the web written in rust.

USAGE:
    t-rec [FLAGS] [OPTIONS] [shell or program to launch]

FLAGS:
    -h, --help       Prints help information
    -l, --ls-win     If you want to see a list of windows available for recording by their id, you can set env var
                     'WINDOWID' to record this specific window only
    -n, --natural    If you want a very natural typing experience and disable the idle detection and sampling
                     optimization
    -q, --quiet      Quiet mode, suppresses the banner: 'Press Ctrl+D to end recording'
    -V, --version    Prints version information
    -v, --verbose    Enable verbose insights for the curious

OPTIONS:
    -b, --bg <bg>          Background color when decors are used [default: transparent]  [possible values: white, black,
                           transparent]
    -d, --decor <decor>    Decorates the animation with certain, mostly border effects [default: shadow]  [possible
                           values: shadow, none]
    -m, --video <video>    Generates additionally to the gif a mp4 video of the recording [default: mp4]  [possible
                           values: mp4]

ARGS:
    <shell or program to launch>    If you want to start a different program than $SHELL you can pass it here. For
                                    example '/bin/sh'

Disable idle detection & optimization

If you are not happy with the idle detection and optimization, you can disable it with the -n or --natural parameter. By doing so, you would get the very natural timeline of typing and recording as you do it. In this case there will be no optimizations performed.

Disable shadow border decor

In order to disable the drop shadow border decor you have to pass -p none as an argument. If your only want to change the color of the background you can use -b black for example to have a black background.

Hidden Gems

You can record not only the terminal but also every other window. There 2 ways to do so:

  1. abuse the env var TERM_PROGRAM like this:
  • for example lets record a window 'Google Chrome'
  • make sure chrome is running and visible on screen
TERM_PROGRAM="google chrome" t-rec

Frame cache dir: "/var/folders/m8/084p1v0x4770rpwpkrgl5b6h0000gn/T/trec-74728.rUxBx3ohGiQ2"
Recording window: "Google Chrome 2"
Press Ctrl+D to end recording

this is how it looks then: demo-chrome

  1. use the env var WINDOWID like this:
  • for example let's record a VSCode window
  • figure out the window id program, and make it
  • make sure the window is visible on screen
  • set the variable and run t-rec
t-rec --ls-win | grep -i code
Code | 27600

# set the WINDOWID variable and run t-rec
WINDOWID=27600 t-rec

Frame cache dir: "/var/folders/m8/084p1v0x4770rpwpkrgl5b6h0000gn/T/trec-77862.BMYiHNRWqv9Y"
Press Ctrl+D to end recording

this is how it looks then: demo-vscode

Contribute

To contribute to t-rec you can either checkout existing issues labeled with good first issue or open a new issue and describe your problem. Also every PR is welcome. Support for Linux and Windows needs to be done.

On the web & social media

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].