ffmpeg Image2pipe Команда застряла бесконечно при получении потока изображений из PhantomJS - PullRequest
0 голосов
/ 16 января 2019

Позвольте мне объяснить моим Кодексом, с какой проблемой я столкнулся ...

Это мой js-файл для использования с PhantomJS. Просто скажи ему открыть страницу, сделать скриншоты и сохранить их в stdout.

var page = require("webpage").create();
page.viewportSize = { width: 640, height: 480 };
page.open("http://www.goodboydigital.com/pixijs/examples/12-2/", function() {
setInterval(function() {
page.render("/dev/stdout", { format: "png" });
}, 25);
});

И это команда cmd, которую я запускаю для получения захваченных изображений в ffmpeg в командной строке Windows.

phantomjs runner.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10  -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart dragon.mp4

Эта команда успешно запускает процессы PhantomJS и ffmpeg. Но в течение некоторого времени ничего не происходит, через 15 минут выдает ошибку:

«Не удалось перераспределить буфер синтаксического анализатора»

вот и все. Я ссылался на этот код с этого сайта, на котором разработчик утверждает, что он работает https://mindthecode.com/recording-a-website-with-phantomjs-and-ffmpeg/

Пожалуйста, смотрите прикрепленное изображение для более подробного объяснения. Изображение кода

1 Ответ

0 голосов
/ 15 мая 2019

Это может быть связано с выводом процесса ffmpeg, так как он проходит через канал и после получения непрерывного буфера изображения заполняется и выдает ошибку.

Вы можете просмотреть это в хорошо организованном приложении для записи холста "Puppeteer-рекордер" на узле JS

https://github.com/clipisode/puppeteer-recorder

...