#amazon-web-services #google-chrome #puppeteer #headless
#amazon-веб-сервисы #google-chrome #кукловод #безголовый
Вопрос:
Эй, ребята, мне нужен способ открыть Chrome на сервере. Запустите веб-страницу с размещенным на ней видеоконтентом. запустите несколько функций, а затем закройте Chrome. Я попытался сделать это с помощью puppeteer, однако я не смог заставить setExecuteablePath работать, а chromium не подходит, поскольку он не поддерживает воспроизведение mp4. Абсолютно необходимо, чтобы видео могло воспроизводиться, поскольку я делаю скриншоты холста, на котором видео воспроизводится в фоновом режиме. Затем я компилирую файл WebM и отправляю его в FFmpeg. Все это отлично работает на стороне клиента, но мы пытаемся сделать это быстрее и обеспечить более согласованную среду, запустив браузер на стороне сервера. Сервер работает под управлением Nodejs и работает через AWS elastic beanstalk в среде Linux.
Вот мой текущий код puppeteer, но, как я уже сказал, ему не удается запустить исполняемый
router.get("/puppeteer", async (req, res, next) => {
const chromePath = path.join(__dirname, "../chrome/chrome.exe");
try {
const puppeteer = require("puppeteer");
console.log("chromePath", chromePath);
const browser = await puppeteer.launch({
args: ["--no-sandbox", "--disable-setuid-sandbox"],
headless: false,
defaultViewport: null,
executablePath: chromePath
});
const url = "http://localhost:3000/render/25";
const page = await browser.newPage();
await page.goto(url);
} catch (error) {
console.log(error);
}
res.send(chromePath);
});