Davidy22 / SkunkBooth

Text based command line webcam photobooth app
https://Davidy22.github.io/SkunkBooth/
Other
51 stars 12 forks source link

[FEATURE] High quality images by making use of SIXEL #76

Open schrmh opened 3 years ago

schrmh commented 3 years ago

Is your feature request related to a problem? Please describe. There should be an option to get high-quality previews/images.

Describe the solution you'd like https://en.wikipedia.org/wiki/Sixel https://github.com/libsixel/libsixel SIXEL is old but got support in a bunch of more modern terminal emulators during the last few years. And with mpv a well-known application implemented SIXEL as an output option.

Describe alternatives you've considered There is no alternative I consider at this point. A few terminal emulators like iTerm and Kitty have their own graphics protocol; those might become relevant enough in the future.

github-actions[bot] commented 3 years ago

Seems like this is your first issue here. Make sure to read the contributing guidelines and follow them here.

Davidy22 commented 3 years ago

Should be doable, could be default too. Leaving this link for later use because this is a python project, not c https://pypi.org/project/PySixel/

Davidy22 commented 3 years ago

From a cursory look, the deps are either all c programs that need to be compiled from source or broken pypi packages. Going to see if I can get the pypi only one fixed, because including a binary or telling people to compile something from a random git repo to install isn't high on the bucket list for this project

schrmh commented 3 years ago

Well, maybe you could use the ImageMagick API (or Wand in case of python I think)? Cause their "convert" program also supports SIXEL. Maybe not the best solution but yeah..

Davidy22 commented 3 years ago

imagemagick is still a separate install that needs to be run, a little less rough on the user though. Also looking at sixel output, it's wildly different to our current intermediate output which probably breaks our filters, but our filters for the most part would effectively downscale the image rendering the usage of sixels irrelevant in the first place so that's not as big an issue.