如何在AWS Elastic Beanstalk服务器上打开无头Chrome

问题描述

嘿,我需要一种在服务器上打开chrome的方法。运行带有视频内容的网页。运行几个功能,然后关闭镶边。我尝试使用puppeteer进行此操作,但是我无法使setExecuteablePath正常工作,因此铬不是选项,因为它不支持mp4播放。视频的播放至关重要,因为我正在捕获在后台播放视频的画布的屏幕截图。然后,我编译一个WebM文件并将其发送到FFmpeg。所有这些在客户端上都很好用,但是我们正在尝试通过运行浏览器服务器端使其更快并具有更一致的环境。该服务器正在运行Nodejs,并在Linux环境中通过AWS Elastic Beanstalk运行。

这是我当前的伪码,但是正如我所说,它无法运行可执行文件

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)