сырой h264 для узла GIF js - PullRequest
       6

сырой h264 для узла GIF js

0 голосов
/ 02 сентября 2018

Я пытаюсь использовать библиотеку «pi-camera», которая работает и позволяет мне записывать видео в необработанном формате h264 на моем r-pi. Тем не менее, библиотека js узла "gifify" постоянно выдает мне сообщение "RangeError: Превышен максимальный размер стека вызовов". При поиске этой ошибки кажется, что это связано с многократным вызовом многих функций внутри функций или чем-то, связанным с этим. Однако мой код использует только одну функцию, которая содержит простую команду, чтобы взять видео и затем преобразовать его.

const PiCamera = require('pi-camera');
var fs = require('fs');
var gifify = require('gifify');
var path = require('path');
var sleep = require('system-sleep');
const myCamera = new PiCamera({
  mode: 'video',
  output: `/home/pi/Videos/video.h264`,
  width: 640,
  height: 480,
  time: 5000, 
  nopreview: true,
  vflip: true,
});
var input = path.join('/home/pi/Videos', 'video.h264');
var output = path.join('/home/pi/Videos', 'daily.gif');
var gif = fs.createWriteStream(output);
var options = {
  speed: 5,
  text: 'Daily Plant GIF'
  };
sleep(5000);
setInterval(vid, 10000);
function vid(){
myCamera.record()
  .then((result) => {
    console.log('success');
gifify(input, options).pipe(gif); 
  })
  .catch((error) => {
     console.log(error);
  });
}

любая информация о том, что на самом деле означает эта ошибка в этом сценарии / как ее исправить, будет принята с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 03 сентября 2018

ошибка может быть связана не только с вашим кодом, но и с библиотеками, которые вы используете.

Я вижу, что по крайней мере несколько сообщений о том, что "превышен максимальный размер стека", сообщает gifyfy открыть один: https://github.com/vvo/gifify/issues/94

Я не уверен, есть ли обходной путь в вашем случае. может быть, вам нужно попробовать разные параметры или искать другую библиотеку

...