Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record in slow-motion / Adjust playback speed #453

Closed
timothyis opened this issue Apr 21, 2018 · 17 comments · Fixed by #804
Closed

Record in slow-motion / Adjust playback speed #453

timothyis opened this issue Apr 21, 2018 · 17 comments · Fixed by #804

Comments

@timothyis
Copy link
Member

timothyis commented Apr 21, 2018

Noticed this tweet and thought of the general use-case of Kap. Recording behaviour to report somewhere. Would be amazing to record in slow-motion, even if it's faux slow-motion just with increasing the playback time of the recording so that each frame displays longer.

@sindresorhus
Copy link
Member

If you record at 60 FPS, you can halve the speed and still have 30 FPS. I don't know the max FPS of the system, probably depends on your computer, but it might be possible to record 120 FPS and then play it back at 30 FPS, which would make it 4 times slower than normal.

@karaggeorge
Copy link
Member

Shouldn't be too hard to do that with ffmpeg and a bit of math ^

http://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

@albinekb
Copy link
Collaborator

I doubt macOS runs the window server at higher FPS than your display refresh rate, that would just be a waste of resources? 🤔 So if you have a 60hz screen I don't think you'll be able to record over 60 FPS, not confirmed though.

@karaggeorge
Copy link
Member

Still, since our minimum export fps is 15, recording at 60fps, you can slow down to 0.5 to 30fps or 0.25 to 15fps, and if you are recording at 30fps, you can just slow it down to 0.5 to 15fps. I don't think the video on the tweet above has better quality than that

@skllcrn
Copy link
Member

skllcrn commented May 11, 2018

I'm not sure this is within scope. We've been very cautious about adding any type of editing in Kap, as its main goal is make it quick and easy to record and share. Some more context on that in #115 (comment).

@karaggeorge
Copy link
Member

What if when we revisit the plugin api, we add an option for the plugins to be able to send additional options to the ffmpeg conversion. So, there could be a plugin (export method) that exports in slow-motion. (so, it's not added to the app itself)

@gotjoshua
Copy link

I strongly agree that a couple more options would be great here.
I think that gifox handles this rather elegantly with record and playback:
gifoxFrameRateOptions

For me I'm actually more interested in small file size and faster playback (like you see in the screenshot) than slow motion, but actually, the same settings / options can accomplish both.

I am also rather familiar with react and would love to work on a PR together with someone.
For example, I can offer to do the UI in the preferences pane if someone else can wire it up and add it to the export pane.

I think having both default recording fps and default playback fps in the general settings, and then an easy way to adapt the defaults in the recording hamburger could be a great UX...

@gotjoshua
Copy link

@skllcrn and @timothyis , I'd like to appeal for this issue being brought back as a feature request.

You can see what i mean with this screenshot:
FPSoptions-general-settings

and this screen recording:
FPSoptions

and this changeset:
master...onezoomin:master

(sorry my linting setup is not correct yet, i'll of course fix it if we can agree that you want a PR... i just want to get the idea across as a proof of concept before spending too much time refining)

This was referenced Feb 3, 2020
@skllcrn
Copy link
Member

skllcrn commented Feb 15, 2020

I've marked this as a feature again @gotjoshua, as you can see this issue hasn't had much traction yet, but I think you're right in that this is indeed best suited as a part of the core functionality.

@skllcrn skllcrn changed the title Record in slow-motion Record in slow-motion / Adjust playback speed Feb 15, 2020
@skllcrn
Copy link
Member

skllcrn commented Feb 16, 2020

Is editing playback speed something you've considered supporting in Gifski @sindresorhus? Please share the issue if so, I think it could be really neat.

@sindresorhus
Copy link
Member

@skllcrn No. No one has requested it there. And I don't think I would add it regardless, as it's not a common need and I've tried to keep Gifski focused.

@skllcrn
Copy link
Member

skllcrn commented Feb 16, 2020

Really hasn't been a common request for us either, and I very much respect that reasoning, Gifski is amazing.

@skllcrn
Copy link
Member

skllcrn commented Feb 16, 2020

How do you feel about supporting editing the playback speed in Kap @sindresorhus? Also considering we capture at max 60 fps.

@sindresorhus
Copy link
Member

I think people are better off using ScreenFlow or a real video editor if they need this kind of feature. However, it will be possible to create a plugin for this case when we do #785.

@skllcrn
Copy link
Member

skllcrn commented Feb 16, 2020

Agreed, thank you!

@karaggeorge
Copy link
Member

With the new plugin API we were discussing, this would be a great idea for an editing plugin. Same as the one requested for reversing the video etc

Still haven't thought of a good UX way to link multiple editing plugins together, but if it's just one (like this case) that shouldn't hard at all

@gotjoshua
Copy link

Guys, i'm not sure why you are referring to this as "editing"

To me it feels like a very basic relationship between capture options and export options...
am i missing something?

For slow motion:

  • capture at 60fps and set the export to playback at 30fps
    (by setting the frame delay - not by dropping frames) ~0.5x

For speed up:

  • capture at 10fps and playback at 15fps ~1.5x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants