Issues with Mediasoup Broadcast

Hi,

We have configured the mediasoup for normal video/audio calls and its working fine, We need to configure the Broadcasting layer, have gone through the docs for the mediasoup-broadcaster-demo but that’s facing compilation issue, then I checked mediasoup demo, it also covered the broadcasting layer via creating APIs, checked that too, facing some error. Also, I have tried in both Mac & Ubuntu

Mediasoup Broadcaster Demo - Compilation issues

  1. Mac OS - Ventura (13.0 (22A380))
    Followed steps for building the project, Link: mediasoup :: Installation
$ cd /home/foo/src
$ mkdir webrtc-checkout
$ cd webrtc-checkout
$ fetch --nohooks webrtc
$ gclient sync
$ cd src
$ git checkout -b m120 refs/remotes/branch-heads/6099
$ gclient sync
$ ninja -C out/m120

Ninja command does not work but other steps are working fine, resulting in not having out folder for DLIBWEBRTC_BINARY_PATH variable

  1. Tried with Ubuntu 20.04.6 LTS
  • gclient sync returns error

Logs:
`

bird@bird-Lenovo-ideapad-310-15IKB:/usr/data/Projects/Bitovn/Mediasoup-broadcast$  gclient sync

src/base (ERROR)
----------------------------------------
[0:00:00] Started.
----------------------------------------
Traceback (most recent call last):
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/metrics.py", line 302, in print_notice_and_exit
    yield
  File "//usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient.py", line 4638, in <module>
    sys.exit(main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^
  File "//usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient.py", line 4624, in main
    return dispatcher.execute(OptionParser(), argv)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/subcommand.py", line 254, in execute
    return command(parser, args[1:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "//usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient.py", line 3977, in CMDsync
    ret = client.RunOnDeps('update', args)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "//usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient.py", line 2436, in RunOnDeps
    work_queue.flush(revision_overrides,
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_utils.py", line 1026, in flush
    reraise(e[0], e[1], e[2])
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_utils.py", line 53, in reraise
    raise value
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_utils.py", line 1105, in run
    self.item.run(*self.args, **self.kwargs)
  File "//usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient.py", line 1251, in run
    self._got_revision = self._used_scm.RunCommand(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_scm.py", line 137, in RunCommand
    return getattr(self, command)(options, args, file_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_scm.py", line 664, in wrapper
    return_val = f(*args)
                 ^^^^^^^^
  File "/usr/data/Projects/Bitovn/Mediasoup-broadcast/depot_tools/gclient_scm.py", line 866, in update
    strp_current_url = current_url[:-4] if current_url.endswith(
                                           ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'endswith'

Then I tried with the current Mediasoup demo, seems like that also cover broadcasting layer. (Please confirm, whether the mediasoup demo is fine or if we need to go through the compilation procedure mentioned above. It’s not clear)

Issues with Mediasoup demo
Now, after running sample, the roomId

I run the following APIs

Attaching the Postman collection as well, for checking the body parameters, Link: Mediasoup - Google Drive

Please help & let me know if I am doing something wrong, thanks for the great library

Rechecked the code for Mediasoup Demo, using only consumer solved this issue for Broadcasting