https://github.com/envek/dockerized-browser-streamer
Stream video of any website (but WebRTC things works best) to RTMP endpoint. Launch it in Docker. Pray if it works.
https://github.com/envek/dockerized-browser-streamer
Last synced: 6 months ago
JSON representation
Stream video of any website (but WebRTC things works best) to RTMP endpoint. Launch it in Docker. Pray if it works.
- Host: GitHub
- URL: https://github.com/envek/dockerized-browser-streamer
- Owner: Envek
- Created: 2020-11-24T19:20:57.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-25T09:24:19.000Z (about 5 years ago)
- Last Synced: 2025-06-15T05:04:46.549Z (7 months ago)
- Language: Shell
- Size: 5.86 KB
- Stars: 26
- Watchers: 4
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Streaming websites from dockerized browser
Based on this example: https://github.com/aws-samples/amazon-chime-sdk-recording-demo
Description: https://medium.com/@afrimadonidinata/setup-online-meeting-recording-with-aws-chime-sdk-60c6e1f360c4
## How it works
1. Launches Xvfb–virtual display
2. Launches PulseAudio–audio server
3. Launches Firefox and points it into some website (specified by `MEETING_URL` environment variable)
4. Launches FFMpeg which captures video from virtual display and sound from virtual sink and streams it into RTMP endpoint (specified by `RTMP_URL` environment variable)
## Building
```sh
docker build . -t webrtc-streamer
```
## Running
```sh
docker run -it --rm \
--env "MEETING_URL=https://v3demo.mediasoup.org/?roomId=vviqj99m" \
--env "RTMP_URL=rtmp://user:pass@host.docker.internal:1935/live/testStream" \
-v $(pwd):/home/user/app \
-p 5900:5900 \
webrtc-streamer
```
## Debugging
Watch virtual framebuffer contents with VNC:
```sh
vncviewer -encodings 'copyrect tight zrle hextile' 127.0.0.1:5900
```
In Firefox you can open devtools with `Ctrl+Shift+I`, also you can open new tab with `Ctrl+T` and enter `about:webrtc` in it.