cjmdaixi / opengl-webrtc-streamer

Cloud Rendering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pixel Streaming

The proj is based on cloud rendering.(云渲染)

1 Set Up

Please make sure ffmpeg is installed first. CentOS and macos is recommended. And please note that the server file is from libdatachannel repo.

git submodule update --init --recursive
cmake -B cmake-build-debug
cd cmake-build-debug
make

before running the program, please make sure the server is set up.

cd server
python3 signaling-server.py
python3 -m http.server --bind 127.0.0.1 8080

then just run the program, and open http://127.0.0.1:8080/, and press start.

2 Funcs

Lots of work still need to be done.

  • Record OpenGL app screen and encode to H.264
  • Rtmp Streamer, which can push the H.264 raw frame in buffer to server
  • Webrtc
  • HEVC
  • Multi-thread
  • Parallel
  • Integrate with Irrlicht Game Engine.

3 Next Steps

2021.11.8

  • Use librtc(libdatachannel is the origin name) to send memory video.
  • Implement with HEVC

Please note: the repo's license is MIT, but the 3rd_party/librtc is GPL.

About

Cloud Rendering

License:MIT License


Languages

Language:C++ 85.9%Language:JavaScript 7.0%Language:Python 3.0%Language:CMake 2.2%Language:HTML 1.5%Language:GLSL 0.4%