NickeManarin / ScreenToGif

🎬 ScreenToGif allows you to record a selected area of your screen, edit and save it as a gif or video.
http://www.screentogif.com
Microsoft Public License
23.77k stars 2.18k forks source link

Feature Request: Move recording area with the Cursor #418

Closed mabbas64 closed 4 years ago

mabbas64 commented 5 years ago

I used this feature in another recording application and it helps a lot when I want to keep a small recording video/gif dimension but need to show multiple further-apart sections of the screen.

So e.g if i have a 600x400px wide recording area, this feature can allow moving the recording box automatically where ever my cursor goes on the screen.

zalmanlew commented 5 years ago

To add to this, maybe it should be a feature for post production, called Crop to Cursor and then there'd be an input box for how much to add in on each side of the cursor.

And then it'd crop down the project to those borders.


The idea of doing it post-production means that if you didn't leave enough room around the cursor you can just expand the recording area without re-recording everything.

vatterspun commented 5 years ago

It's a good suggestion that could show much more of a given screen with a drastically smaller file size.

Assuming this is something the author wants to spend time on, I think the the main thing with this suggestion is that the mouse cursor should not be perpetually in the CENTER of the screen during these recordings. In my experience, these videos are really disorienting because you only ever pay attention to the mouse and everything else jumps around it. Instead, it's ideal if the recording frame moves with the mouse only when the mouse approaches within approx 10 pixels of the window border. In this way, the screen can move with the mouse, but you can still get some sense of what's happening on the screen.

I've used programs in the past that did both of these but struggled to find an example of both. I'll post again if I can find one.

vatterspun commented 5 years ago

struggled to find an example of both

Update here: two examples:

  1. Mouse-follow with a little buffer: https://www.youtube.com/watch?v=_8AdC-qQZgI&t=375s The content not so important as the way you can see when the mouse shifts on the screen. It travels roughly 10 pixels before the frame follows it. There also appears to be something in the background managing the frame so that it moves smoothly around the recorded desktop.

  2. Mouse-follow with no buffer: BandiCam shows this method, which I find it disorienting: https://www.youtube.com/watch?v=K0Q5ffJhyYM (skip to about 0:48).

TheJim01 commented 5 years ago

I was just looking for this option myself.

I think we can get the best of both worlds (buffered and lock-step), and that would be accomplished by @WELZ-gh 's idea of post-processing. It offsets a majority of the work from the recorder onto the editor. The only problem I foresee is that it would require the initial recording to capture the entire screen space every frame so it could perform the cropping later.

Meanwhile, the recorder could encode a "follow" flag into each frame. Whether that flag is enabled throughout the entire recording, or only enabled by a hotkey at run-time, the post-processor could crop the frames based on the state of the flag.

For example:

  1. User sets a record area of 300x300
  2. User starts recording
  3. User realizes they need to move to another part of the screen
  4. User depresses Ctrl+Q (or something, doesn't matter)
  5. The frame locks to the cursor (doesn't need to be centered)
  6. User moves the cursor+frame to the new working region
  7. User releases the hotkey
  8. The frame unlocks from the cursor

This also allows the hotkey to control different types of following:

qJake commented 5 years ago

This would be an amazing feature addition to an already amazing app. It's the one thing that it lacks that I would use on a regular basis, and both suggestions have merit (recording on the fly, or doing it in post) - both achieve the same goal.

Looking forward to this being added someday! 🙂

NickeManarin commented 5 years ago

I'm working on this feature request and I'm currently implementing it like this: (I may change it)

Buffer mode

Always on center mode

Following Example of buffer mode (20px at both sides)

qJake commented 5 years ago

@NickeManarin This looks fantastic! I can't wait for this!

I think, for your potential problem, you have 3-4 options:

  1. Tell the user they have to press some special key combination to stop recording (Windows does something similar when screen recording from PowerPoint or in a game using the "game bar").
  2. Put an icon into the system tray / notification area that the user can click to stop recording
  3. Leave the UI on-screen but draggable, and if it shows up in the recording it's the user's fault they didn't move the UI
  4. Some other screen capture devices do this - is it possible to "ignore" your own UI during capture? For example, in a Zoom meeting, when you share your screen other participants don't see your own UI controls.

I think even if you just shipped Buffer mode, it would make a bunch of people happy. Keep up the great work!

labsforge commented 4 years ago

Hi!

I was wonder if there is a possibility to set the bounds of the region that follows the mouse? I mean, if I only wan't to record inside an app, and don't want to catch things outside?

Thank you!

NickeManarin commented 4 years ago

@labsforge No, right now there's no way. :/

jaxjexjox commented 4 years ago

So this won't be added or can't?

Just want to vote that this feature I'd really like, sorry to re-open but I literally found this page, by googling "follow cursor" and screen to gif.

Thanks ofr hard work regardless

NickeManarin commented 4 years ago

@jaxjexjox Are you referring to the feature that @labsforge asked or the one that this issue ticket was created for?

If the first, create a new ticket and it will be implemented.

jaxjexjox commented 4 years ago

Nick,

I apologise, I didn't read the thread very well initially.

Should I make a new request or expand on this one? I'm slowly getting used to the program but I think my main gripe (sorry!) is that the 'snap to cursor' pixel buffer is only 100 pixels. I kind of need something upwards of 150 to 200 pixels still, as I'm documenting stuff for some elementary users and I really and them to get a good understanding of what they're seeing.

I still would be curious to see the app do a 100% 1 to 1 snap to the cursor, even if it moves around the display a lot, just to get an idea of how that plays.

NickeManarin commented 4 years ago

@jaxjexjox I asked what you meant because this ticket was about a "cursor following" feature that already got implemented, but another user asked about the possibility to limiting the cursor following to a specific app.

So, I was confused about what you wanted.

Now I understand that you want an increased buffer zone limit. I opened a new ticket for that: https://github.com/NickeManarin/ScreenToGif/issues/643

Aetherinox commented 8 months ago

Just in case anyone sees this (I'm still looking through the settings), but is their a way to force it to follow the cursor dead center (unless you move to the edge of a screen).

I've increased the buffer to 100 (which appears to be the max allowed for some reason), and it's better, but it's still only moving when the cursor is near the edge, and it's kind of disorientating.