Skip to content

imageflow_server start --demo

Pre-release
Pre-release
Compare
Choose a tag to compare
@lilith lilith released this 23 Dec 02:03

imageflow_server start --demo or imageflow_server --help

The demo page is just the 2009-era ImageResizer examples page; you'll probably want to move to start --mount pretty quickly.

You can specify any number of --mount /prefix/:provider:parameter arguments, where parameter is usually a directory or base URL to which incoming paths are concatenated.

Examples

  • --mount /img/:ir4_local:./images/
  • --mount /js/:static:./javascript/
  • --mount /proxy_microsoft/:ir4_http:http:://microsoft.com/ Note the http:: - we're using : as a delimiter, so you must use :: to make it literal.
  • --mount /staticfile_proxy/:permacache_proxy:http:://bucket.s3.amazonaws.com/
  • --mount /githubproxy/:permacache_proxy_guess_content_types:http:://raw.githubusercontent.com/

imageflow_server v0.0.10 only supports the querystring API (ImageResizer4 compatible variant). It does not yet expose the JSON API. It can fetch originals over HTTP or from the local filesystem.

For now, please use the JSON API via imageflow_tool, which is better equipped for bug reporting. Imageflow_tool offers --debug-package [name], which automatically creates a zipfile I can use to reproduce any bugs you may encounter.

This is our first technical preview of imageflow_server. It is intentionally restricted to localhost connections.

What's missing

libimageflow, imageflow_tool, and imageflow_server all currently lack

  • Operation cost prediction
  • GIF and 8-bit PNG support
  • Background color blending (needed for transparent PNG -> Jpeg conversion)
  • Custom encoder enhancements.
  • Windows optimizations (it's still about 3x slower than linux builds). On my Ubuntu box, demo page images are processing in 5-45ms (browser reports 20ms+ RT). Look for the X-Imageflow-Perf HTTP header in responses.
  • Graph optimization (all builds do unnecessary work right now).
  • ir4 providers unnecessarily re-encode all images, even when there's no querystring.
  • Security review. Everything is still in technical preview for API design review and feedback.

What should work

  • Jpeg, Png32, Png24, all with input color profile support.
  • Jpeg EXIF rotation support.
  • Jpeg entropy coding (smaller file sizes, slower encoding times). You can't turn this off yet, and and this is making encoding large jpegs a bit slow.
  • Over 50% of planned JSON API operations: canvas, crop, rotate, flip, transpose, scale, sharpen, expand canvas, draw rectangle, decode, encode, copy,
    • Most ImageResizer 4 command keys: w, width, maxwidth, h, height, maxheight, mode, scale, flip, sflip, rotate, srotate, quality, format, cropxunits, cropyunits, zoom, bgcolor (for padding only), f.sharpen, anchor.
    • Fetching source images from disk, URL, or (within JSON) base64.
    • Permanent source caching for HTTP requests (no output caching)

Windows builds:
32-bit: https://ci.appveyor.com/api/buildjobs/yggrrbgyjc0kqux2/artifacts/imageflow-v0.0.10-37a156b-win-x86.zip
64-bit: https://ci.appveyor.com/api/buildjobs/6oe4gg06bx6m94rk/artifacts/imageflow-v0.0.10-37a156b-win-x64.zip