【问题标题】:NodeJS + FFMPEG -sending response when FFMPEG is completedNodeJS + FFMPEG - FFMPEG 完成时发送响应
【发布时间】:2015-02-03 05:11:07
【问题描述】:

我有一个可用的 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);

【问题讨论】:

    标签: node.js ffmpeg


    【解决方案1】:

    您可以使用两种方法。第一种是每 x 秒使用 AJAX GET 请求从客户端轮询服务器。第二种方法是使用 WebSockets 并通过直接向客户端发送消息来通知客户端。

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 2015-12-22
      • 1970-01-01
      • 2016-09-28
      • 2018-09-09
      • 2017-09-09
      • 2020-02-16
      • 2020-04-26
      • 2015-05-15
      相关资源
      最近更新 更多