Giter VIP home page Giter VIP logo

Comments (8)

bartbutenaers avatar bartbutenaers commented on May 24, 2024

I assume I am completely using this library in the wrong way.
Because the wasm index.js file only contains 1 statement (throw new Error('todo!');):

image

And even if would have passed through that point, then further on I would have got the same exception a bit further in the code (whether I set the environment variable or not doesn't matter):

image

My creativity has reached its limit. Hopefully you can illuminate me ;-)

from imagescript.

bartbutenaers avatar bartbutenaers commented on May 24, 2024

Ok it seems to work when I don't use @imagescript/codecs directly, but instead the imagescript which also seems to contain the codecs.

  1. So I assume the @imagescript/codecs is not to be meant to use as a standalone library?
  2. And is it correct that I need simply to add process.env['CODECS_FORCE_WASM'] = 1; before I load imagescript?

Thanks!!

from imagescript.

matmen avatar matmen commented on May 24, 2024

The ImageScript codecs currently don't include a WASM implementation (it's still WIP), so i'm not sure if it will work with node-red (not sure if it would be running server side or in a node-red dashboard (client side)). It would have to run on a supported platform
(image) with the native modules (./codecs/node/index.js), but accessing those directly isn't really supported (or documented) right now.

from imagescript.

bartbutenaers avatar bartbutenaers commented on May 24, 2024

Hi @matmen,

Thanks for your quick response!!

The ImageScript codecs currently don't include a WASM implementation (it's still WIP)

Ah I wasn't aware of that. Because from the benchmarks on the readme page, I had concluded that WASM was already implemented for encoding and decoding... I am certainly not going to ask an open-source developer for an ETA ;-). But is this something you are working on, or is in the category 'maybe later maybe never'? In the latter case, I need to look for another solution? Which would be a pity, because I don't think there is another wasm solution ...

not sure if it would be running server side or in a node-red dashboard (client side)

Are you familiar with Node-RED somehow?
I would like to use this on the server side. Currently almost all image processing nodes in Node-RED handle their own encoding/decoding (mostly with jpeg-js). Although that is a very nice library, I have two problems with it:

  • It is just too slow when you want to do video surveillance with a bunch of cameras.
  • If every node does decode -> image processing --> encode, then a lot of cpu is being wasted because you get a series of decodings and encodings after each other.

I had hoped to develop a new node that could decode/encode images based on your library and wasm. So I first would decode the jpegs to raw images, then add multiple nodes in a chain that do processing on that raw image, and at the end a node to encode the (processed) raw images back to a jpeg:

image

This way we would only have one decoding, and one encoding. And both based on wasm for better performance.

Do you think something like that is a bit realistic? Because I would like to avoid native libraries (like sharp....), because when you e.g. run Node-RED in an (Alpine Linux Docker) there aren't even build tools available. So wasm would be a great alternative ...

from imagescript.

evanwashere avatar evanwashere commented on May 24, 2024

codecs package wasm support is blocked by ongoing imagescript port to rust
for now you can vendor in and modify our current wasm jpeg encoder/decoder to fit your needs

from imagescript.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.