Having a little trouble getting and 'blitting' some images together. I suspect the source type is incorrect and I just don't know enough to work out where.
Seeing as a picture speaks a thousand words, here's a video demonstration of the problem and what I've tried: Node-RED flow assistance request - contrib-image-tools - YouTube
And here is the flow:
[{"id":"66a0ab4cb637754e","type":"inject","z":"a77b2b14.9407e8","name":"Capture 3 pics","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","payload":"1","payloadType":"num","x":270,"y":260,"wires":[["18cca55a6cfbac35","e85a392a3bfd08d3"]]},{"id":"18cca55a6cfbac35","type":"function","z":"a77b2b14.9407e8","name":"1st img","func":"const trigger = parseInt(msg.payload)\nif (trigger == 1) {\n\n// file path with / at the end\nvar path = \"/home/pi/node-red-static/\"; // This is the path\nmsg.payload = path + \"frame1.jpg\"; // pass the full path to payload for the exec node to add to the end of the command\nmsg.frame1 = msg.payload;\n return msg;}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":260,"wires":[["038ddae2685057aa"]]},{"id":"e85a392a3bfd08d3","type":"delay","z":"a77b2b14.9407e8","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":260,"y":320,"wires":[["d2c8a6f52703ec05","320c83e6b860d63c"]]},{"id":"d2c8a6f52703ec05","type":"function","z":"a77b2b14.9407e8","name":"2st img","func":"const trigger = parseInt(msg.payload)\nif (trigger == 1) {\n\n// file path with / at the end\nvar path = \"/home/pi/node-red-static/\"; // This is the path\nmsg.payload = path + \"frame2.jpg\"; // pass the full path to payload for the exec node to add to the end of the command\nmsg.frame2 = msg.payload;\n\n return msg;}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":320,"wires":[["03745879e42b832e"]]},{"id":"320c83e6b860d63c","type":"delay","z":"a77b2b14.9407e8","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":260,"y":380,"wires":[["3b9a7e8d69e9c75c"]]},{"id":"3b9a7e8d69e9c75c","type":"function","z":"a77b2b14.9407e8","name":"3rd img","func":"const trigger = parseInt(msg.payload)\nif (trigger == 1) {\n\n// file path with / at the end\nvar path = \"/home/pi/node-red-static/\"; // This is the path\nmsg.payload = path + \"frame3.jpg\"; // pass the full path to payload for the exec node to add to the end of the command\nmsg.frame3 = msg.payload;\n\n return msg;}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":440,"y":380,"wires":[["21d1ccee64dc4d18"]]},{"id":"8d58ddb71a7e5df1","type":"debug","z":"a77b2b14.9407e8","name":"frame grab","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1130,"y":180,"wires":[]},{"id":"953d7669.9cbf78","type":"jimp-image","z":"a77b2b14.9407e8","name":"frame1","data":"payload","dataType":"msg","ret":"img","parameter1":"","parameter1Type":"msg","parameter2":"","parameter2Type":"msg","parameter3":"","parameter3Type":"msg","parameter4":"","parameter4Type":"msg","parameter5":"","parameter5Type":"msg","parameter6":"","parameter6Type":"msg","parameter7":"","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"frame1","sendPropertyType":"msg","parameterCount":0,"jimpFunction":"none","selectedJimpFunction":{"name":"none","fn":"none","description":"Just loads the image.","parameters":[]},"x":480,"y":580,"wires":[["837b82da.e1ddf"]]},{"id":"837b82da.e1ddf","type":"image viewer","z":"a77b2b14.9407e8","name":"","width":"80","data":"payload","dataType":"msg","active":true,"x":610,"y":580,"wires":[["9a147be1.7d1af8"]]},{"id":"dbb82ce3.015fd","type":"jimp-image","z":"a77b2b14.9407e8","name":"frame2","data":"payload","dataType":"msg","ret":"img","parameter1":"","parameter1Type":"msg","parameter2":"","parameter2Type":"msg","parameter3":"","parameter3Type":"msg","parameter4":"","parameter4Type":"msg","parameter5":"","parameter5Type":"msg","parameter6":"","parameter6Type":"msg","parameter7":"","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"frame2","sendPropertyType":"msg","parameterCount":0,"jimpFunction":"none","selectedJimpFunction":{"name":"none","fn":"none","description":"Just loads the image.","parameters":[]},"x":490,"y":680,"wires":[["7a25ce49.788e3"]]},{"id":"7a25ce49.788e3","type":"image viewer","z":"a77b2b14.9407e8","name":"","width":"80","data":"payload","dataType":"msg","active":true,"x":690,"y":680,"wires":[["9f823f06.0719c"]]},{"id":"9a147be1.7d1af8","type":"function","z":"a77b2b14.9407e8","name":"get sizes","func":"msg.width1 = msg.imageInfo.width;\nmsg.height1 = msg.imageInfo.height;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":840,"y":580,"wires":[["6bdbca50.679ed4"]]},{"id":"9f823f06.0719c","type":"function","z":"a77b2b14.9407e8","name":"get sizes","func":"msg.width2 = msg.imageInfo.width;\nmsg.height2 = msg.imageInfo.height;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":840,"y":680,"wires":[["21391c2bf0f20fbd"]]},{"id":"ad0be53d.59eba8","type":"function","z":"a77b2b14.9407e8","name":"Combined img params","func":"msg.width = msg.width1;\nmsg.height = msg.height1 + msg.height2 + msg.height3;\nmsg.height2and3 = msg.height2 + msg.height3;\nmsg.payload = {w: msg.width, h: msg.height}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":280,"y":980,"wires":[["8c0d7a05.bcb2f8","5e0a149320a47b52"]]},{"id":"8c0d7a05.bcb2f8","type":"jimp-image","z":"a77b2b14.9407e8","name":"Combined image","data":"payload","dataType":"msg","ret":"img","parameter1":"","parameter1Type":"msg","parameter2":"","parameter2Type":"msg","parameter3":"","parameter3Type":"msg","parameter4":"","parameter4Type":"msg","parameter5":"","parameter5Type":"msg","parameter6":"","parameter6Type":"msg","parameter7":"","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"combined","sendPropertyType":"msg","parameterCount":0,"jimpFunction":"none","selectedJimpFunction":{"name":"none","fn":"none","description":"Just loads the image.","parameters":[]},"x":490,"y":980,"wires":[["9917d983.f4d368"]]},{"id":"9917d983.f4d368","type":"jimp-image","z":"a77b2b14.9407e8","name":"blit image1","data":"combined","dataType":"msg","ret":"img","parameter1":"frame1","parameter1Type":"msg","parameter2":"0","parameter2Type":"num","parameter3":"0","parameter3Type":"num","parameter4":"0","parameter4Type":"num","parameter5":"0","parameter5Type":"num","parameter6":"width1","parameter6Type":"msg","parameter7":"height1","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"combined","sendPropertyType":"msg","parameterCount":7,"jimpFunction":"blit","selectedJimpFunction":{"name":"blit","fn":"blit","description":"blit the image with another Jimp image at x, y, optionally cropped","parameters":[{"name":"src","type":"","required":true,"hint":"the source image (a Jimp instance)","defaultType":"msg","defaultValue":"payload"},{"name":"x","type":"num","required":true,"hint":"the x position to blit the image"},{"name":"y","type":"num","required":true,"hint":"the y position to blit the image"},{"name":"srcx","type":"num","required":false,"hint":"the x position from which to crop the source image"},{"name":"srcy","type":"num","required":false,"hint":"the y position from which to crop the source image"},{"name":"srcw","type":"num","required":false,"hint":"the width to which to crop the source image"},{"name":"srch","type":"num","required":false,"hint":"the height to which to crop the source image"}]},"x":670,"y":980,"wires":[["d9d820c9.04114"]]},{"id":"25d4c9fe6464b803","type":"jimp-image","z":"a77b2b14.9407e8","name":"frame3","data":"payload","dataType":"msg","ret":"img","parameter1":"","parameter1Type":"msg","parameter2":"","parameter2Type":"msg","parameter3":"","parameter3Type":"msg","parameter4":"","parameter4Type":"msg","parameter5":"","parameter5Type":"msg","parameter6":"","parameter6Type":"msg","parameter7":"","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"frame3","sendPropertyType":"msg","parameterCount":0,"jimpFunction":"none","selectedJimpFunction":{"name":"none","fn":"none","description":"Just loads the image.","parameters":[]},"x":490,"y":780,"wires":[["8ce694f7ef87ae2f"]]},{"id":"8ce694f7ef87ae2f","type":"image viewer","z":"a77b2b14.9407e8","name":"","width":"80","data":"payload","dataType":"msg","active":true,"x":610,"y":780,"wires":[["8b89844c961f4e8a"]]},{"id":"8b89844c961f4e8a","type":"function","z":"a77b2b14.9407e8","name":"get sizes","func":"msg.width3 = msg.imageInfo.width;\nmsg.height3 = msg.imageInfo.height;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":840,"y":780,"wires":[["ad0be53d.59eba8"]]},{"id":"038ddae2685057aa","type":"exec","z":"a77b2b14.9407e8","command":"ffmpeg -y -i rtsp://USERNAME:PASSWORD@IP-ADDRESS:554/live0.264 -vframes 1 -f image2pipe -vcodec png -","addpay":false,"append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"Framegrab: Kitchen","x":630,"y":260,"wires":[["8d58ddb71a7e5df1","953d7669.9cbf78"],[],[]]},{"id":"2879d916.ae7e46","type":"image viewer","z":"a77b2b14.9407e8","name":"","width":"240","data":"combined","dataType":"msg","active":true,"x":1390,"y":160,"wires":[[]]},{"id":"2156fa27b67dfda8","type":"jimp-image","z":"a77b2b14.9407e8","name":"blit image3","data":"combined","dataType":"msg","ret":"img","parameter1":"frame3","parameter1Type":"msg","parameter2":"0","parameter2Type":"num","parameter3":"height2and3","parameter3Type":"msg","parameter4":"0","parameter4Type":"num","parameter5":"0","parameter5Type":"num","parameter6":"width3","parameter6Type":"msg","parameter7":"height3","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"combined","sendPropertyType":"msg","parameterCount":7,"jimpFunction":"blit","selectedJimpFunction":{"name":"blit","fn":"blit","description":"blit the image with another Jimp image at x, y, optionally cropped","parameters":[{"name":"src","type":"","required":true,"hint":"the source image (a Jimp instance)","defaultType":"msg","defaultValue":"payload"},{"name":"x","type":"num","required":true,"hint":"the x position to blit the image"},{"name":"y","type":"num","required":true,"hint":"the y position to blit the image"},{"name":"srcx","type":"num","required":false,"hint":"the x position from which to crop the source image"},{"name":"srcy","type":"num","required":false,"hint":"the y position from which to crop the source image"},{"name":"srcw","type":"num","required":false,"hint":"the width to which to crop the source image"},{"name":"srch","type":"num","required":false,"hint":"the height to which to crop the source image"}]},"x":1030,"y":980,"wires":[["2879d916.ae7e46"]]},{"id":"d9d820c9.04114","type":"jimp-image","z":"a77b2b14.9407e8","name":"blit image2","data":"combined","dataType":"msg","ret":"img","parameter1":"frame2","parameter1Type":"msg","parameter2":"0","parameter2Type":"num","parameter3":"height1","parameter3Type":"msg","parameter4":"0","parameter4Type":"num","parameter5":"0","parameter5Type":"num","parameter6":"width2","parameter6Type":"msg","parameter7":"height2","parameter7Type":"msg","parameter8":"","parameter8Type":"msg","sendProperty":"combined","sendPropertyType":"msg","parameterCount":7,"jimpFunction":"blit","selectedJimpFunction":{"name":"blit","fn":"blit","description":"blit the image with another Jimp image at x, y, optionally cropped","parameters":[{"name":"src","type":"","required":true,"hint":"the source image (a Jimp instance)","defaultType":"msg","defaultValue":"payload"},{"name":"x","type":"num","required":true,"hint":"the x position to blit the image"},{"name":"y","type":"num","required":true,"hint":"the y position to blit the image"},{"name":"srcx","type":"num","required":false,"hint":"the x position from which to crop the source image"},{"name":"srcy","type":"num","required":false,"hint":"the y position from which to crop the source image"},{"name":"srcw","type":"num","required":false,"hint":"the width to which to crop the source image"},{"name":"srch","type":"num","required":false,"hint":"the height to which to crop the source image"}]},"x":850,"y":980,"wires":[["2156fa27b67dfda8"]]},{"id":"5e0a149320a47b52","type":"debug","z":"a77b2b14.9407e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":990,"y":860,"wires":[]},{"id":"9435702b.6e1c4","type":"inject","z":"a77b2b14.9407e8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":520,"wires":[["dd869b1.00bf368"]]},{"id":"dd869b1.00bf368","type":"http request","z":"a77b2b14.9407e8","name":"","method":"GET","ret":"bin","paytoqs":"ignore","url":"https://picsum.photos/200/300","tls":"","persist":false,"proxy":"","authType":"","x":140,"y":580,"wires":[["953d7669.9cbf78"]]},{"id":"6bdbca50.679ed4","type":"http request","z":"a77b2b14.9407e8","name":"","method":"GET","ret":"bin","paytoqs":"ignore","url":"https://picsum.photos/200/300","tls":"","persist":false,"proxy":"","authType":"","x":150,"y":680,"wires":[["dbb82ce3.015fd"]]},{"id":"21391c2bf0f20fbd","type":"http request","z":"a77b2b14.9407e8","name":"","method":"GET","ret":"bin","paytoqs":"ignore","url":"https://picsum.photos/200/300","tls":"","persist":false,"proxy":"","authType":"","x":150,"y":780,"wires":[["25d4c9fe6464b803"]]},{"id":"21d1ccee64dc4d18","type":"exec","z":"a77b2b14.9407e8","command":"ffmpeg -y -i rtsp://USERNAME:PASSWORD@IP-ADDRESS:5544/live1.264 -vframes 1 -f image2pipe -vcodec png -","addpay":false,"append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"Framegrab: Live A","x":630,"y":380,"wires":[["25d4c9fe6464b803"],[],[]]},{"id":"03745879e42b832e","type":"exec","z":"a77b2b14.9407e8","command":"ffmpeg -y -i rtsp://USERNAME:PASSWORD@IP-ADDRESS:5544/live1.264 -vframes 1 -f image2pipe -vcodec png -","addpay":false,"append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"Framegrab: CR2","x":630,"y":320,"wires":[["dbb82ce3.015fd"],[],[]]}]