https://github.com/agoraio-extensions/electron-sdk
Electron wrapper around the Agora RTC SDKs for Windows/macOS
https://github.com/agoraio-extensions/electron-sdk
agora electron macos rtc typescript video webpack windows
Last synced: 19 days ago
JSON representation
Electron wrapper around the Agora RTC SDKs for Windows/macOS
- Host: GitHub
- URL: https://github.com/agoraio-extensions/electron-sdk
- Owner: AgoraIO-Extensions
- License: mit
- Created: 2018-04-12T12:50:12.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2026-04-03T12:30:32.000Z (23 days ago)
- Last Synced: 2026-04-03T13:49:57.429Z (23 days ago)
- Topics: agora, electron, macos, rtc, typescript, video, webpack, windows
- Language: TypeScript
- Size: 35.7 MB
- Stars: 156
- Watchers: 44
- Forks: 72
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
> ⚠️ **Note**: To provide you with better and higher quality technical support services, we will no longer provide technical support through GitHub issues. If you need help, please contact us directly through [Agora Support](https://www.agora.io/en/customer-support/).
> NOTE: These sdk and samples only for the Agora Video 4.x APIs. For examples using previous releases please see the following branches:
>
> - [3.x](https://github.com/AgoraIO-Extensions/Electron-SDK/tree/3.x)
# Agora RTC SDK for Electron
## ✨ Features
- 📦 Newly designed middle-tier API and Native C++ SDK.
- 🛡 Written in TypeScript with predictable static types.
## 🖥 Environment Support
- 🌈 Support macOS x86-64 and arm64 ([Electron 11+](https://www.electronjs.org/zh/blog/apple-silicon))
- ⚙️ Support Windows ia32 and x64
- [Electron](https://www.electronjs.org/): 4.x ~ latest
| [
]()
macOS | [
]()
Windows | [
](http://godban.github.io/browsers-support-badges/)
Electron |
| ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x86 \| arm64 | ia32 \| x64 | 4.0.0 ~ Latest |
## 📦 Install
In newest version you can define installation configuration in package.json (or .npmrc, while package.json has a higher
priority), usually you can just provide "prebuilt", and "arch".
```json
// package.json
{
...
"agora_electron": {
"prebuilt": true,
"arch": "x64"
}
...
}
// .npmrc
agora_electron_sdk_pre_built=true // defalut value is true
agora_electron_sdk_arch=x64 // only support windows:
```
Properties detail:
- **prebuilt** whether to automatically download prebuilt NodeJS C++ Addon or build locally(which need to provide
development env)
- **arch**: If not set, the script will automatically choose the arch. **only support windows**
- **platform** darwin or win32
```bash
## Automatic platform and architecture selection
npm install agora-electron-sdk
```
or
```bash
## or select 32 bit architecture on Windows
npm install --agora_electron_sdk_arch=ia32
## or select 64 bit architecture on Windows
npm install --agora_electron_sdk_arch=x64
```
## 🔨 Usage
```javascript
import createAgoraRtcEngine from 'agora-electron-sdk';
const rtcEngine = createAgoraRtcEngine();
rtcEngine.initialize({ appId: '' });
```
### When using without electron-webpack
When using directly within a web electron project with custom webpack configuration, you may see errors when compiling.
It's because you have not properly configured loader for node addon. A convenient way to skip the compile process is to
set `externals` property of your webpack config to `{"agora-electron-sdk": "commonjs2 agora-electron-sdk"}`
## 🔗 Links
- [Document](https://docs.agora.io/en/video-call-4.x/API%20Reference/electron_ng/API/rtc_api_overview_ng.html) - Official document
- [Demo](./example/) - A quick start demo based on React and this repo
- [Changelog](./CHANGELOG.md) - Attention to newest information
- [Release Notes](https://docs.agora.io/en/video-call-4.x/release_electron_ng?platform=Electron) - Attention to newest
information
## ⌨️ Development
### Build From Source Code
You will need to build **Agora RTC Electron SDK** from source if you want to work on a new feature/bug fix, try out the
latest features which are not released yet, or maintain your own fork with patches that cannot be merged to the core.
### Prerequisites
#### Windows
- Python 2.7
- Visual Studio Code C++ Desktop Develop Framework
#### MacOS
- Python 2.7
- XCode
### Clone locally:
```bash
$ git clone git@github.com:AgoraIO-Extensions/Electron-SDK.git
$ cd Electron-SDK
$ npm install #or yarn
# build macOS
$ npm install --agora_electron_sdk_pre_built=false
# build 32 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false --agora_electron_sdk_arch=ia32
# build 64 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false --agora_electron_sdk_arch=x64
```
## 🤝 Contributing [](https://github.com/AgoraIO-Extensions/Electron-SDK/pulls)
Read our contributing guide and let's build a better antd together. :)
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request