【发布时间】:2017-03-26 09:48:28
【问题描述】:
我的问题是,当我尝试将一系列 jpeg 转换为 webm 视频时。我要么得到一个带有单帧的 webm 文件,要么得到一个没有任何内容的 webm 文件 (0 kb)。
var fs = require('fs');
var path = require('path');
var outStream = fs.createWriteStream(__dirname+'/output.webm');
var ffmpeg = require('fluent-ffmpeg');
这是一个 mjpeg 流 URL。它会生成一个没有任何内容的文件。
//var proc = new ffmpeg({source:'http://xxx.xxx.xxx.xxx/goform/stream?cmd=get&channel=0',timeout:0})
这是一个快照 URL。它会生成一个单帧文件。
var proc = new ffmpeg({source:'http://xxx.xxx.xxx.xxx/snapshot/view0.jpg',timeout:0})
.fromFormat('mjpeg')
.size('2048x1536')
.toFormat('webm')
.withVideoBitrate('800k')
.withFps(20)
我尝试用管道代替但没有骰子:(
//.pipe(outStream,{end:false});
.writeToStream(outStream,{end:false})
感谢任何帮助。
在这一点上,我准备使用带有 exec 的基本 shell 命令,但是当我尝试这样做时,我也会得到错误。是的,不用说我是菜鸟。
旁注:
我尝试过 zoneminder 之类的东西,但它与我们的摄像头和摄像头数量无关。所以我正在制作一个简单的解决方案来记录它们。使用我们当前的云服务,我们错过了非常重要的时刻,并且在能源和时间上的成本更高。
【问题讨论】:
标签: node.js ffmpeg jpeg mjpeg webm