G'MIC stylize in 4232

The lights and the train were retouched with stylize


Like whenever you post. Seeing more of the world you are creating.

1 Like

is that a synfig animation which you then stylize frame by frame using the gmic command line executable ? What is your workflow so far ?

In the case of the train and the light beam I made a reference frame using gmic and created the others (btweening) using ebsynth and kept the flow with torch-warp.

1 Like

Wow ok thanks! You are very up-to-date in terms of using fresh open-source tools out!!!

The short film is made 100% with Software Libre (opensource)

1 Like

have you used a paid or private beta of ebsynth or just the github ebsynth source directly? your OS is Linux right? I think that a tutorial showcasing the use of gmic for 1 reference image of a video sequence + ebsynth could be written some day… also if style transfer is among the used gmic filters, it can be superflow to run it for each frame, this is where ebsynth might come in very handy

Yes, i use linux.
I do not use proprietary software or pay for it. Download the sources and build something similar to what the proprietary version does. create fluids without generating too much “flicker”.
Yes, I have to do a lot of tutorials and some example scripts.
When I finish the short-flim I plan to document this and many other tools that I create by doing so.

1 Like

Thanks for your reply
I just built it from source for CPU only thanks and ran one of the provided examples successfully.
I am new to flicker / flow for image sequences… I will take my time to understand and fiddle with related examples if destiny brings me there in the coming months…

In the back of my head I was wondering if there was a way to script for say 30 frames, its restylization, with a nice flow and no manual action (I am a no manual action guy)… and have that script published open-source.
restyle.sh movie_extract.avi --gmic_stylize_style_source="picasso" --gmic_stylize_params="integ,er,va,lues" #the backend would be gmic cli / gmic-py + ebsynth

here is a limited tutorial for ebsynth in english using Adobe premier, an optional mask and 1 keyframe only: https://www.youtube.com/watch?v=0RLtHuu5jV4

You can achieve one or two frames with GMIC and generate the rest with torch-warp:

this maintains fluidity and does not generate too many flickers

1 Like
ffmpeg -i movie_extract.avi %04d.png
ls *png | while read A; do
gmic  $A  _fx_stylize starrynight +fx_stylize 1,6,0,0,0.5,2,3,0.5,0.1,3,3,0,0.7,1,0,1,0,5,5,7,1,30,1,2,1.85,0 output[2] result_$A
ffmpeg -i result_%04d.png
1 Like

for this .png and all of them from a small .mp4, for “gmic input $A fx_stylize starrynight fx_stylize 1,6,0,0,0.5,2,3,0.5,0.1,3,3,0,0.7,1,0,1,0,5,5,7,1,30,1,2,1.85,0 output[1] result$A” in the while loop, I get:

[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input file '0009.png' at position 0 (1 image 480x270x1x3).
[gmic] *** Error in ./fx_stylize/*repeat/ *** Command 'local': [instance(1024,836,1,3,0x7ff7c4248010,shared)] gmic<float>::assign(): Invalid assignment request of shared instance from specified image (480,392,1,3).
[gmic] Command 'local' has the following description: 

    local (+):

      Start a 'local...[onfail]...endlocal' block, with selected images.
      (equivalent to shortcut command 'l').
      Example: [#1]  image.jpg local[] 300,300,1,3 \
                 rand[0] 0,255 blur 4 sharpen 1000 endlocal
               [#2]  image.jpg +local repeat 3 deform 20 done endlocal

      Tutorial: https://gmic.eu/tutorial/_local.shtml

Here is an example input png:

I have retried after gmic up, but it is the same result, with Version 2.9.0 (pre-release #200323) . Should I try with other G’MIC versions?

using gmic-py 2.9.1a5:

>>> import gmic; gmic.run("up"); gmic.run("0001.png fx_stylize starrynight fx_stylize 1,6,0,0,0.5,2,3,0.5,0.1,3,3,0,0.7,1,0,1,0,5,5,7,1,30,1,2,1.85,0 output[1] result0001.png")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
gmic.GmicException: *** Error in ./ *** Command 'fx_stylize': Undefined argument '$16', in expression '$16' (for 1 argument specified).

I corrected it. Use bash

Thank you, I had tested your last variant this week end and had 'local ’ command error. What I was interested in was your pipeline. Thank you having shared much of it in depth already :slight_smile:

Finish my final renderings and I have more time, I’ll post examples here:

1 Like

nice !!!

Tell me if this works well

The short film is already finished:

Thanks for sharing. It would help if I knew the language. The motion, pacing and AV sync were off at times. Perhaps make the animation slower and more deliberate instead of looping it. What I really enjoyed were the creative angles and perspectives, and the background art. I wish the characters were closer to that art style.