Skip to content

Commit

Permalink
✨ feat: Capture screen and send with warp (#26)
Browse files Browse the repository at this point in the history
## Description

**What(what issue does this code solve/what feature does it add):**

**How(how does it solve it):**

## Required Checklist:

- [ ] I have added any necessary documentation and comments in my code
(where appropriate)
- [ ] I have added tests to make sure my code runs in all contexts

## Further comments
  • Loading branch information
wanjohiryan authored Apr 19, 2024
1 parent 4c6bc98 commit 408a627
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .dev/x11.sh → .dev/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,7 @@ weston --backend=wayland-backend.so

#Run
docker run --gpus all --entrypoint /bin/bash --rm -it -v $(pwd):/games -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --cap-add=SYS_NICE --cap-add=SYS_ADMIN recorder

docker run --gpus all --entrypoint /bin/bash --device=/dev/dri --rm -it -v $(pwd):/game --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/wanjohiryan/netris/server:nightly

ffmpeg -hide_banner -v quiet -stream_loop -1 -re -i /game/test.mp4 -an -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - | RUST_LOG=moq_pub=info warp --name "netris" https://fst.so:4443
8 changes: 8 additions & 0 deletions .scripts/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,13 @@ echo "Waiting for X socket"
until [ -S "/tmp/.X11-unix/X${DISPLAY/:/}" ]; do sleep 1; done
echo "X socket is ready"

if [[ -z "${NAME}" ]]; then
echo "No stream name was found, did you forget to set the env variable NAME?" && exit 1
else
/usr/bin/gpu-screen-recorder -w screen -c flv -f 60 -a "$(pactl get-default-sink).monitor" | ffmpeg -i pipe:0 -c copy -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - | /usr/bin/warp --name "${NAME}" https://fst.so:4443 &
fi
# /usr/bin/gpu-screen-recorder -w screen -c flv -f 60 -a "$(pactl get-default-sink).monitor" | ffmpeg -i pipe:0 -c copy -f mp4 -movflags empty_moov+frag_every_frame+separate_moof+omit_tfhd_offset - | /usr/bin/warp --name "bbb" https://fst.so
/usr/games/g amescope -h 720 -H 1080 -F fsr -f -- mangohud glxgears > /dev/null &

echo "Session Running. Press [Return] to exit."
read
2 changes: 2 additions & 0 deletions server.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ ENV TZ=UTC \
RUN apt-get update -y \
&& add-apt-repository -y multiverse \
&& apt-get install -y --no-install-recommends \
libxnvctrl0 \
mangohud \
gamescope \
&& setcap cap_sys_nice+ep /usr/games/gamescope \
&& rm -rf /var/lib/apt/lists/*

#Install wine
Expand Down

0 comments on commit 408a627

Please sign in to comment.