#StackBounty: #google-chrome #puppeteer #headless #google-chrome-headless #screen-capture Google Chrome Headless Error "Not suppor…

Bounty: 250

I am using Puppeteer latest version with Chromium 80 and I’m trying to record video from page in chrome headless and turned on all these flags:

{
  headless: true,
  devtools: false,
  args: [
    '--no-sandbox',
    '--allow-insecure-localhost',
    '--enable-usermedia-screen-capturing',
    '--use-fake-ui-for-media-stream', // In headless: false it will capture display rather than tab and in headless: true doesn't work
    '--auto-select-desktop-capture-source=[RECORD]', //[RECORD] is the title of my localhost page trying to screen capture
    '--remote-debugging-port=9222',
    '--window-size=1440,900',
  ],
  ignoreDefaultArgs: [
    '--mute-audio',
    '--disable-media-session-api',
  ]
}

On windows if this is headless : false it will capture the chrome tab (sometimes crashes). But if this is headless : true even on Windows it says it is Not supported.
If --use-fake-ui-for-media-stream flag is on then it is another story and it will capture one of my displays regardless of being headless true or false.

Now I want to use this on my linux server where there is no display and I just want the chrome headless : true to capture my chrome tab. I know it can do that because I can see the screen in headless : true mode in the DevTools. If it is creating a display on DevTools it MUST be able to create the display on screen capture. I suppose there must be other flags to be turned on on Puppeteer so it is allowed to do so. I am using navigator.mediaDevices.getDisplayMedia in order to get the screen data.

I also have tried this video configuration and it didn’t work (crashed) and apparently only works on extensions and I need to get source id from background:

screenStream = await navigator.mediaDevices.getDisplayMedia({
        video: {
            //mandatory: {
            //    chromeMediaSource: 'tab', // Not using this!
            //}
        },
        audio: false
});

Is there anyone that knows what flags should be also considered into the Puppeteer?

Please Note that I don’t want to use xvfb and Selenium (WebDrive) or any extensions in my chrome headless.


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.