eugeneware/gifencoder

Piping html-png-stream to GIFEncoder results black frames

jussikinnula opened this issue · 1 comments

See example code at:
https://github.com/jussikinnula/html-png-stream-gifencoder-test

Most probably https://github.com/eugeneware/html-png-stream module needs to be changed to work similarly as https://github.com/eugeneware/png-file-stream is done.

I tried already to do this, but didn't manage do it otherwise than by using Canvas (which is generally way too slow). It would be best if GIFEncoder would accept the Buffer data passed by html-png-stream, or create a middleware to transform the stream to one that can be accepted by GIFEncoder.

@jussikinnula GIFEncoder accepts a stream of RGBA buffers whereas html-png-stream produces buffers encoded as PNG. You will need a "middleware" to decode the PNG buffers - like you did with the Canvas.
I don't think any other method (for decoding the PNGs) would be considerably faster as that phase is not the bottleneck. Rendering a HTML document to a PNG file in an external phantomjs process is where the time is spent.