{"id":16610114,"url":"https://github.com/alphapapa/bashcaster","last_synced_at":"2025-04-24T06:32:21.575Z","repository":{"id":56137753,"uuid":"163323301","full_name":"alphapapa/bashcaster","owner":"alphapapa","description":"An actually simple screen recorder for Linux","archived":false,"fork":false,"pushed_at":"2020-11-24T20:47:36.000Z","size":24,"stargazers_count":46,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-12T01:30:55.271Z","etag":null,"topics":["ffmpeg","linux","screencast"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alphapapa.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-27T18:05:14.000Z","updated_at":"2023-06-11T09:26:16.000Z","dependencies_parsed_at":"2022-08-15T13:21:04.233Z","dependency_job_id":null,"html_url":"https://github.com/alphapapa/bashcaster","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fbashcaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fbashcaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fbashcaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fbashcaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alphapapa","download_url":"https://codeload.github.com/alphapapa/bashcaster/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223942581,"owners_count":17229112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","linux","screencast"],"created_at":"2024-10-12T01:29:28.246Z","updated_at":"2024-11-10T11:11:12.537Z","avatar_url":"https://github.com/alphapapa.png","language":"Shell","readme":"#+TITLE: Bashcaster\n#+PROPERTY: LOGGING nil\n\n# Note: This readme works with the org-make-toc \u003chttps://github.com/alphapapa/org-make-toc\u003e package, which automatically updates the table of contents.\n\nBashcaster 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=.\n\n* Installation\n:PROPERTIES:\n:TOC:      0\n:END: \n\nPut =bashcaster.sh= wherever you want.\n\n** Requirements\n\nBashcaster only works on X-based GUIs.  It should work on any Linux distro, and all common ones should have these tools available for installation:\n\n+  =ffmpeg= does all the work behind the scenes.\n+  =xprop= and =xwininfo= are used to retrieve screen and window dimensions.\n+  =yad= shows the stop-icon tray notification and confirmation dialogs.\n+  [[https://github.com/naelstrof/slop][slop]] is used when available to select rectangles, otherwise a fallback method is used.\n+  =gifsicle= optionally optimizes GIFs.\n\n* Examples\n\nRecord a window to a GIF:\n\n#+BEGIN_SRC sh\n  bashcaster --window output.gif\n#+END_SRC\n\nRecord a window to a GIF at 15 frames per second, with the mouse cursor, optimize it, and don't show confirmation prompts:\n\n#+BEGIN_SRC sh\n  bashcaster -coy --window -f 15 output.gif\n#+END_SRC\n\nRecord the whole screen to an MKV at 60 fps immediately, without confirmation:\n\n#+BEGIN_SRC sh\n  bashcaster -f 60 -y output.mkv\n#+END_SRC\n\n* Usage\n\n#+BEGIN_EXAMPLE\nbashcaster.sh [OPTIONS] OUTPUT-FILE\n\nBashcaster is a simple script that uses ffmpeg to record screencasts\nto videos or GIFs.  It can record the whole screen or a window.  It\ncan optionally optimize GIFs with gifsicle.\n\nOUTPUT-FILE should end with the desired video type's extension,\ne.g. \".mp4\" or \".gif\".\n\nClick the stop-icon tray notification to stop recording.\n\nOptions\n  --debug  Print debug info\n  --help   I need somebody!\n\n  --force           Overwrite output file if it exists\n  -y, --no-confirm  Don't ask for confirmation before recording\n\n  -c, --cursor      Record mouse cursor\n  -F, --fullscreen  Record the whole screen (the default)\n  -R, --rectangle   Select and record a rectangle\n  -W, --window      Select and record a window\n\n  -f, --framerate NUMBER  Video framerate (default: 30)\n\n  -l, --left   NUMBER  Video left edge position (default: 0)\n  -t, --top    NUMBER  Video top edge position (default: 0)\n  -h, --height NUMBER  Video height\n  -w, --width  NUMBER  Video width\n\n  --max-colors NUMBER  Limit colors in palette\n  -d, --dither         Enable dithering to reduce filesize\n  -o, --optimize       Optimize GIF with gifsicle\n#+END_EXAMPLE\n\n* Credits\n\n+  Inspired by [[https://github.com/colinkeenan/silentcast][Silentcast]].\n+  [[https://www.ffmpeg.org/][FFmpeg]] does all the work.\n+  [[https://sourceforge.net/projects/yad-dialog/][YAD]] shows dialogs and the stop button.\n+  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.\n\n* Development\n\nBug reports, feature requests, suggestions — /oh my/!\n\n* License\n\nGPLv3\n\n# Local Variables:\n# eval: (require 'org-make-toc)\n# before-save-hook: org-make-toc\n# org-export-with-properties: ()\n# org-export-with-title: t\n# End:\n\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphapapa%2Fbashcaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falphapapa%2Fbashcaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphapapa%2Fbashcaster/lists"}