exeldro / obs-source-record

GNU General Public License v2.0
361 stars 42 forks source link

Distorted video from application windows on MacOS #119

Open aabor opened 6 days ago

aabor commented 6 days ago

I have recently installed the Source Record plugin to OBS on my MacBook Pro (arm64). Full system description is below.

When I try to record sources from application windows separately,

obs-1

I got the following results for my Google Chrome browser window (this is a screenshot from video, recorded separately):

obs-2

My hardware web camera was recorded separately correctly, only application pages from video memory are distorted.

Is there a way to overcome this problem shortly? Does anyone encounter similar problems on other hardware, or it is MacOS specific?

My computer specs: Model Name: MacBook Pro Model Identifier: Mac14,9 Model Number: MPHE3LL/A Chip: Apple M2 Pro Total Number of Cores: 10 (6 performance and 4 efficiency) Memory: 16 GB System Firmware Version: 11881.1.1 OS Loader Version: 11881.1.1 Activation Lock Status: Disabled System Version: macOS 15.0.1 (24A348) Kernel Version: Darwin 24.0.0 Boot Volume: Macintosh HD Boot Mode: Normal Secure Virtual Memory: Enabled System Integrity Protection: Enabled

exeldro commented 5 days ago

Do you get the same issue with other encoders?

aabor commented 5 days ago

I tried other encoders. The results either the same or zero bytes output.

Properties for Video Source: Method: Application Capture Display: Built-in Retina Display: 1147x745 @ 0,0 Application: Google Chrome

Settings for Record Source filter and outcomes:

Encoder x264, CBR/2500 Kbs - zero bytes output

Encoder AOM AV1, CBR/2500 Kbs - zero bytes output

Apple VT H264 Hardware Encoder, CBR/2500 Kbs - distorted image

Apple VT H264 Software Encoder, ABR/2500 Kbs - distorted image

Apple VT HEVC Hardware Encoder, CBR/2500 Kbs - distorted image

Apple VT HEVC Software Encoder, ABR/2500 Kbs - distorted image

Apple VT ProRes Hardware Encoder, ProRes codec: ProRes 4444 XQ - zero bytes output ProRes codec: ProRes 422 Proxy - zero bytes output

exeldro commented 5 days ago

So it looks to be the source and not the encoder. Can you try making a group of only that source and put the source record on that group instead of on the source?

aabor commented 5 days ago

I moved the source into one group:

Screenshot 2024-10-21 at 8 19 33 AM

The same results:

Screenshot 2024-10-21 at 8 21 01 AM