obsproject / obs-browser

CEF-based OBS Studio browser plugin
GNU General Public License v2.0
783 stars 225 forks source link

Browser Source not playing WebRTC videos on MacOS only #209

Closed steveseguin closed 3 years ago

steveseguin commented 4 years ago

I can load WebRTC video into OBS Browser Source on Windows without issue, but on MacOS the video does not play.

The same video will play fine on Chrome Standalone for MacOS though.

It may be a STUN/ICE issue, or perhaps a Codec decoder issue; not sure yet.

Copy of console logs of a working session: https://docs.google.com/document/d/1ZqbjUUKrRmKZoL5CU0Nt6VtmJMIFWqA5sQEAV8Hy2VE/edit?usp=sharing

Copy of console logs of it NOT working on OBS for MacOS. https://docs.google.com/document/d/1Knnk4kOc7JOTMfemWxh5-8RUIn1t8Ksnm6UA9vwzHAM/edit?usp=sharing

I've tried forcing H264 and VP8; neither worked. The Mac is connected over Ethernet with no Firewall enabled on the Mac.

I've had other Mac users report the same issue.

You can reproduce by trying to load a self-hosted video stream at https://obs.ninja , or even try Caffeine.tv.

Expected Behavior

WebRTC video should play on OBS if loaded via a browser source

Current Behavior

Just spins, as if the ICE negotiation failed or the video codec isn't supported; not sure.

Steps to Reproduce

  1. Create a webRTC video stream at https://obs.ninja/
  2. Copy the provided link into OBS Browser source for MacOS (v24 or v25 RC1)
  3. Video should load; but does not -- instead it just spins, waiting for the video to load

Additional information

If you load the video into OBS with the URL https://obs.ninja/beta/?streamid=xxxxx instead, you will be able to access console logs of OBS @ https://console.re/obsninja

I have not tried using a TURN server yet, but that is not an option for me.

verstaerker-583 commented 3 years ago

©WizardCM Wonderfull, thank you so much. I did test your build extensively with various overlays and found it very stable and - most amazing - the CPU load almost reduced by half! Default fps seem to be lower than normal and a little too low for most css animations.

OBS Ninja now works fine for me. Unfortunately the audio signal has much more noise compared to Chrome and within OBS I hear clicks which I don't hear when monitoring the same signal with Chrome. I don't know if this is related to OBS or to OBS Ninja.

I tried to run OBS Ninja (to broadcast the virtual cam) as custom browser dock, but received the following error message: "Permissions denied. Please ensure you have allowed the mic/camera permissions."

marco-par commented 3 years ago

Hi guys!

Apologies in advance if I'm doing something wrong here. I'm trying to share the screen of an external laptop using OBS Ninja into my OBS. I've received a message into the browser link in OBS, saying that the 26.1 doesn't support OBS Ninja, but I could install the test build of the 26.2 at the link quoted. It looks like, though, the download link is not active anymore. Could you please help me?

Also, is this the only way I can achieve what I'm trying to achieve? :)

Thank you,

Marco

Hello everyone! Just wanted to provide an update.

@PatTheMav @pkviet and myself have recently put in a fair bit of work to try and get a number of macOS browser-related issues fixed. While it's not all ready for a release just yet, we wanted to open it up for more testing.

These changes should solve all the issues you've been running into. Please test and let us know if you run into any strange behaviours.

  • Updated CEF to 4183, fixing media playback in browser sources
  • Enable hardware acceleration for browser sources
  • Enable texture sharing with browser sources
  • Enable native browser panels
  • Enable hardware acceleration for media sources (H263, H264 and HEVC only)
  • Enable hardware acceleration for stingers (H263, H264 and HEVC only)

Download the build here.

Note: The release is code signed, but not notarised, so the the .dmg and .app need to be opened by actively selecting "Open" in the files' context menu.

steveseguin commented 3 years ago

Hi Marco, join me on discord @ https://discord.obs.ninja. This isn't the correct place for OBS.Ninja support. ( Support for this new OBS preview build is on https://obs.ninja/beta ; or add &streamlabs to the URL, as Pat mentions)

PatTheMav commented 3 years ago

FWIW you just need to add the streamelements(iirc) parameter that makes OBS.ninja skip the OS detection. The WebRTC functionality hasn't been officially released, so OBS.ninja cannot discover the new "working" version.

WizardCM commented 3 years ago

Thanks to the following PRs and the work of @PatTheMav and @pkviet - hardware acceleration is now available in OBS starting in 26.1.2.

Also big thanks to all of you who tested the build and verified that everything works.

DrWig commented 3 years ago

Awesome!

Many thanks for everything that's gone into this update :-)

Bruce

On Sat, 9 Jan 2021 at 05:52, Matt Gajownik notifications@github.com wrote:

Thanks to the following PRs and the work of @PatTheMav https://github.com/PatTheMav and @pkviet https://github.com/pkviet - hardware acceleration is now available in OBS starting in 26.1.2 https://github.com/obsproject/obs-studio/releases/tag/26.1.2.

Also big thanks to all of you who tested the build and verified that everything works.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/obsproject/obs-browser/issues/209#issuecomment-757102005, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPHH6Y5QLIJMKMBBXSCKLSY7VLHANCNFSM4LRT7CWQ .