Pepper 플래시 플러그인 사용하기

Electron은 Pepper 플래시 플러그인을 지원합니다. Electron에서 Pepper 플래시 플러그인을 사용하려면 Pepper 플래시 플러그인의 위치를 지정한 후 애플리케이션 내에서 활성화 시켜야 합니다.

플래시 플러그인 준비하기

크롬 브라우저의 chrome://plugins 페이지에 접속한 후 세부정보에서 플래시 플러그인의 위치와 버전을 찾을 수 있습니다. Electron에서 플래시 플러그인을 지원하기 위해선 이 두 가지를 복사해 와야 합니다.

Electron 스위치 추가

플러그인을 사용하려면 Electron 커맨드 라인에 --ppapi-flash-path--ppapi-flash-version 플래그를 appready 이벤트가 발생하기 전에 추가해야 합니다. 그리고 browser-windowplugins 옵션을 활성화해야 합니다.

예를 들면:

// 플래시 플러그인의 위치를 설정합니다. main.js와 위치가 같다고 가정할 때:
let pluginName
switch (process.platform) {
  case 'win32':
    pluginName = 'pepflashplayer.dll'
    break
  case 'darwin':
    pluginName = 'PepperFlashPlayer.plugin'
    break
  case 'linux':
    pluginName = 'libpepflashplayer.so'
    break
}

app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, pluginName))

// 선택적인으로 플래시 플레이어의 버전을 설정합니다. 예시로는, v17.0.0.169
app.commandLine.appendSwitch('ppapi-flash-version', '17.0.0.169')

app.on('ready', () => {
  win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      plugins: true
    }
  })
  win.loadURL(`file://${__dirname}/index.html`)
  // 이외의 코드
})

직접 플러그인을 삽입하는 대신 시스템의 Pepper Flash 플러그인을 사용할 수도 있습니다. 시스템상의 플러그인의 경로는 app.getPath('pepperFlashSystemPlugin')로 불러올 수 있습니다.

<webview> 태그를 이용하여 플러그인을 활성화

plugins 속성을 <webview> 태그에 추가합니다.

<webview src="http://www.adobe.com/software/flash/about/" plugins></webview>

문제 해결

개발자 도구의 콘솔에서 navigator.plugins를 탐색하면 Pepper 플래시 플러그인이 잘 로드되었는지를 확인할 수 있습니다. (물론 플러그인의 경로를 잘 설정하지 않으면 확인할 수 없습니다)

Pepper 플래시 플러그인의 구조는 Electron과 일치해야 합니다. Windows에서 자주 발생하는 문제는 32비트 버전의 플래시 플레이어를 64비트 버전의 Electron에서 사용하는 것입니다.

Windows에선 --ppapi-flash-path로 전달되는 경로의 분리자로 \를 사용해야 합니다. POSIX-스타일 경로는 작동하지 않을 것입니다.

RTMP 를 사용한 미디어 스트리밍같은 일부 작업의 경우 플레이어의 .swf 파일에 폭넓은 권한을 부여할 필요가 있습니다. 그러기 위한 한가지 방법은, nw-flash-trust를 사용하는 것입니다.

results matching ""

    No results matching ""