{"id":13691788,"url":"https://github.com/webrtc-sdk/libwebrtc","last_synced_at":"2025-12-12T06:33:52.159Z","repository":{"id":38084922,"uuid":"182263242","full_name":"webrtc-sdk/libwebrtc","owner":"webrtc-sdk","description":"A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).","archived":false,"fork":false,"pushed_at":"2025-04-21T12:32:50.000Z","size":1544,"stargazers_count":468,"open_issues_count":25,"forks_count":90,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-04-21T13:38:47.871Z","etag":null,"topics":["dll","so","webrtc"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webrtc-sdk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-19T12:43:23.000Z","updated_at":"2025-04-21T09:48:03.000Z","dependencies_parsed_at":"2024-11-12T17:33:53.340Z","dependency_job_id":"5a1d1e25-7a83-4260-8456-e78b456aed23","html_url":"https://github.com/webrtc-sdk/libwebrtc","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc-sdk%2Flibwebrtc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc-sdk%2Flibwebrtc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc-sdk%2Flibwebrtc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webrtc-sdk%2Flibwebrtc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webrtc-sdk","download_url":"https://codeload.github.com/webrtc-sdk/libwebrtc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252063140,"owners_count":21688655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dll","so","webrtc"],"created_at":"2024-08-02T17:00:50.444Z","updated_at":"2025-12-12T06:33:52.152Z","avatar_url":"https://github.com/webrtc-sdk.png","language":"C++","funding_links":[],"categories":["C++","Libraries"],"sub_categories":["C/C++"],"readme":"# libwebrtc-{windows,linux}-{amd64,x86,armv7,arm64}.{dll,so}\n\nWebRTC C++ wrapper\n\nA C++ binary wrapper for webrtc, mainly used for flutter-webrtc desktop (windows, linux, embedded) version release.\n\npossible supported platforms\n- [x] Windows (x86,x64)\n- [x] Linux (x86,x64)\n- [x] Embedded Linux (armv7, arm64)\n\n## Note\n\nUse the https://github.com/webrtc-sdk/webrtc.git branch m137_release to compile.\n\n## Usage\n\n### Create checkout dir\n\n```bash\nmkdir libwebrtc_build\ncd libwebrtc_build\n```\n\n### Create .gclient\n\n```bash\nsolutions = [\n  {\n    \"name\"        : 'src',\n    \"url\"         : 'https://github.com/webrtc-sdk/webrtc.git@m137_release',\n    \"deps_file\"   : 'DEPS',\n    \"managed\"     : False,\n    \"custom_deps\" : {\n    },\n    \"custom_vars\": {},\n  },\n]\ntarget_os  = ['win']\n```\n\n### Synchronize source code\n\n```bash\ngclient sync\n```\n\n### Compile steps for libwebrtc\n\nConfirm that it is currently in the `src`.\n\n```bash\ngit clone https://github.com/webrtc-sdk/libwebrtc\n```\n\n### Apply audio custom source patch for m137_release.\n\n```bash\ngit apply libwebrtc/patchs/custom_audio_source_m137.patch \n```\n\n### Modify webrtc's src/BUILD.gn file and add libwebrtc to group(\"default\").\n\n```patch\ndiff --git a/BUILD.gn b/BUILD.gn\nindex e60d7dd0bd..b9b6acab8b 100644\n--- a/BUILD.gn\n+++ b/BUILD.gn\n@@ -29,7 +29,7 @@ if (!build_with_chromium) {\n   # 'ninja default' and then 'ninja all', the second build should do no work.\n   group(\"default\") {\n     testonly = true\n-    deps = [ \":webrtc\" ]\n+    deps = [ \":webrtc\",\"//libwebrtc\", ]\n     if (rtc_build_examples) {\n       deps += [ \"examples\" ]\n     }\n```\n\n## for Windows\n\nDownload and install the Visual Studio Community 2022\n\n### GN\nfor windows only\n```bash\nset DEPOT_TOOLS_WIN_TOOLCHAIN=0\nset GYP_MSVS_VERSION=2022\nset GYP_GENERATORS=ninja,msvs-ninja\nset GYP_MSVS_OVERRIDE_PATH=C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\Community\ncd src\ngn gen out-debug/Windows-x64 --args=\"target_os=\\\"win\\\" target_cpu=\\\"x64\\\" is_component_build=false is_clang=true is_debug=true rtc_use_h264=true ffmpeg_branding=\\\"Chrome\\\" rtc_include_tests=false rtc_build_examples=false libwebrtc_desktop_capture=true\" --ide=vs2022\n```\n\n### Compile for windows\n\n```bash\nninja -C out-debug/Windows-x64 libwebrtc\n```\n\n## for Linux\nyou need back to step `Create .gclient`, and change `target_os  = ['win']` to `target_os  = ['linux']`, then run `gclient sync`\n```bash\nexport ARCH=x64 # x86, x64, arm, arm64\ngn gen out-debug/Linux-$ARCH --args=\"target_os=\\\"linux\\\" target_cpu=\\\"$ARCH\\\" is_debug=true rtc_include_tests=false rtc_use_h264=true ffmpeg_branding=\\\"Chrome\\\" is_component_build=false use_rtti=true use_custom_libcxx=false rtc_enable_protobuf=false\"\n```\n\n### Compile for Linux\n\n```bash\nninja -C out-debug/Linux-x64 libwebrtc\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrtc-sdk%2Flibwebrtc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebrtc-sdk%2Flibwebrtc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebrtc-sdk%2Flibwebrtc/lists"}