Thanks, I like point 4 under the features you mention in particular. I have many recordings that are a few hours in length without breaks. Any way to cut down what I record will help later when editing in a video editor.
Sure, any video may need editing⦠The main idea of all those improvements is to automate anything could be automated, make recording as easy as possible, just for cats
What happens when krita crashes in the middle of recording. Can there be a way to save recording state with auto save document?
Every frame is written as separate JPEG file right after capturing. If Krita crashes between writings nothing get lost. If it crashes while it writes, well, weāll get one corrupted frame.
Oh, sorry, I just noticed your question regarding interval.
I set interval to 1 sec. and resolution to Half (1024x1024).
To encode frames to video I used ffmpeg:
ffmpeg -pattern_type glob -i '*.jpg' -framerate 30 -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Original recording is not so smooth because Plugin only writes when idle event occurs (after a second of the last modification of the image). More over it was using barrierLock for image locking, so it only capture when all the operations on the image are completed (like long strokes or a sequence of shorter strokes). Also it was locking for read-write what causes to internal buffers to get cleared, what may decrease the performanceā¦
Not to derail or completely take this to different tangent, Just for your information, but it is also worth noting that initially Krita had a tool that recorded painting per stroke, As it it recorded each brush stroke and not the image at different interval. It was called the macro tool. The only issue was that when we played the recorded macro it played it very fast. It would have been cool if it played slowly. you can imagine recording each paint mark you will be doing on the canvas and playing it later.
I donāt know if this information helps to further improve the plugin, just thought that you should know about this tool. it is currently disabled since it would make krita crash.
Thank you for that info. When I searched the info on how to do timelapse in Krita I read about that plugin, and about the disadvantages you mentioned. So I decided to create my own but when I updated my local repo I noticed the Recorder pluginā¦
Hiya! Iām happy to announce that the minimal viable product is ready! It records and exports video using ffmpeg binary. There are number of options to control the export.
There are known minor bugs with move and transform tools, and with isolate layer mode, but Iāll try to fix it asap.
Here are some screenshots of export screens:
Iām not sure regarding the layout, it could be improved, so if you have some ideas on improvements, feel free to write it. It would be really great!
Also it would be cool if someone can check the interface for grammar mistakes.
it looks sick =U!
The UI seems what would you expect from a operation like it and no grammar mistakes I am noticing.
just no sure if Watch it really needs a ā!ā exclamation at the end but I guess you probably should if you just recorded it.
The resize option looks like really a good idea there.
Also like the layout and where it says āVideo durationā not wasting that empty space.
Canāt wait to try it out.
Awesome!
Currently Animation too need ffmpeg binary to render. With both requiring it I think this setting to find or browse for it can be in the settings and not in this docker. Alternatively @emmetpdx was working on making use of ffmpeg as library rather than a binary so, I think you might want to coordinate with him.
Hi, finally Iāve done with coding. Now need to pass the code review!
If you want to test it youāre free to check out the MR Recorder plugin Enhancements (!522) Ā· Merge requests Ā· Graphics / Krita Ā· GitLab
Currently Animation too need ffmpeg binary to render. With both requiring it I think this setting to find or browse for it can be in the settings and not in this docker.
Because of ffmpeg lib is going to be bundled into Krita, Iād considered selecting the ffmpeg binary as working temporal solution. And Iād avoided to waste time to move it to settings and then remove it from there. Also it isnāt in docker, itās in Export dialog, so it shouldāt be too intrusive .
Thereās already a config setting for the ffmpeg binary (āffmpeg_pathā), so that can just be reused.
Is that ok if Recorder plugin will read and change Animation plugin settings?
In this case, yes, since both the animation exporter as well as the recorder need the same thing: the location of ffmpeg. Iād move the setting to the preferences dialog, similar to the setting for gāmicās executable, and that should be enough.
Ok, now I use ffmpeg_path path setting from ANIMATION_EXPORT configuration. But shall we move the ffmpeg configuration to Krita settings:
-
what to do if we open Animation export or Record export and ffmpeg is not configured, we even canāt say if itās configured until we start export.
-
Say user to configure ffmpeg so they have to do few excessive manipulations like:
- close Dialog box saying configure ffmpeg,
- close export window,
- click settings menu,
- Click Configure Krita,
- Scroll to the very end of settings,
- Click āFFMpeg settingsā,
- click browse,
- select ffmpeg,
- then close settings,
- click Export again
- and finally try to export⦠It isnāt too much actions to configure ffmpeg?
-
as I understand ffmpeg library is going to be bundled into krita, so the ffmpeg_path setting is to be removed. So shall we spend time to moving ffmpeg_path to common settings to remove it then?
So Iād just kept it here until ffmpeg library becomes a part of krita and remove the ffmpeg_path then.
We have considered using the ffmpeg library and bundling it with Krita, but there are problems with that, so itās actually a good thing right now that the updated recorder plugin also uses the ffmpeg executable.
I think Iād just open the settings dialog from the relevant dialogs with the ffmpeg setting page preselected.
I see⦠So shall it be the separate button below āGāMic-Qt Integrationā, or better is to place it to the same page as GāMic, renaming the GāMic-Qt Integration to something like āExternal toolsā ?
I think it will be better to place it in the same page as Gmic but rename the page title and section to āExternal Plugin Integrationā
This is Google Translate.
Thank you for your work!
I tested the Recorder plugin.
When exporting a video, if there are multiple records, it is not possible to choose which record to export, only the latest one will be exported.
Can you add an option to choose which record to export?
Hi, not the latest but the current. You have to open related document to export its recording.