https://github.com/obsproject/obs-studio/commit/851a8c216e14617fb523951839f3bdb240e85141 Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. {{ message }} obsproject / obs-studio Public * * Notifications * Fork 6.9k * Star 48.1k * Code * Issues 379 * Pull requests 228 * Discussions * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights Commit Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Browse files Browse the repository at this point in the history obs-webrtc: Add WHIP output & service This adds a WHIP output & associated service. - Code inspiration from DDRBoxman - Implemented by Sean DuBois & tt2468 - Various fixes and contributions by pkv. Co-authored-by: tt2468 Co-authored-by: DDRBoxman Co-authored-by: pkv Signed-off-by: pkv * Loading branch information @Sean-Der @tt2468 @DDRBoxman @pkviet 4 people committed Jun 10, 2023 1 parent ed577a0 commit 851a8c2 Show file tree Hide file tree Showing 12 changed files with 843 additions and 0 deletions. Split Unified [ ] * CI/linux + CI/linux/02_build_obs.sh 02_build_obs.sh * plugins + plugins/CMakeLists.txt CMakeLists.txt + obs-webrtc o plugins/obs-webrtc/CMakeLists.txt CMakeLists.txt o cmake # plugins/obs-webrtc/cmake/legacy.cmake legacy.cmake # macos @ plugins/obs-webrtc/cmake/macos/Info.plist.in Info.plist.in # windows @ plugins/obs-webrtc/cmake/windows/obs-module.rc.in obs-module.rc.in o data/locale # plugins/obs-webrtc/data/locale/en-US.ini en-US.ini o plugins/obs-webrtc/obs-webrtc.cpp obs-webrtc.cpp o plugins/obs-webrtc/whip-output.cpp whip-output.cpp o plugins/obs-webrtc/whip-output.h whip-output.h o plugins/obs-webrtc/whip-service.cpp whip-service.cpp o plugins/obs-webrtc/whip-service.h whip-service.h There are no files selected for viewing 1 change: 1 addition & 0 deletions 1 CI/linux/02_build_obs.sh [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original file line Diff line Diff line change number number Expand Up @@ -59,6 +59,7 @@ _configure_obs() { -DLINUX_PORTABLE=${PORTABLE_BUILD :-OFF} \ -DENABLE_AJA=OFF \ -DENABLE_NEW_MPEGTS_OUTPUT=OFF \ -DENABLE_WEBRTC=OFF \ ${PIPEWIRE_OPTION} \ ${YOUTUBE_OPTIONS} \ ${TWITCH_OPTIONS} \ Expand Down 2 changes: 2 additions & 0 deletions 2 plugins/CMakeLists.txt [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original file Diff line Diff line change line number number Expand Up @@ -76,6 +76,7 @@ if(OBS_CMAKE_VERSION VERSION_GREATER_EQUAL 3.0.0) OR OS_LINUX) add_subdirectory(obs-vst) endif() add_subdirectory(obs-webrtc) check_obs_websocket() add_subdirectory(obs-x264) add_subdirectory(rtmp-services) Expand Down Expand Up @@ -191,3 +192,4 @@ add_subdirectory (obs-transitions) add_subdirectory(rtmp-services) add_subdirectory(text-freetype2) add_subdirectory(aja) add_subdirectory(obs-webrtc) 21 changes: 21 additions & 0 deletions 21 plugins/obs-webrtc/ CMakeLists.txt [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original Diff file line line Diff line change number number @@ -0,0 +1,21 @@ cmake_minimum_required(VERSION 3.16...3.25) legacy_check() option(ENABLE_WEBRTC "Enable WebRTC Output support" ON) if(NOT ENABLE_WEBRTC) message(STATUS "OBS: DISABLED obs-webrtc") return() endif() find_package(LibDataChannel REQUIRED) find_package(CURL REQUIRED) add_library(obs-webrtc MODULE) add_library(OBS::webrtc ALIAS obs-webrtc) target_sources(obs-webrtc PRIVATE obs-webrtc.cpp whip-output.cpp whip-output.h whip-service.cpp whip-service.h) target_link_libraries(obs-webrtc PRIVATE OBS::libobs LibDataChannel::LibDataChannel CURL::libcurl) set_target_properties_obs(obs-webrtc PROPERTIES FOLDER plugins PREFIX "") 21 changes: 21 additions & 0 deletions 21 plugins/obs-webrtc/cmake/ legacy.cmake [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original Diff file line line Diff line change number number @@ -0,0 +1,21 @@ project(obs-webrtc) option(ENABLE_WEBRTC "Enable WebRTC Output support" ON) if(NOT ENABLE_WEBRTC) obs_status(DISABLED, "obs-webrtc") return() endif() find_package(LibDataChannel REQUIRED) find_package(CURL REQUIRED) add_library(obs-webrtc MODULE) add_library(OBS::webrtc ALIAS obs-webrtc) target_sources(obs-webrtc PRIVATE obs-webrtc.cpp whip-output.cpp whip-output.h whip-service.cpp whip-service.h) target_link_libraries(obs-webrtc PRIVATE OBS::libobs LibDataChannel::LibDataChannel CURL::libcurl) set_target_properties(obs-webrtc PROPERTIES FOLDER "plugins") setup_plugin_target(obs-webrtc) 28 changes: 28 additions & 0 deletions 28 plugins/obs-webrtc/cmake/ macos/Info.plist.in [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original Diff file line line Diff line change number number @@ -0,0 +1,28 @@ CFBundleName obs-webrtc CFBundleIdentifier com.obsproject.obs-webrtc CFBundleVersion ${MACOSX_BUNDLE_BUNDLE_VERSION} CFBundleShortVersionString ${MACOSX_BUNDLE_SHORT_VERSION_STRING} CFBundleInfoDictionaryVersion 6.0 CFBundleExecutable obs-webrtc CFBundlePackageType BNDL CFBundleSupportedPlatforms MacOSX LSMinimumSystemVersion ${CMAKE_OSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright (c) 2012-${CURRENT_YEAR} Hugh Bailey 24 changes: 24 additions & 0 deletions 24 plugins/obs-webrtc/cmake/ windows/obs-module.rc.in [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original file Diff line Diff line change line number number @@ -0,0 +1,24 @@ 1 VERSIONINFO FILEVERSION ${OBS_VERSION_MAJOR},$ {OBS_VERSION_MINOR},${OBS_VERSION_PATCH},0 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904B0" BEGIN VALUE "CompanyName", "${OBS_COMPANY_NAME}" VALUE "FileDescription", "OBS output module" VALUE "FileVersion", "$ {OBS_VERSION_CANONICAL}" VALUE "ProductName", "${OBS_PRODUCT_NAME}" VALUE "ProductVersion", "$ {OBS_VERSION_CANONICAL}" VALUE "Comments", "${OBS_COMMENTS}" VALUE "LegalCopyright", "$ {OBS_LEGAL_COPYRIGHT}" VALUE "InternalName", "obs-webrtc" VALUE "OriginalFilename", "obs-webrtc" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x0409, 0x04B0 END END 3 changes: 3 additions & 0 deletions 3 plugins/obs-webrtc/data/locale /en-US.ini [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original file line Diff line Diff line change number number @@ -0,0 +1,3 @@ Output.Name="WHIP Output" Service.Name="WHIP Service" Service.BearerToken="Bearer Token" 19 changes: 19 additions & 0 deletions 19 plugins/obs-webrtc/ obs-webrtc.cpp [*] Show comments View file Edit file Delete file This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Original file line Diff line Diff line change number number @@ -0,0 +1,19 @@ #include #include "whip-output.h" #include "whip-service.h" OBS_DECLARE_MODULE() OBS_MODULE_USE_DEFAULT_LOCALE(" obs-webrtc", "en-US") MODULE_EXPORT const char *obs_module_description(void) { return "OBS WebRTC module"; } bool obs_module_load() { register_whip_output(); register_whip_service(); return true; } Oops, something went wrong. Retry Toggle all file notes Toggle all file annotations 0 comments on commit 851a8c2 Please sign in to comment. Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.