Skip to content

raydac/japagoge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner image

Japagoge (PNG and GIF screen recorder)

License Apache 2.0 Java 9+ PayPal donation YooMoney donation

Warning
In Linux. If you get black screen as grabbing result, then it is bug JDK-8269245. You can switch your session to X11 (under Ubuntu it is possible through login screen) to get it properly working.

Warning
In MacOS. If you can't manipulate content under grabbing window by mouse, then it is bug JDK-8013450.

Changelog

  • 2.1.7 (SNAPSHOT)

    • updated embedded JDK to 22+37
  • 2.1.6 (01-nov-2023)

    • updated embedded JDK to 21.0.1+12
  • 2.1.5 (20-sep-2022)

    • native windows launcher moved from i386 to amd64 to prevent antivirus false positive detection
    • updated embedded JDK to 17.0.4.1+1
    • updated dependencies

Full changelog

Pre-word

While working on an article for a well-known web resource, I needed to create animated GIFs, and I had planned to use the popular Peek utility for this purpose. However, to my surprise, I discovered that this utility does not support multi-display environments. I had to quickly devise a Java-based solution that could capture animations and save them to a file. Initially, I opted to record animations as animated PNG files since it was simpler, but later, I also implemented the conversion to GIF.

Pre-built

OS Download link
Windows Archive for Windows x64 (JRE included)
OSX Archive for OSX x64 (JRE included)
OSX Arm64 Archive for OSX Arm64 (JRE included)
Linux Archive for Linux x64 (JRE included)
Linux Archive for Linux x64 (AppImage)
Java Cross-platform JAR file

How to use the utility?

You can download its distributive for your OS from the releases page. It requires Java 11+ for work but some archives provide bundled JRE. Keep in mind that it is very tricky to grab mouse pointer appearance under Java so grabbed pointer look may differ from your system one.

Positioning

Just after start, the window in positioning mode and shown in green color. Supported only mouse, and you can drag the window and resize it to cover required capture area. During positioning mode, you can see three buttons in top of the application window. The leftmost button is the main one and if click on it, recording will start. The middle button is to edit application settings and the rightmost button to close application.
Positioning state

Recording

Recording activated by single click by mouse on the leftmost button in the window title area. In the recording mode all auxiliary buttons will be removed and the window changes its color. Only stop record button will be blinking one in the leftmost corner.
Positioning state
To stop recording, you should make mouse double-click on the blinking button in the title area. After recording stop, you will see the save file dialog to save the record file, if you press cancel button then the record will be rejected and just deleted. If you choose GIF file type then conversion will be started, it can take some time and depends on power of your computer. You can select different options for saved GIF files in settings, but you have to do it before record.

Settings

You can tune misc record options. For instance disable show of mouse pointer or limit number of loops in the result record show. To do it you should click the setting button and the Settings dialog will be opened.
Positioning state

  • Temp folder allows define the folder where intermediate files will be saved, if empty then default temp folder in use.
  • Capture delay (ms) delay between shots of the recorded area in milliseconds.
  • Frame delay (ms) delay between frame show in result animation in milliseconds. If different with Capture delay then animation will be either faster or slower.
  • Loops is number of ami,ation loops to be played during result animation show, zero means infinity animation.
  • Show capturing area metrics allows turn on information about capturing area coordinates during positioning.
  • Grab mouse pointer allows grab position of mouse pointer and show it in the result animation.
  • Color filter allows make some preprocessing of colors and make it gray or amber for instance. Decreasing result file size.
  • Palette RGB to GIF provides palette to be used during GIF conversion, AUTO means some global auto-palette formed on statistic data.
  • Better RGB colors to GIF allows increase precision of palette color search during GIF conversion but make process much slower.
  • Dithering GIF makes dithering in the result GIF to get better quality with provided palette but makes file much bigger and process much slower.
  • Force whole frame allows turn off optimization of saved frames and save whole frame, sometime can help in dithering GIF conversion if area border artifacts presented.

Known bugs

Under MacOS mouse pointer looks differ from system one

I have not found yet way to grab mouse pointer icon under MacOS..