PeerCalls или связь куда хочу туда звоню и стримлю

FussesDemon

Администратор
Администратор
9 Фев 2005
6.435
693
113
www.unifree.ru
Интересное открытое решения на webrtc https://github.com/peer-calls/peer-calls
За много времени есть вполне готовое решение видео конференции и расшаркиванием рабочего стола, стрима

Мне зашло на ура ! Прям респект уважуха разработчикам
 

FussesDemon

Администратор
Администратор
9 Фев 2005
6.435
693
113
www.unifree.ru
Через год произошло переосмысление, а так же найдено новое решение превосходящие https://github.com/peer-calls/peer-calls
peer-calls нету развития проекта и вскоре он умрет Новое решение выполнено так же webrtc p2p https://github.com/miroslavpejic85/mirotalk прогрессивное решение и довольно крупный проект
Удивился такое эффективное решение бесплатное Просто дают пользоваться и развивать совместно проект за пожертвования
Протестировать можно на https://peercalls.com
Вышло круто

1707843668383.png1707843710093.png1707843740038.png
 

FussesDemon

Администратор
Администратор
9 Фев 2005
6.435
693
113
www.unifree.ru
Дополнительный выпуск сервера SFU https://github.com/miroslavpejic85/mirotalksfu
SFU отличается от p2p что есть дополнительная серверная часть


Дополнительные материалы информации описания
JavaScript:
document
  .getElementById("startConferenceButton")
  .addEventListener("click", function () {
    window.open("videoConference.html", "_blank");
    // toggleMiroTalk();
  });

function toggleMiroTalk() {
    const mirotalkIframe = document.getElementById('mirotalkIframe');
    mirotalkIframe.style.display = (mirotalkIframe.style.display === 'none' || mirotalkIframe.style.display === '') ? 'block' : 'none';
}
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['startConferenceButton'])) {
  echo '<script> window.open("videoConference.html", "_blank"); </script>';
  // echo '<script> toggleMiroTalk(); </script>';
}
}
HTML:
<!-- videoConference.html -->
<!doctype html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>

  <body>
    <!-- HTML container for the video conference -->
    <iframe
      id="mirotalkIframe"
      allow="camera; microphone; display-capture; fullscreen; clipboard-read; clipboard-write; autoplay"
      src="https://sfu.mirotalk.com/newroom"
      style="height: 100vh; width: 100vw; border: 0px;"
    ></iframe>
  </body>

  <!--
    The iframe 'src' attribute can be any of:
      - https://sfu.mirotalk.com
      - https://p2p.mirotalk.com
      - https://c2c.mirotalk.com
      - https://bro.mirotalk.com
      - https://webrtc.mirotalk.com
      - ...
    -->


<!-- Button for Javascript -->

<button id="startConferenceButton">Start Video Conference></button>

<!-- Button for PHP-->

<form method="post">
  <button type="submit" name="startConferenceButton" id="startConferenceButton">
    Start Conference>
  </button>
</form>
</html>
webrtc-arch.png

p2p.png

sfu.png