简介
node-red-contrib-media-tags
是一个使用了 ffmpeg
库的 npm包,可用于对多媒体文件进行元数据(如媒体类型、作者、标题、日期等)添加、修改、查询等操作。并且,它与 Node-RED 工具紧密结合,为前端开发者提供了更加友好、易用的接口。
使用说明
安装
首先,你需要安装 Node-RED 工具。在此不进行介绍,这个应该大家都知道怎么安装。
在 Node-RED 的工作目录下,打开终端窗口,输入下方的命令进行安装:
npm install node-red-contrib-media-tags
如果命令执行过程中出现错误,可以考虑使用管理员权限安装:
sudo npm install node-red-contrib-media-tags -g
导入 Node-RED 节点
启动 Node-RED 工具,进入控制台页面。在页面左侧的导航条中,找到“节点”(Nodes)菜单,点击“导入”(Import)按钮,并选择下载好的 npm 包,进行导入。
操作
节点介绍
导入成功后,你会在节点菜单中看到一个名为 media-tags
的节点。下面我给大家讲讲这个节点的用途与操作方法
这个节点有两个输入端口和两个输出端口。 其中,输入端口分别为 "file" 和 "meta"。输出端口分别为 "media" 和 "error"。
file:这里输入要进行元数据操作的媒体文件。 meta:这里输入要进行的操作类型以及相应的值,例如,可以指定添加标题、作者、日期等。 media:节点完成操作后,会将结果通过这个端口输出。输出格式为 JSON 对象,你可以对其进行需要的解析操作。
同时,如果出现错误,会通过 error 端口输出错误信息。
示例
我们通过一个添加元数据的例子,来演示一下 Node-RED 是如何通过使用 node-red-contrib-media-tags
包来实现该操作。
- 启动 Node-RED 工具,导入
node-red-contrib-media-tags
包。 - 在 Node-RED 导航菜单条中找到“输入”(Input)节点,将其拖到画布中,并命名为 "file"。
- 同样,从节点工具箱中拖入“输入”节点,将其命名为 "meta"。
- 在画布上,将“输入”节点 “file” 与“输入”节点 “meta” 通过连线相连。
- 再次从节点工具箱中拖入“media-tags”节点,并将其命名为 "media tags",将它的输出端口与“输入”节点 “file” 连接。
- 最后,给“输入”节点 “meta” 配置操作类型和对应的值,例如添加标题 “title”, 内容为 “this is a test”。
示例代码如下:
[{"id":"215ad54f.746e9c","type":"inject","z":"eba47895.e84b6","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":240,"wires":[["7edffeef.27f824"]]},{"id":"7edffeef.27f824","type":"http request","z":"eba47895.e84b6","name":"","method":"GET","ret":"bin","paytoqs":false,"url":"https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4","tls":"","persist":false,"proxy":"","authType":"","x":300,"y":240,"wires":[["e7d0485d.2215a8"]]},{"id":"e7d0485d.2215a8","type":"file","z":"eba47895.e84b6","name":"","filename":"/Users/example/Learning/sample-test.mp4","appendNewline":true,"createDir":false,"overwriteFile":"false","encoding":"none","x":500,"y":240,"wires":[["fa5b5b92.75a5f"]]},{"id":"fa5b5b92.75a5f","type":"media-tags","z":"eba47895.e84b6","name":"Add Title","x":700,"y":240,"wires":[["420b8508.85dd58","3f148c6b.e729d"]]},{"id":"420b8508.85dd58","type":"debug","z":"eba47895.e84b6","name":"Media Result","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"media","targetType":"msg","statusVal":"","statusType":"auto","x":950,"y":240,"wires":[]},{"id":"3f148c6b.e729d","type":"debug","z":"eba47895.e84b6","name":"Media Error","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"error","targetType":"msg","statusVal":"","statusType":"auto","x":950,"y":320,"wires":[]}]
总结
通过这篇文章,你应该可以基本掌握 npm 包 node-red-contrib-media-tags 的使用了。如果想要深入了解,建议阅读官方文档并多尝试。当然,我们平时工作当中也往往需要频繁应用到一些第三方库来帮助我们提高开发效率,要学会善于利用好这些优秀的资源。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d5681e8991b448db1c8