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

Very noisy terminal recordings #288

Closed
skerit opened this issue Mar 6, 2018 · 4 comments
Closed

Very noisy terminal recordings #288

skerit opened this issue Mar 6, 2018 · 4 comments
Labels

Comments

@skerit
Copy link

skerit commented Mar 6, 2018

The resulting gif of a terminal recording is very noisy.

Here's a frame where I moved the cursor, but all the text in the terminal has some noise surrounding it.

afbeelding

I've been able to create gifs of about 500 KiB using byzantine & gifsicle, but with peek I can barely get under 10 MiB. Any idea how to solve this?

@phw
Copy link
Owner

phw commented Mar 16, 2018

Are you recording on Gnome? If so, could you try and see whether recording with the ffmpeg backend (start Peek with peek -b ffmpeg) does make any difference?

@phw phw added the bug label Mar 16, 2018
@phw
Copy link
Owner

phw commented Mar 16, 2018

I can reproduce this by comparing results from the gnome-shell and ffmpeg backend. I am actually not surprised, the ffmpeg uses a lossless video as source for GIF generation, while gnome-shell backend uses a high quality but lossy video.

I have to figure out what option gstreamer offers for lossless video by default.

@skerit
Copy link
Author

skerit commented Mar 19, 2018

Just to confirm: I was indeed using gnome-shell.

@phw
Copy link
Owner

phw commented Mar 20, 2018

I did some testing and I will go with VP9 encoder here. With highest quality settings I got perfectly clean frames when no changes happened, even though gstreamer does not seem to support the explicit "lossless" option that the reference encoder offers.

Just to sumarize and clarify the problem here for later reference:

Peek on Gnome by default uses Gnome Shell's built-in screen recorder, because that's also working on Wayland. That screen recorder uses gstreamer, and when invoking the Gnome Shell recorder Peek passes a custom gstreamer pipeline.

For GIF generation you want lossless video, since you want to avoid any artifacts that would increase the colors or lead to dirty frames as shown above. My requirements are:

  • The resulting video file should be small, as it will be stored as a temporary file and space there might be limited
  • The video must be lossless
  • Saving as individual frames, e.g. as PNG, does not work, as the gnome-shell recorder expects a single output in the pipeline

The use of VP9 seems to satisfy these conditions.

@phw phw closed this as completed in 21b739d Mar 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants