Closed cloudwebrtc closed 1 week ago
I don't have weBRTC experience I don't know the webrTC source code either.
But I have a experience with libgit2, github action file is: https://github.com/huang12zheng/libgit2/blob/main/.github/workflows/release.yml
I'll also take a look at WebRTC, but there might be a lot of blocking
question I find that there is existing a action in github https://github.com/shiguredo-webrtc-build/webrtc-build/blob/master/.github/workflows/build.yml so, why we need to rework?
https://github.com/huang12zheng/webrtc-action make a patch with shiguredo https://github.com/huang12zheng/webrtc-build a fork from shiguredo
result: https://github.com/huang12zheng/webrtc-action/actions/runs/1652931081
@huang12zheng Yes, Shiguredo’s compilation script is a good example, but this repo has added a lot of custom patches. Unlike Shiguredo, we need to compile the dynamic link library to ensure that the minimum binary size native SDK is provided to flutter-webrtc.
Here is the compilation command currently in use, I think just move it to GitHub actions to achieve a similar effect. https://github.com/webrtc-sdk/webrtc-build/blob/main/docs/build.md
Hey @huang12zheng, If you are interested in this, I will be very happy to accept PR to resolve this issue.
Currently, we need to compile libwebrtc.aar
for Android:
Include
armeabi-v7a
arm64-v8a
x86_64
x86
Darwin platform include
iOS armv7
iOS arm64
iOS x64 simulator
iOS arm64 simulator
macOS x64
macOS arm64
Combine all the above platforms into WebRTC.xframework
and compress them into WebRTC.xcframework.zip
Windows/Linux/ARM Linux:
You need to clone https://github.com/webrtc-sdk/libwebrtc to the source directory during compilation and generate it. The dynamic link library of libwebrtc.{so,dll}
.
Thank you for your reply. I am trying @cloudwebrtc
I am indeed very sorry that I I give up going on. I feel awful about it and want show something.
In ci-demo I want to build without using run.py.
However, it too big for image, which can’t pull again(would get 503 error). So, I can't reuse it. I must just build and run rightnow. it is the same with Shiguredo. That's reason one.
It can’t work simple. Action would run build in place if I had downloaded from source, but script need some debug. It might just need to modify these scripts. But I am sorry for that I don't have the time or the ability to do that.
I also do patch for Shiguredo’s example. Patch’s info is as follow:
Finally, I apologize for some reason above. I don't want to do it for a while.
Hey @huang12zheng, don't worry, I will find a solution, thank you again for your hard work.
The local compilation is a repetitive and boring thing. These should be handed over to CI. When we create a release tag, we compile it into a binary package available for all platforms, which can avoid the security risks caused by uploading binary files locally.
But this task is not simple. If you have any experience in compiling webrtc source code with GitHub actions, please help me