我正在使用node.js做一个CMS站点,为了处理用户发布的视频,我决定使用亚马逊的Elastic Transcoder服务. 我已经找到了如何使用aws-sdk为node.js创建作业和转码视频,但是一个问题仍然困扰着我.
我已经找到了如何使用aws-sdk为node.js创建作业和转码视频,但是一个问题仍然困扰着我.
我的网站还处理用户发布的图片,收到帖子后,我会显示图片的预览,并等待用户查询.
我可以做到这一点,因为我在服务器(aws s3)上实际输出图片后得到通知(在回调中),然后响应用户的位置.
就像处理图片一样,我希望显示用户发布的视频的预览,但这种情况似乎不同,转码很耗时并且发生在云端
我不知道如何在工作状态发生变化时收到通知. (进度,完成,错误等我想向用户显示这些信息)
根据aws文档和手册,作业将通过aws SNS发送通知,这是否意味着我必须在创建作业后手动订阅SNS?我觉得这太复杂了.
对此有什么更好的解决方案吗?谢谢.
您应该查看 waitFor方法,您需要传递作业ID,并且可以像这样设置事件回调var params = { Id: 'STRING_VALUE' /* required */ }; elastictranscoder.waitFor('jobComplete', params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });