Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alphapapa/bashcaster
An actually simple screen recorder for Linux
https://github.com/alphapapa/bashcaster
ffmpeg linux screencast
Last synced: 3 months ago
JSON representation
An actually simple screen recorder for Linux
- Host: GitHub
- URL: https://github.com/alphapapa/bashcaster
- Owner: alphapapa
- License: gpl-3.0
- Created: 2018-12-27T18:05:14.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-24T20:47:36.000Z (about 4 years ago)
- Last Synced: 2024-10-12T01:30:55.271Z (4 months ago)
- Topics: ffmpeg, linux, screencast
- Language: Shell
- Size: 23.4 KB
- Stars: 46
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: Bashcaster
#+PROPERTY: LOGGING nil# Note: This readme works with the org-make-toc package, which automatically updates the table of contents.
Bashcaster is a simple script that uses =ffmpeg= to record screencasts to videos or GIFs. It can record the whole screen or a window. It can optionally optimize GIFs with =gifsicle=.
* Installation
:PROPERTIES:
:TOC: 0
:END:Put =bashcaster.sh= wherever you want.
** Requirements
Bashcaster only works on X-based GUIs. It should work on any Linux distro, and all common ones should have these tools available for installation:
+ =ffmpeg= does all the work behind the scenes.
+ =xprop= and =xwininfo= are used to retrieve screen and window dimensions.
+ =yad= shows the stop-icon tray notification and confirmation dialogs.
+ [[https://github.com/naelstrof/slop][slop]] is used when available to select rectangles, otherwise a fallback method is used.
+ =gifsicle= optionally optimizes GIFs.* Examples
Record a window to a GIF:
#+BEGIN_SRC sh
bashcaster --window output.gif
#+END_SRCRecord a window to a GIF at 15 frames per second, with the mouse cursor, optimize it, and don't show confirmation prompts:
#+BEGIN_SRC sh
bashcaster -coy --window -f 15 output.gif
#+END_SRCRecord the whole screen to an MKV at 60 fps immediately, without confirmation:
#+BEGIN_SRC sh
bashcaster -f 60 -y output.mkv
#+END_SRC* Usage
#+BEGIN_EXAMPLE
bashcaster.sh [OPTIONS] OUTPUT-FILEBashcaster is a simple script that uses ffmpeg to record screencasts
to videos or GIFs. It can record the whole screen or a window. It
can optionally optimize GIFs with gifsicle.OUTPUT-FILE should end with the desired video type's extension,
e.g. ".mp4" or ".gif".Click the stop-icon tray notification to stop recording.
Options
--debug Print debug info
--help I need somebody!--force Overwrite output file if it exists
-y, --no-confirm Don't ask for confirmation before recording-c, --cursor Record mouse cursor
-F, --fullscreen Record the whole screen (the default)
-R, --rectangle Select and record a rectangle
-W, --window Select and record a window-f, --framerate NUMBER Video framerate (default: 30)
-l, --left NUMBER Video left edge position (default: 0)
-t, --top NUMBER Video top edge position (default: 0)
-h, --height NUMBER Video height
-w, --width NUMBER Video width--max-colors NUMBER Limit colors in palette
-d, --dither Enable dithering to reduce filesize
-o, --optimize Optimize GIF with gifsicle
#+END_EXAMPLE* Credits
+ Inspired by [[https://github.com/colinkeenan/silentcast][Silentcast]].
+ [[https://www.ffmpeg.org/][FFmpeg]] does all the work.
+ [[https://sourceforge.net/projects/yad-dialog/][YAD]] shows dialogs and the stop button.
+ Giphy posted a helpful [[https://engineering.giphy.com/how-to-make-gifs-with-ffmpeg/][guide]] ([[https://github.com/cyburgee/ffmpeg-guide][GitHub repo]]) showing how to record optimized GIFs with FFmpeg.* Development
Bug reports, feature requests, suggestions — /oh my/!
* License
GPLv3
# Local Variables:
# eval: (require 'org-make-toc)
# before-save-hook: org-make-toc
# org-export-with-properties: ()
# org-export-with-title: t
# End: