首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用node js通过ffmpeg从上传的视频中提取帧?

如何使用node js通过ffmpeg从上传的视频中提取帧?
EN

Stack Overflow用户
提问于 2018-08-14 13:47:39
回答 2查看 10.4K关注 0票数 2

我已经创建了应用程序,其中用户上传视频,我想从该视频提取50个图像在nodejs中使用ffmpeg,但我无法获得该文件后,上传到特定的文件夹。我正在通过multer上传视频,因为它将视频存储在指定的文件夹中,之后我使用read stream读取了该视频,但它没有提供有关该特定视频的适当信息

代码:

var express = require('express');

var app = express();

var bodyParser = require('body-parser');

var path = require('path');

var multer = require('multer');

var cfenv = require('cfenv');

var watson = require('watson-developer-cloud');

var ffmpeg = require('ffmpeg');

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({"extended": false}));

app.use(express.static(__dirname + '/public'));

var storage = multer.diskStorage({
    destination: function(req, file, callback){
        callback(null, './public/class'); // set the destination
    },
    filename: function(req, file, callback){
        callback(null, 199212+ '.avi'); // set the file name and extension
    }
});

var upload = multer({storage: storage});
 
 app.upload = upload;
 
 // get the app environment from Cloud Foundry
 var appEnv = cfenv.getAppEnv();

var VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3');

var fs = require('fs');


var visualRecognition = new VisualRecognitionV3({
  version: '2018-03-19',
  iam_apikey: 'aaIFu-fHWBXgj09eVarEQUFlIaTeH9bpgvRqHIJxu_8N'
});


app.post('/imgtable',app.upload.single('video-upl'),function(req,res){
                
    var video_file = fs.createReadStream(req.file.path);
                                    
 try {
    var process = new ffmpeg('./public/class/199212.avi');
    process.then(function (video) {
        // Video metadata
        console.log('******************************');
        console.log(video);
        // FFmpeg configuration
        console.log('*********************************');
        console.log(video.info_configuration);
    }, function (err) {
        console.log('Error: ' + err);
    });
} catch (e) {
    console.log(e.code);
    console.log(e.msg);
}

    
})

app.listen(3000);`
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51834464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档