Как открыть безголовый Chrome на сервере aws elastic beanstalk

#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);
});