ropery / ffcast Goto Github PK
View Code? Open in Web Editor NEWRun command on rectangular screen regions
License: GNU General Public License v3.0
Run command on rectangular screen regions
License: GNU General Public License v3.0
I don't see it in the AUR.
~$ echo $XDG_SESSION_TYPE
wayland
~$ ffcast -w pad '20 2 2' png screenshot-%s.png
:: please click once in target window
nothing happens when I click on a window.
Thanks for this cute tool. I'd like to bind a combo key to this command:
TMP_AVI=$(mktemp /tmp/outXXXXXXXXXX.avi)
ffcast -s % ffmpeg -y -f x11grab -show_region 1 -framerate 15 \
-video_size %s -i %D+%c -codec:v huffyuv \
-vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI \
&& convert -set delay 10 -layers Optimize $TMP_AVI gif:- | copyq write image/gif - && rm -rf $TMP_AVI
And another key to stop recording.
How can I make it work?
In multi-head setups that use a single large virtual display, fullscreen would be the whole virtual display, including dead space. It would be convenient if we could select only one physical display. The geometry of each physical display should be available via the X server's XINERAMA information, such as:
xdpyinfo -ext XINERAMA | grep -w '^ *head'
The thing we should discuss here, is that whether this information is reasonably universally available and reliable.
So, if you use multi-head, please reply the output of the the command line above, along with your video card/driver.
If this is indeed a reliable way to get the geometry of the pysical displays, we've got a deal :) The hypothetical syntax would be:
ffcast -x 1 # select head #1
ffcast -x 0,2 # select head #0 and #2; they will be union'd as usual...
i saw issue 8 and know i need to add %
after -s
, but i have a new error.
[oglop@localhost ffcast]$ ffcast -s % ffmpeg -y -r 15 x.avi
:: please select a region using mouse
/usr/local/bin/ffcast: line 110: fg: no job control
centos 7
[oglop@localhost ffcast]$ ffmpeg
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Aug 23 2014 01:41:05 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
configuration: --prefix=/home/oglop/Downloads/ffmpeg-static/target --extra-cflags=-I/home/oglop/Downloads/ffmpeg-static/target/include --extra-ldflags='-L/home/oglop/Downloads/ffmpeg-static/target/lib -lm' --disable-debug --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-pthreads --enable-postproc --enable-gray --enable-runtime-cpudetect --enable-libfaac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-bzlib --enable-zlib --enable-nonfree --enable-version3 --enable-libvpx --enable-librtmp --extra-libs=-ldl --enable-x11grab
I'm getting the following error when trying to record a gif:
$ ffcast rec hello.gif
:: saving to file: hello.gif
ffmpeg version 2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 7 2014 16:49:49 with gcc 4.7 (Debian 4.7.2-5)
configuration:
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
Unrecognized option 'show_region'.
Error splitting the argument list: Option not found
Readers: read the fine wiki: GIF Howto (edit by @lolilolicon).
Hello @lolilolicon I discovered this great project and did:
ffcast rec hello.gif
Now this consumes a lot of space. How can I record an optimized gif screencast, dropping the framerate and optimizing the resulting gif?
Thanks
@vvo never mentioned he wrote gifify (seen on GitLab Handbook) (edit by @lolilolicon).
i use this command date +%m-%d-%H:%M:%S
to get the filename for my screenshots, how can i use this as filename with external substitution.
There doesn't seem to be any audio/sound recording and the README does mention it but not clearly that it doesn't support it.
It may be a dumb question but... If i'm running a castig with the rec
command from a dmenu script for example, how can I stop the recording?
I tryed killall ffcast
already and it didn't work at all and I couldn't find out how to do It.
I do know that I can press q
in the terminal that is running ffcast
but I can't do that if I'm running it with the dmenu script.
Request inclusion of both ffcast & xrectsel in popular distros.
When asked what this is for, just say FFcast is primarily used for screen capture & recording ;)
Point the maintainers to the Arch Linux packages for a start,
https://aur.archlinux.org/packages/ffcast
https://aur.archlinux.org/packages/xrectsel
I'm invoking ffcast via keybinding from my window manager. I'm wondering what you might recommend as a solution to e.g. telling ffmpeg I want it to end the recording. When I run via terminal, I just send ffmpeg SIGINT (CTRL+C) and it seems to work. When I invoke via bindsym ... exec ...
w/ i3wm, nada. Even placing the cursor over the capture window hint/border and sending my WM's keybind ... kill
, nada.
Thanks, ffcast/xrectsel is great, I just wish it was packaged for Debian too.
Not sure if this is a bug or not. Just what are the presets, where can I find them, can I make my own, can I modify what's there?
The current is 'lossless_slow', but the other options are not readily apparent or documented.
Typical nub questions, but it's not pointed out in the docs.
Hi, love the app, use it all the time (http://code.krister.ee/mailgun-digitalocean/)
Just updated my Manjaro and ffcast is broken. The command ffcast -s ffmpeg -vcodec libx264 -b:v 20000k -r 25 recgif_temp.mp4
just produces an error
:: please select a region using mouse
ffmpeg version 2.3.1 Copyright (c) 2000-2014 the FFmpeg developers
built on Jul 31 2014 14:51:38 with gcc 4.9.1 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --enable-avisynth --enable-avresample --enable-decoder=atrac3 --enable-decoder=atrac3p --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libavresample 1. 3. 0 / 1. 3. 0
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (recgif_what.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Output #0, mp4, to 'recgif_what.mp4':
Output file #0 does not contain any stream
The same error with just ffcast -s ffmpeg recgifat.mp4
If I add -map 0
to it I get a new error: Invalid input file index: 0.
Really useful tool, how do I fix it?
I am trying ffcast with zsh shell and returns:
"/usr/bin/ffcast: line 20: shopt: lastpipe: invalid shell option name"
My system is Debian Squeeze amd64.
What's wrong?
I've love to include this in debian but it needs some form of licence
Hello,
Thank you so much for the nice tool. However, I'm having a problem. When a select an area through my mouse, the recorded part is from the upperleft-corner of my screen ( instead of upper-left corner of my selection) to the lower-right corner of the selection.
My distro is ArchLinux.
My WM is xmonad.
sleep 2 && \
notify-send start && \
ffcast -g 774x533+500+113 -vvv ffmpeg -f x11grab -i $DISPLAY -y -t 8 test.mp4 && \
notify-send end
hi there, i keep having troubles installing ffcast,
How to install libx11 and all the other dependencies. Can this be explained more deliberately?
made a stack overflow issue for it http://stackoverflow.com/questions/27361271/how-can-i-get-my-zsh-terminal-to-load-libx11-on-osx-10-10-yosemite-ffcast-ins
if you could give it a glance it would be great.
thanks
Looks like the frame rate is currently hardcoded at 25fps. It would be better if this was configurable.
so, I've written a script that uses xrectsel, and it works fantastically.
https://github.com/josefnpat/dotfiles/blob/master/scripts/imgur.sh
I was wondering if you'd be willing to make xrectsel.c it's own repo with its own makefile, and perhaps it's own aur, so I can make my own aur that deps on xrectsel instead of ffcast2?
This is the command I'm using:
ffcast -s % ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size %s -i %D+%c -codec:v libx264 -b:v 20000k -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)"
After selecting the rectangle I want to record, the selected part just freezes and no more animations or interaction is possible.
Is there anything I'm doing wrong? It's already quite some time when I used ffcast last, but I think I was able to interact with the browser below the recorded rectangle, right?
Sometimes after selecting the area on the screen there are some glitches (see below)
It would be nice to be able to start recording after a certain delay (via option)
I am avoiding this by trimming the beginning of the video afterwards via a script, but I never get to know when these 3 seconds end :)
Having a visual indication by seeing the output of recording after the delay would be a fantastic indicator
As I'm lazy, I have ffcast ...
bound to a key-binding in order to quickly take arbitrary-sized/positioned video recordings. But, with xrectsel
, it seems, selecting what I expected to be the entire region of the X11 Output, selects everything but one full row and one full column of pixels. I assume this is the right most and bottom most row, but am not sure.
Is it possible to enable this functionality? I feel this is a limitation of xrectsel
, given your (@lolilolicon) response here: ropery/xrectsel#2 (comment), but having to remember e.g. the number of windows I want to capture is incompatible with my lazy key-binding solution.
It would be neat if I could use ffcast to select an unbounded number of windows (and/or regions / X11 (Xinerama/Xrandr) Outputs / ffcast-allowed selections) and somehow signal that I'm finished. Perhaps e.g. a right-click or key-stroke (as a signal itself or as a modifier for a selection to indicate that it's the "last" selection).
Any ideas how I may achieve this without modification to ffcast and complex logic/script?
Can we get this to a brew recipe?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.