I want to write a plugin for reverse the capture. But it seems there is no API for using the built-in FFmpeg module.
Use story for the kap-reverse:
kap-reverse to get a funny GIF or MP4 fileAlso, I think it will be useful for others.
Your use-case doesn't really fit the current plugin API as they are meant to be "share" plugins. If you implement kap-reverse as a share plugin, the user won't be able to, for example, upload the reversed video to Giphy.
For this use-case, we need a new type of plugin target, an editService. These kinds of plugins would receive the raw captured video and be able to modify the video before it's passed to the shareService plugins. Some use-cases I can think of: adding watermark, brightness/shadow changes, filters, reverse video, annotations, etc. This would allow people to create plugins for pretty much anything that FFmpeg can do. The harder part of this is to figure out how we enable plugins to create UIs for their options/controls. At first we could maybe only allow non-configurable edit actions and then expand it in the future.
We can discuss here, but this definitely a Kap v4 kinda feature, so it won't be done in the near future.
I think that's a good idea (having a different type of plugin). I don't think Kap should take care of providing a UI (some might not need a UI). Maybe those plugins can be of the same format as we have them now (exporting an action and schema). The schema would be controlled in the preferences window like it is now for the rest of the plugins, and the action would accept the path to the original file and a new temp path. When it's done the new temp path should have the "finished" version of that plugin. And then we can feed that file to either an export-type plugin or even chain it with more edit-service plugins. (i.e one of them reverses the video, the next one adds a slow-motion effect and then we pass to an export option). So you could have the user pick as many chainable plugins as they need.
Yes, agree with that Kap should not take care of the UI of configuration. I think the editService workflow will look like the photo editing flow of the iOS Photos.
One good thing about this feature would be - I could capture the video and save the raw output. And then process it later to any format I want and still not lose the raw output. I wonder why Kap doesn't already allow raw output though 馃 other than MP4 and others. And provide details on how it can be processed. cc @sindresorhus
@karuppiah7890 Are you talking about a plugin API, or just a functionality in Kap that allows you to save the raw video of your recording? Because of the latter, in any editor window you can click File -> Save Original and save the raw mp4 recording without any alteration or export method
Oh. Is it? Why is that option alone in File menu? 馃檲 Let me try that feature out!
@karaggeorge Thanks a lot! I could see the option and also the usual shortcut - Cmd + S. For me, from a UI/UX perspective, it felt like, I Must choose a destination and export, and if I don't and close instead, it just tells that the original will be lost :/ So, this original is "raw mp4" format? Looks like big file, compared to the exported mp4. Does the export compress it? 馃
In any case, I hope this is documented somewhere, or we need to, or when the editor is being closed, the user could be asked if they want to save the original, instead of just asking "Are you sure that you want to discard this recording?"
Most helpful comment
Your use-case doesn't really fit the current plugin API as they are meant to be "share" plugins. If you implement
kap-reverseas a share plugin, the user won't be able to, for example, upload the reversed video to Giphy.For this use-case, we need a new type of plugin target, an
editService. These kinds of plugins would receive the raw captured video and be able to modify the video before it's passed to theshareServiceplugins. Some use-cases I can think of: adding watermark, brightness/shadow changes, filters, reverse video, annotations, etc. This would allow people to create plugins for pretty much anything that FFmpeg can do. The harder part of this is to figure out how we enable plugins to create UIs for their options/controls. At first we could maybe only allow non-configurable edit actions and then expand it in the future.We can discuss here, but this definitely a Kap v4 kinda feature, so it won't be done in the near future.