From beb588135288f17937587895ae11162074a88902 Mon Sep 17 00:00:00 2001 From: Duncan Barnes Date: Thu, 3 Dec 2020 12:35:59 +0000 Subject: [PATCH 1/8] Create iframe.outbound-stats.html Added an example of using the iFrame API to retrieve and display outgoing viewer stats. --- examples/iframe.outbound-stats.html | 264 ++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 examples/iframe.outbound-stats.html diff --git a/examples/iframe.outbound-stats.html b/examples/iframe.outbound-stats.html new file mode 100644 index 0000000..e026684 --- /dev/null +++ b/examples/iframe.outbound-stats.html @@ -0,0 +1,264 @@ + + + + OBS.Ninja IFRAME Outgoing Stats Example + + + + + + + + + + +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+

This example will show all connections to the stream generated from this page using statistics gathered using the iFrame API.

+

Click start to generate a stream using the OBS.Ninja URL shown. If you use the example URL shown, you can click here to connect to this stream as a viewer in a new window/tab, this will then show in the table below. Expired connections will be removed after a short delay.

+
+
+
+
Audio:
+
+ + +
+
+
+
Video:
+
+ + +
+
+
+
Stats:
+
+ + +
+
+
+
Outbound Connections:
+
0
+
+
+
+
+
+ + + + + + + + + + + + + + +
LabelAddedQuality Limit ReasonResolutionPlatformEncoderUser Agent
+
+
+
+ + + + + + + From 33e79daf9ddbe20ebf09828f3c065398e5458187 Mon Sep 17 00:00:00 2001 From: Steve Seguin Date: Fri, 4 Dec 2020 05:25:28 -0500 Subject: [PATCH 2/8] Update install.md --- install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.md b/install.md index 739dceb..02b14ca 100644 --- a/install.md +++ b/install.md @@ -10,7 +10,7 @@ Those reasons are: wanting custom branding; contributing as a developer to the For a subset of those users even, they might still have better options available. -I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. +I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. (You'd need to use Cloudflare for this, fyi) For those wanting a private TURN server setup, you can load the settings for those via the URL parameters. If infrequently needing a private TURN, this is a great solution. From 9bcbebca14be239e0f774f5690ba160c59444121 Mon Sep 17 00:00:00 2001 From: Steve Seguin Date: Fri, 4 Dec 2020 05:25:56 -0500 Subject: [PATCH 3/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dec09a1..a51a580 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ MacOS users will face some challenges in using OBS 25/26, but there are workarou This repo contains software for OBS.Ninja, including the HTML landing page for its Electron Capture app offering. A sample config file and instructions for setting up a TURN server (video relay server), is also provided. You may also find the Wiki for the project in this repo, which contains added information on how to use the software. ## How to Deploy this Repo: -To use, just download and host the files on a HTTPS-enabled webserver. You may want to hide the .html extensions within your HTTP server as well, else the generated links will not work. See [here](https://github.com/steveseguin/obsninja/blob/master/install.md) for added details, although I don't really recommend it. +To use, just download and host the files on a HTTPS-enabled webserver. You may want to hide the .html extensions within your HTTP server as well, else the generated links will not work. See [here](https://github.com/steveseguin/obsninja/blob/master/install.md) for added details and alternative install options. Directions on how to deploy a TURN server are listed in the turnserver.md file. You may wish to do so, although not all use cases will not need one. Only about 10% of remote guests, those often connected via 4G LTE, will require a TURN server. While OBS.Ninja does host some TURN servers, they are quite expensive to operate and not really for private deployment use. If you are deploying your own version of OBS.Ninja, I'd ask you use your own TURN servers instead. From 0f293e4922b76192226ac7a3e1969a45e6b953ea Mon Sep 17 00:00:00 2001 From: Steve Seguin Date: Fri, 4 Dec 2020 05:29:25 -0500 Subject: [PATCH 4/8] Update install.md --- install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.md b/install.md index 02b14ca..68f53c6 100644 --- a/install.md +++ b/install.md @@ -10,7 +10,7 @@ Those reasons are: wanting custom branding; contributing as a developer to the For a subset of those users even, they might still have better options available. -I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. (You'd need to use Cloudflare for this, fyi) +I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. (Requires Cloudflare as DNS server and proxy, Flexible SSL cert on, and HTTPs always on - all free) For those wanting a private TURN server setup, you can load the settings for those via the URL parameters. If infrequently needing a private TURN, this is a great solution. From 083ec819dde62e60fb0ea7742f4dd4611c3c7284 Mon Sep 17 00:00:00 2001 From: Steve Seguin Date: Fri, 4 Dec 2020 05:45:33 -0500 Subject: [PATCH 5/8] Update install.md --- install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.md b/install.md index 68f53c6..e0b167c 100644 --- a/install.md +++ b/install.md @@ -10,7 +10,7 @@ Those reasons are: wanting custom branding; contributing as a developer to the For a subset of those users even, they might still have better options available. -I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. (Requires Cloudflare as DNS server and proxy, Flexible SSL cert on, and HTTPs always on - all free) +I offer https://rtc.ninja for those looking for a brand-free experience already. You can also point your domain to the OBS.Ninja IP address (provided on request), which will also rebrand the site automatically to match your domain name. (Requires Cloudflare as DNS server and proxy, Flexible SSL cert on, and HTTPs always on - all free.) For those wanting a private TURN server setup, you can load the settings for those via the URL parameters. If infrequently needing a private TURN, this is a great solution. From 53eb8c41f68f3b29792353bf2dd86d4f68639e20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Tron=C3=AD=C4=8Dek?= Date: Sun, 6 Dec 2020 21:28:21 +0000 Subject: [PATCH 6/8] Improve czech translation --- translations/cs.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/translations/cs.json b/translations/cs.json index 5d99834..f03000b 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -17,7 +17,7 @@ "generate-invite-link": "GENEROVAT POZVÁNKU", "here-you-can-pre-generate": "Zde můžete generovat linky do OBS i pozvánky na více použití.", "high-security-mode": "Vysoce zabezpečený mód", - "info-blob": "\n\t\t\t\t\t\t

Co je OBS.Ninja


\n\t\t\t\t\t\t
  • 100% zdarma; bez stahování; žádné osobní data; bez přihlašování
  • \n\t\t\t\t\t\t
  • Sdílejte video ze smartphonu, laptopu, počítače či svých kamarádů přímo do OBSka
  • \n\t\t\t\t\t\t
  • Používáme nejmodernější Peer-to-Peer forwarding technologii, která zaručuje bezpečnost a minimální lag
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Youtube video Demo
  • \n\t\t\t\t\t\t
  • Open-source kód je dostupný zde: https://github.com/steveseguin/obsninja
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\tZnámé problémy:
    \n\n\t\t\t\t\t\t
  • Uživatelé MacOS musí používat OBS v23 nebo pozdější pro spřávné zachyceení okna prohlížeč Chrome s OBS v25
  • \n\t\t\t\t\t\t
  • Pokud máte problémy s \"pixelací\" videa. Prosím přidejte URL parameter &codec=vp9 do OBS Linku pro nápravu.
  • \n\t

    Koukněte na sub-reddit for pomoc a návody. Jsem také na Discord a můžete mi psát na steve@seguin.email. Přeložil do CZ: Karel Vítek

    \n\t\t\t\t\t", + "info-blob": "\n\t\t\t\t\t\t

    Co je OBS.Ninja


    \n\t\t\t\t\t\t
  • 100% zdarma; bez stahování; žádné osobní data; bez přihlašování
  • \n\t\t\t\t\t\t
  • Sdílejte video ze smartphonu, laptopu, počítače od sebe či svých kamarádů přímo do OBSka
  • \n\t\t\t\t\t\t
  • Používáme nejmodernější Peer-to-Peer forwarding technologii, která zaručuje bezpečnost a minimální lag
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Youtube video Demo
  • \n\t\t\t\t\t\t
  • Open-source kód je dostupný zde: https://github.com/steveseguin/obsninja
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\tZnámé problémy:
    \n\n\t\t\t\t\t\t
  • Uživatelé MacOS musí používat OBS v23 nebo novější pro spřávné zachycení okna prohlížeč Chrome s OBS v25
  • \n\t\t\t\t\t\t
  • Pokud máte problémy s \"pixelací\" videa. Prosím přidejte URL parameter &codec=vp9 do OBS Linku pro nápravu.
  • \n\t

    Koukněte na sub-reddit pro pomoc a návody. Jsem také na Discordu a můžete mi psát na email steve@seguin.email.

    \n\t\t\t\t\t", "joining-room": "Připojujete se", "logo-header": "OBS.Ninja ", "max-resolution": "MAX rozlišení", @@ -25,12 +25,12 @@ "no-audio": "Žádné Audio", "note-share-audio": "\n\t\t\t\t\tpoznámka: Nezapomeňte zakliknout \"Sdílet audio\" v Chromu.
    (Firefox nepodporuje sdílení zvuku.)", "open-in-new-tab": "Otevřít v nové záložce", - "record": "Nahrávat", + "record": "Nahrát", "remote-control-for-obs": "Vzdálené ovládání OBS", "remote-screenshare-obs": "Vzdálené sdílení obrazovky do OBS", - "room-name": "Jméno místnost", + "room-name": "Název místnosti", "rooms-allow-for": "Místnosti umožnůjí jednoduchý skupinový chat a pokročilou správu více streamů zároveň.", - "select-audio-source": "Zvolit zdroj Audia", + "select-audio-source": "Zvolit zdroj audia", "select-audio-video": "Níže vyberte audio/video zdroj", "select-screen-to-share": "VYBRAT OBRAZOVKU KE SDÍLENÍ", "show-tips": "Zobrazit tipy..", @@ -53,14 +53,14 @@ "add-a-password-to-stream": " Přidat heslo:", "welcome-to-obs-ninja-chat": "\n\t\t\t\t\tVítejte na OBS.Ninja! můžete ihned poslat zprávy ostatním členům této místnosti\n\t\t\t\t", "names-and-labels-coming-soon": "\n\t\t\t\t\tJména členů bude jedna z budoucích funkcí OBS.ninja.\n\t\t\t\t", - "send-chat": "Poslat", + "send-chat": "Odeslat", "available-languages": "Dostupné jazyky:", "add-more-here": "Přidat další!", "invite-users-to-join": "Pozvat členy do místnosti a sdílet jejich feed. Tito členové uvidí všechny ostatní členy a jejich feedy.", - "link-to-invite-camera": "Pozvat členy do místnosti a sdílet jejich feed. Tito pouze sdílí avšak nic neuvidí ani neuslyší od ostatních.", + "link-to-invite-camera": "Pozvat členy do místnosti a sdílet jejich feed. Tito členové pouze sdílí avšak nic neuvidí ani neuslyší od ostatních.", "this-is-obs-browser-source-link": "Tohle je link do OBS Browser Source link který je ve výchozím nastavení prázdný. Členové místnosti do této scény mohou být přidáni manuálně.", "this-is-obs-browser-souce-link-auto": "Tohle je taky OBS Browser Source link. Všichni členové této místnosti tam jsou přidání antomaticky (vhodné např. na konference)", - "click-for-quick-room-overview": "❔ Klidni zde pro krátký přehled o funkcích", + "click-for-quick-room-overview": "❔ Klikni zde pro krátký přehled o funkcích", "push-to-talk-enable": "🔊 Povolit administrátorovi Push-to-Talk mód", "welcome-to-control-room": "Welcome. This is the control-room for the group-chat. There are different things you can use this room for:

    \t
  • You can host a group chat with friends using a room. Share the blue link to invite guests who will join the chat automatically.
  • \t
  • A group room can handle around 4 to 30 guests, depending on numerous factors, including CPU and available bandwidth of all guests in the room.
  • \t
  • Solo-views of each video are offered under videos as they load. These can be used within an OBS Browser Source.
  • \t
  • You can use the auto-mixing Group Scene, the green link, to auto arrange multiple videos for you in OBS.
  • \t
  • You can use this control room to record isolated video or audio streams, but it is an experimental feature still.
  • \t
  • Videos in the Director's room will be of low quality on purpose; to save bandwidth/CPU
  • \t
  • Guest's in the room will see each other's videos at a very limited quality to conserve bandwidth/CPU.
  • \t
  • OBS will see a guest's video in high-quality; the default video bitrate is 2500kbps.
  • \t
    \tAs guests join, their videos will appear below. You can bring their video streams into OBS as solo-scenes or you can add them to the Group Scene.\t
    The Group Scene auto-mixes videos that have been added to the group scene. Please note that the Auto-Mixer requires guests be manually added to it for them to appear in it; they are not added automatically.

    Apple mobile devices, such as iPhones and iPads, do not fully support Video Group Chat. This is a hardware constraint.

    \tFor advanced options and parameters, see the Wiki.", "guest-will-appaer-here-on-join": "(Zde se zobrazí členové až se připojí)", From eb8d45daa3f689d7ec49d1be7a732d11a390428d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Tron=C3=AD=C4=8Dek?= Date: Sun, 6 Dec 2020 21:33:22 +0000 Subject: [PATCH 7/8] Grammar typo (probably) --- translations/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/cs.json b/translations/cs.json index f03000b..e940d0c 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -4,7 +4,7 @@ "add-to-group": "Přidat do skupiny", "add-your-camera": "Přidat kameru do OBS", "added-notes": "\n\t\t\t\tPoznámka:\n\t\t\t\t
  • Kdokoliv se může připojit, když zná jméno místnosti
  • \n\t\t\t\t
  • Není doporučeno mít v místnosti víc než 4 lidi kvůli náročnosti na Váš počítač, ale za zkoušku nic nedáte.
  • \n\t\t\t\t
  • iOS zařízení jsou omezena pouze na dva účastníky. Toto omezení je způsobeno Applem.
  • \n\t\t\t\t
  • \"Nahrávat\" je nová a EXPERIMENTÁLNÍ funkce.
  • \n\t\t\t\t
  • Musíte \"Přidat\" zdroj video do \"Skupinová scéna\" aby se tu zobrazil.
  • \n\t\t\t\t
  • Tady je nové \"vylepšený fullscreen\" tlačítko přidané pro hostitele.
  • \n\t\t\t\t", - "advanced-paramaters": "Pokročilé nastavení", + "advanced-paramaters": "Pokročilá nastavení", "audio-sources": "Audio zdroje", "back": "Zpět", "balanced": "Vyrovnaný", From 6f697a638fb42689b4a86e8b91a19985e3338c77 Mon Sep 17 00:00:00 2001 From: Steve Seguin Date: Mon, 7 Dec 2020 08:18:42 -0500 Subject: [PATCH 8/8] Update IFRAME.md --- IFRAME.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IFRAME.md b/IFRAME.md index bc9bffb..0b93c64 100644 --- a/IFRAME.md +++ b/IFRAME.md @@ -20,6 +20,8 @@ Adding that iframe to the DOM will reveal a simple page accessing for a user to An example of how this API is used by OBS.Ninja is with its Internet Speedtest, which has two OBS.Ninja IFrames on a single page. One iframe feeds video to the other iframe, and the speed at which it does this is a measure of the system's performance. Detailed stats of the connection are made available to the parent window, which displays the results. https://obs.ninja/speedtest +More community-contributed IFRAME examples can be found here: https://github.com/steveseguin/obsninja/tree/master/examples + A sandbox of options is available at this page, too: https://obs.ninja/iframe You can enter an OBS.Ninja URL in the input box to start using it. For developers, viewing the source of that page will reveal examples of how all the available functions work, along with a way to test and play with each of them. You can also see here for the source-code on GitHub: https://github.com/steveseguin/obsninja/blob/master/iframe.html One thing to note about this iframe API is that it is a mix of URL parameters given to the iframe *src* URL, but also the postMessage and addEventListener methods of the browser. The later is used to dynamically control OBS.Ninja, while the former is used to initiate the instance to a desired state.