Я использую последнюю версию Puppeteer с Chromium 80, и я пытаюсь записать видео со страницы в chrome без заголовка и включил все эти флаги:
{
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',
]
}
Вкл. windows, если это headless : false
захватит вкладку chrome (иногда происходит сбой). Но если это headless : true
даже на Windows, то это говорит, что это Not supported
. Если флаг --use-fake-ui-for-media-stream
включен, то это уже другая история, и он будет захватывать один из моих дисплеев независимо от того, является ли headless
истиной или ложью.
Теперь я хочу использовать это на моем linux сервере, где есть не отображается, и я просто хочу, чтобы chrome headless : true
захватил мою вкладку chrome. Я знаю, что это возможно, потому что я вижу экран в режиме headless : true
в DevTools. Если он создает отображение в DevTools, он ДОЛЖЕН иметь возможность создавать отображение на снимке экрана. Я предполагаю, что на Puppeteer должны быть включены другие флаги, так что это разрешено. Я использую navigator.mediaDevices.getDisplayMedia
для получения данных экрана.
Я также пробовал эту конфигурацию видео, и она не работала (сбой) и, очевидно, работает только с расширениями, и мне нужно получить исходный идентификатор из Справочная информация:
screenStream = await navigator.mediaDevices.getDisplayMedia({
video: {
//mandatory: {
// chromeMediaSource: 'tab', // Not using this!
//}
},
audio: false
});
Есть ли кто-нибудь, кто знает, какие флаги следует также учитывать в Кукольнике?
Обратите внимание, что я не хочу использовать xvfb и Selenium (WebDrive) или любые расширения в моем chrome безголовом.