Node.js 使用带缓冲区的节点视频库
我试图使用图书馆获取服务器上接收到的视频信息, 但在文档中我看到了仅使用文件系统中的文件的示例 这是文档中的示例:Node.js 使用带缓冲区的节点视频库,node.js,npm,video,readfile,video-library,Node.js,Npm,Video,Readfile,Video Library,我试图使用图书馆获取服务器上接收到的视频信息, 但在文档中我看到了仅使用文件系统中的文件的示例 这是文档中的示例: const fs = require('fs'); const VideoLib = require('node-video-lib'); fs.open('/path/to/file', 'r', function(err, fd) { try { let movie = VideoLib.MovieParser.parse(fd); /
const fs = require('fs');
const VideoLib = require('node-video-lib');
fs.open('/path/to/file', 'r', function(err, fd) {
try {
let movie = VideoLib.MovieParser.parse(fd);
// Work with movie
console.log('Duration:', movie.relativeDuration());
} catch (ex) {
console.error('Error:', ex);
} finally {
fs.closeSync(fd);
}
});
我的问题:我怎样才能得到像示例一样的fd编号
fs.open('/path/to/file', 'r', function(err, fd)
从文件缓冲区
大概是这样的:
const VideoLib = require('node-video-lib');
app.post(route + '/upload', (req, response) => {
let file = req.files.file;
let buffer=file.data;
let fd=?
try {
let movie = VideoLib.MovieParser.parse(fd);
// Work with movie
console.log('Duration:', movie.relativeDuration());
} catch (ex) {
console.error('Error:', ex);
} finally {
fs.closeSync(fd);
}
});
});
在我从videoLib获取信息之前,我必须将文件-我的视频写入我的文件系统吗?方法接受文件处理程序或缓冲区参数: 因此,您可以根据提供的代码将
file.data
或buffer
传递到此方法,如下所示:
const VideoLib = require('node-video-lib');
app.post(route + '/upload', (req, response) => {
let file = req.files.file;
let buffer=file.data;
let fd=?
try {
let movie = VideoLib.MovieParser.parse(fd);
// Work with movie
console.log('Duration:', movie.relativeDuration());
} catch (ex) {
console.error('Error:', ex);
} finally {
fs.closeSync(fd);
}
});
});
app.post(路由+'/upload',(请求,响应)=>{
让file=req.files.file;
让buffer=file.data;
试一试{
让movie=VideoLib.MovieParser.parse(缓冲区);
//与电影合作
console.log('Duration:',movie.relativeDuration());
}捕获(ex){
console.error('error:',ex);
}
});