我有一个工作的NodeJS + FFMPEG应用程序。我能够上传视频文件并在服务器上进行转换。我正在使用这个NodeJS FFMPEG库
https://github.com/fluent-ffmpeg/node-fluent-ffmpeg
当作业完成时,我在服务器上收到一条消息,但是如何通知客户端?在本例中是一个简单的AIR应用程序。现在我只能听到'成功上传后的初始响应。
初始视频文件是通过http POST请求上传的。
我没有依赖项的主节点应用程序如下
var ffmpeg = require('./lib/fluent-ffmpeg');
var express = require('express'),
multer = require('multer');
var app = express();
//auto save file to uploads folder
app.use(multer({ dest: './uploads/'}))
var temp;
app.post('/', function (req, res) {
console.log(req.body); //contains the variables
console.log("req.files ="+ req.files); //contains the file references
console.log("req.files.Filedata.path ="+ req.files.Filedata.path );
temp=req.files.Filedata.path;
// make sure you set the correct path to your video file
var proc = ffmpeg('./'+temp)
// set video bitrate
.videoBitrate(1024)
// set audio codec
.audioCodec('libmp3lame')
// set output format to force
.format('avi')
// setup event handlers
.on('end', function() {
console.log('file has been converted succesfully');
})
.on('error', function(err) {
console.log('an error happened: ' + err.message);
})
// save to file
.save('./converted/converted.avi');
res.send('Thank you for uploading!');
});
app.listen(8080);
答案 0 :(得分:0)
您可以使用两种方法。第一种是每隔x秒使用AJAX GET请求从客户端轮询服务器。第二种方法是使用WebSockets并通过直接向它们发送消息来通知客户端。