versatica / mediasoup-broadcaster-demo

mediasoup broadcaster demo (libmediasoupclient)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mediasoup broadcaster demo (libmediasoupclient v3)

libmediasoupclient based application that produces artificial sound and video to the specified room in mediasoup-demo application. The video consists of some colored rectangles moving towards the lower-right corner of the image. Credit for the artificial media creation goes to the WEBRTC team (LICENSE).

Resources

Usage

Once installed (see Installation below):

SERVER_URL=https://my.mediasoup-demo.org:4443 ROOM_ID=broadcaster build/broadcaster

Environment variables:

  • SERVER_URL: The URL of the mediasoup-demo HTTP API server (required).
  • ROOM_ID: Room id (required).
  • USE_SIMULCAST: If "false" no simulcast will be used (defaults to "true").
  • ENABLE_AUDIO: If "false" no audio Producer is created (defaults to "true").
  • WEBRTC_DEBUG: Enable libwebrtc logging. Can be "info", "warn" or "error" (optional).
  • VERIFY_SSL: Verifies server side SSL certificate (defaults to "true") (optional).

Dependencies

  • libmediasoupclient (already included in the repository)
  • cpr (already included in the repository)
  • OpenSSL (must be installed in the system including its headers)

Installation

git clone https://github.com/versatica/mediasoup-broadcaster-demo.git

cmake . -Bbuild                                              \
  -DLIBWEBRTC_INCLUDE_PATH:PATH=${PATH_TO_LIBWEBRTC_SOURCES} \
  -DLIBWEBRTC_BINARY_PATH:PATH=${PATH_TO_LIBWEBRTC_BINARY}   \
  -DOPENSSL_INCLUDE_DIR:PATH=${PATH_TO_OPENSSL_HEADERS}      \
  -DCMAKE_USE_OPENSSL=ON

make -C build

Linkage Considerations (1)

[ 65%] Linking C shared library ../../../../lib/libcurl.dylib ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libcurl.dylib] Error 1 make[1]: *** [cpr/opt/curl/lib/CMakeFiles/libcurl.dir/all] Error 2
make: *** [all] Error 2

The following error may happen if the linker is not able to find the openssl crypto library. In order to avoid this error, specify the crypto library path along with the openssl root directory using the OPENSSL_CRYPTO_LIBRARY flag. Ie:

-DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl@1.1/1.1.1h \
-DOPENSSL_CRYPTO_LIBRARY=/usr/local/Cellar/openssl@1.1/1.1.1h/lib/libcrypto.1.1.dylib

License

Some files contain specific license agreements, written in the beginning of the respective files.

NOTE 1: PATH_TO_OPENSSL_HEADERS is /usr/local/opt/openssl/include if you install OpenSSL using Homebrew in OSX.

About

mediasoup broadcaster demo (libmediasoupclient)


Languages

Language:C++ 87.3%Language:CMake 8.1%Language:Shell 4.6%