我的问题是,当我尝试将一系列jpeg转换为webm视频时。我得到一个带有单个框架的webm文件或一个没有任何内容的webm文件(0 kb)。ffmpeg jpeg stream to webm只创建一个带有1帧(快照)或空的.webm文件(mjpeg)的.webm文件
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命令,但当我尝试我只是得到错误也是。不用说,我是一个noob。
附注:
我已经尝试过类似zoneminder的事情,但它只是打破了我们的相机和相机的数量。所以我正在制作一个纯粹的骨头解决方案来记录它们。通过我们目前的云服务,我们错过了非常重要的时刻,并且耗费更多的精力和时间。