将节点视频库与缓冲区一起使用
use node-video-lib with buffer
我正在尝试使用库 node-video-lib 并获取有关在服务器上接收到的视频的信息,
但是在文档中我看到了仅使用文件系统中的文件的示例,
这是文档中的示例:
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 获取信息之前,我必须将文件(我的视频)写入我的文件系统吗?
VideoLib.MovieParser.parse
方法接受文件处理程序或缓冲区参数:
https://github.com/gkozlenko/node-video-lib#movieparser
因此您可以根据您提供的代码将 file.data
或 buffer
传递给此方法,如下所示:
app.post(route + '/upload', (req, response) => {
let file = req.files.file;
let buffer = file.data;
try {
let movie = VideoLib.MovieParser.parse(buffer);
// Work with movie
console.log('Duration:', movie.relativeDuration());
} catch (ex) {
console.error('Error:', ex);
}
});
我正在尝试使用库 node-video-lib 并获取有关在服务器上接收到的视频的信息, 但是在文档中我看到了仅使用文件系统中的文件的示例,
这是文档中的示例:
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 获取信息之前,我必须将文件(我的视频)写入我的文件系统吗?
VideoLib.MovieParser.parse
方法接受文件处理程序或缓冲区参数:
https://github.com/gkozlenko/node-video-lib#movieparser
因此您可以根据您提供的代码将 file.data
或 buffer
传递给此方法,如下所示:
app.post(route + '/upload', (req, response) => {
let file = req.files.file;
let buffer = file.data;
try {
let movie = VideoLib.MovieParser.parse(buffer);
// Work with movie
console.log('Duration:', movie.relativeDuration());
} catch (ex) {
console.error('Error:', ex);
}
});