https://github.com/sepfy/berryshare
Share PC desktop to Raspberry Pi with WebRTC
https://github.com/sepfy/berryshare
airplay chromecast raspberry-pi video webrtc
Last synced: 7 months ago
JSON representation
Share PC desktop to Raspberry Pi with WebRTC
- Host: GitHub
- URL: https://github.com/sepfy/berryshare
- Owner: sepfy
- License: mit
- Created: 2021-10-01T06:01:29.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-27T07:27:47.000Z (almost 4 years ago)
- Last Synced: 2025-03-17T08:45:41.266Z (7 months ago)
- Topics: airplay, chromecast, raspberry-pi, video, webrtc
- Language: C++
- Homepage:
- Size: 396 KB
- Stars: 49
- Watchers: 5
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BerryShare
Share your PC desktop to Raspberry Pi with WebRTC.

### Getting Started
* Install the latest version of RaspiOS image (Lite or with desktop).
* Connect monitor with HDMI cable, boot up Raspberry Pi and configure network.
* Download and copy the installation package [berry-share_\.deb](https://github.com/sepfy/BerryShare/releases) to Raspberry Pi
* Install BerryShare package
```
$ apt update
$ sudo apt install -y ./berry-share_.deb
$ sudo systemctl start berry-share
```
* Open Chrome on your PC and go to the URL https://\:30001
* It will show "Your connection is not private". Click "Advance" and "Proceed to \ (unsafe)" to skip the authorization.
* Choose "Entire Screen" and click "Share".
* Raspberry Pi will display your PC desktop!### Development
| Model | OS image |
| ---- | ---- |
| Raspberry Pi 3A+ | 2021-05-07-raspios-buster-armhf-lite.img |
* Install Git and clone the repository.
```
$ apt update
$ apt install -y git
$ git clone --recursive https://github.com/sepfy/BerryShare
```
* Install dependencies.
```
$ cd BerryShare
$ ./scripts/install-deps.sh
```
* Compile BerryShare.
```
$ mkdir cmake
$ cd cmake
$ cmake ..
$ make -j4
```
* Package to dpkg.
```
$ ./scripts/create-dpkg.sh
```### Dependencies
* [websocketpp](https://github.com/zaphoyd/websocketpp): Web service and WebRTC signaling.
* [nlohmann/json](https://github.com/nlohmann/json): Json parser.
* [spdlog](https://github.com/gabime/spdlog): Logging system.
* [pear](https://github.com/sepfy/pear): WebRTC engine.
* [media-server](https://github.com/ireader/media-server): RTP packet parser.
* [userland](https://github.com/raspberrypi/userland): Video decode and playback.
* [alsa-lib](https://github.com/michaelwu/alsa-lib): Audio decode and playback.### Known Issues
* No audio
* Only support PC, no mobile.
* Only support Chrome.
* Only entire screen, no chrome tab.