Node-red-contrib-mp4frag dev

I recently made a change to allow the node's status to be displayed, wired, both, or none. I realize that I was probably pushing too much information to the editor's status and did not allow for that info to be routed to a dashboard. Choosing "wired" or "both" will add an extra output strictly for status info. This may be useful if using the mp4frag node in a subflow and you need to display its status or route it to a ui node. You can choose "none" to completely hide any status reporting. "displayed" is the default value.

New status info includes the total duration of buffered mp4 segments and its total byte size formatted in MB. This should help the end user to be able to better understand how the settings can directly affect the overall memory usage (of course, the node's actual memory size will be larger because node.js may not immediately garbage collect the unreferenced mp4 segments).

status displayed in editor:
Screen Shot 2021-12-31 at 8.13.41 AM

status routed to ui nodes:

For users upgrading from a previous version, I finally figured out how to not raise the red triangle warning to indicate the missing property. I just simply accept undefined as a valid value and use the default value on the backend. Hackish, but it works. It seems that upgrading to a newer version does not automatically account for newly added settings and their defaults.

statusLocation: {
  value: 'displayed',
  validate: function (statusLocation) {
    return [undefined, 'displayed', 'wired', 'both', 'none'].includes(statusLocation);
  },
},

Still only available from github. I have a couple more things to work out before it will be good enough for publishing to npm.

npm install kevinGodell/node-red-contrib-mp4frag
yarn add kevinGodell/node-red-contrib-mp4frag
5 Likes