代码拉取完成,页面将自动刷新
// jshint esversion: 6, globalstrict: true, strict: true
'use strict';
var fs = require('fs');
var P2J = require('pipe2jpeg');
var spawn = require('child_process').spawn;
var jpegCounter = 0;
var params = [
/* log info to console */
'-loglevel',
'quiet',
/* use an artificial video input */
'-f',
'avfoundation',
'-video_size',
//'1024x768',
'3264x2448',
'-framerate',
'20',
//'15',
'-video_device_index',
'2',
'-i',
'Doccamera',
/* set output flags */
'-an',
'-c:v',
'mjpeg',
'-pix_fmt',
'yuvj422p',
'-f',
'image2pipe',//image2pipe, singlejpeg, mjpeg, or mpjpeg
'-q',
'2',
'-t',
'5',
'-r',
'20',
'pipe:1'
];
var p2j = new P2J();
p2j.on('jpeg', (jpeg) => {
console.log('received jpeg', ++jpegCounter);
var fpath = 'c' + jpegCounter + '.jpeg';
fs.writeFile(fpath, jpeg, function(err){
if (err) {
return console.log(err);
}
console.log('saved.');
})
});
const ffmpeg = spawn('ffmpeg', params, {stdio : ['ignore', 'pipe', 'ignore']});
ffmpeg.on('error', (error) => {
console.log(error);
});
ffmpeg.on('exit', (code, signal) => {
console.log('exit', code, signal);
});
ffmpeg.stdout.pipe(p2j);
const convert_preivew = spawn('ffmpeg', params, {stdio : ['ignore', 'pipe', 'ignore']});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。