All Projects → DanielFGray → Yaxg

DanielFGray / Yaxg

Licence: gpl-3.0
capture and record your screen with callbacks

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Yaxg

Ffcast
Run command on rectangular screen regions
Stars: ✭ 478 (+917.02%)
Mutual labels:  ffmpeg, screenshot, screencast
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (+442.55%)
Mutual labels:  screenshot, screencast
scr
🎤 A Super CRappy SCReenshot & SCreen Recording SCRipt for Sound Cloud Rappers + audio recorder, yes (sponsored by https://git.io/kiwmi)
Stars: ✭ 16 (-65.96%)
Mutual labels:  screenshot, ffmpeg
Boram
🎞 Cross-platform graphical WebM converter
Stars: ✭ 312 (+563.83%)
Mutual labels:  webm, ffmpeg
Swiftffmpeg
A Swift wrapper for the FFmpeg API
Stars: ✭ 243 (+417.02%)
Mutual labels:  webm, ffmpeg
slip
Select and upload screenshots, gifs, and screencasts to imgur and gfycat with help of slop.
Stars: ✭ 25 (-46.81%)
Mutual labels:  screenshot, screencast
Peek
Peek makes it easy to create short screencasts of a screen area. It was built for the specific use case of recording screen areas, e.g. for easily showing UI features of your own apps or for showing a bug in bug reports. With Peek, you simply place the Peek window over the area you want to record and press "Record". Peek is optimized for generating animated GIFs, but you can also directly record to WebM or MP4 if you prefer.
Stars: ✭ 8,408 (+17789.36%)
Mutual labels:  webm, screencast
Ffmpegandroid
android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
Stars: ✭ 2,858 (+5980.85%)
Mutual labels:  ffmpeg, screenshot
Axiom
An FFmpeg GUI for Windows
Stars: ✭ 560 (+1091.49%)
Mutual labels:  webm, ffmpeg
Webm.js
JavaScript WebM converter
Stars: ✭ 428 (+810.64%)
Mutual labels:  webm, ffmpeg
Ccapture.js
A library to capture canvas-based animations at a fixed framerate
Stars: ✭ 2,836 (+5934.04%)
Mutual labels:  webm, ffmpeg
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+58159.57%)
Mutual labels:  webm, ffmpeg
Ffmpeg.js
Port of FFmpeg with Emscripten
Stars: ✭ 2,447 (+5106.38%)
Mutual labels:  webm, ffmpeg
svg-screencast
SVG screencast - animated SVG files from screenshots using CSS animations
Stars: ✭ 28 (-40.43%)
Mutual labels:  screenshot, screencast
Webm.py
🎞 Cross-platform command-line WebM converter
Stars: ✭ 93 (+97.87%)
Mutual labels:  webm, ffmpeg
Ffmpeg Build Script
The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included.
Stars: ✭ 290 (+517.02%)
Mutual labels:  webm, ffmpeg
Emacs Gif Screencast
[MOVED TO GITLAB] One-frame-per-action GIF recording for optimal quality/size ratio
Stars: ✭ 74 (+57.45%)
Mutual labels:  screenshot, screencast
Ffscreencast
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Stars: ✭ 1,625 (+3357.45%)
Mutual labels:  ffmpeg, screencast
Screen capture lite
cross platform screen/window capturing library
Stars: ✭ 340 (+623.4%)
Mutual labels:  screenshot, screencast
Gifify
😻 Convert any video file to an optimized animated GIF.
Stars: ✭ 5,792 (+12223.4%)
Mutual labels:  ffmpeg, screencast

yaxg

Yet Another X Grabber script

Dependencies

  • slop - for selecting regions and windows
  • maim - for saving screenshots
  • ffmpeg - for recording videos
  • byzanz - for recording gifs (soon to be replaced with ffmpeg)
  • libnotify / notify-send - for notifications

Usage

yaxg [OPTIONS] [FILE]

Options

-d  specify duration to record for (only works for webms)
-D  specify delay
-F  overwrite file if it exists
-s  select a region or window
-S  pass a arguments directly to slop
-e  execute a script in the config dir or a callback string with the current $SHELL
-g  save as gif (will be overridden by file extension)
-p  save as png (will be overridden by file extension)
-w  save as webm (will be overridden by file extension)
    this is the default behavior when -g or -p is not present and the filename doesn't end in png or gif
    press Ctrl+C to stop recording or run `yaxg stop`
-v  increase verbosity (can be stacked)
    first level will show errors parsing config file, consecutive levels will be passed to ffmpeg
-h  print this help

Special Strings

Similar to scrot, the callback and filename parameters can take format specifiers that are expanded when encountered. Characters preceded by % are interpreted directly by the date commmand. See man strftime for examples. Characters preceded by $ are parsed by yaxg and expanded as such:

$f  quoted image path/filename (only available in callback)
$w  image width
$h  image height

Configuration

A configuration file can saved to ~/.config/yaxg/conf
If a line begins with # it is treated as a comment and ignored.
The config file accepts the following values:

callback
  a callback string to execute
  if callback is a script in the config dir, the the quoted filename will automatically be passed to the script
filename
  a default filename to use when none is provided (must not include extension)
	defaults to %FT%R:%S:%:z_$wx$h
format
  default format to use, must be either 'png', 'webm', or 'gif'
slop
  arguments to be passed to slop

Examples

  • Example CLI usage:
yaxg '%s-$w-$h'
yaxg '%s-$w-$h' -e 'mv $f ~/images/$f'
yaxg -s -S '-l -c 0.3,0.4,0.6,0.4' -e 'mv $f ~/images/$f && firefox ~/images/$f'
printf '#!/usr/bin/env bash\n\n[[ "$1" =~ png$ ]] && optipng "$1"\n' > ~/.config/yaxg/myScript && chmod +x !#:3 && yaxg -e 'myScript'
  • Example config file:
filename  %c - $wx$h
format    png
slop      -l -c 0.3,0.4,0.6,0.4
callback  myScript

The wiki has some example callback scripts.

Installation

Arch Linux users can install from the AUR as yaxg-git via their favorite AUR helper.

If you're on another distro, I would suggest cloning the repo and symlink'ing the script into ~/.local/bin and adding that to your PATH.

See also

Legal

Copyright (C) 2016 Daniel F Gray [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

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].