dougg3 / obs-ios-camera-source

Use your iPhone camera as a video source in OBS Studio and stream high quality video from your iPhone's camera over USB
https://obs.camera/
GNU General Public License v2.0
49 stars 18 forks source link

Update? #20

Closed AndrewBakerATL closed 1 year ago

AndrewBakerATL commented 1 year ago

I'm guessing some update must be needed with the new OBS versions, probably from an updated fork, given recent OBS updates with ffmpeg and some other things in the past couple of months. The extension was working on Arch not long ago, but recently, as of OBS 29, it doesn't seem to be working anymore (now on Fedora 38), best that I can tell.

The ffmpeg problems seem to be apparent in the make process as well, throwing errors on ffmpeg-decode.

OBS Issue: https://github.com/obsproject/obs-studio/issues/8375

dougg3 commented 1 year ago

Thanks for letting me know! Luckily it seems to be a pretty simple fix, thank you for the link to the corresponding issue on the obs-studio project. I just merged PR #21 which should fix this problem. I tested on a Fedora 38 VM and was successfully able to build and test the plugin with this fix applied.

AndrewBakerATL commented 1 year ago

Not to reopen old issues, but could you confirm that this is still working on Fedora 38? It does pass build, as well as installation it seems, showing up in the sources list. However, the source isn't detected and it still lists as "USB: Waiting for connection" in-app.

I found a similar issue here: https://github.com/wtsnz/obs-ios-camera-source/issues/1

The only output that I get is this: info: [obs-ios-camera-plugin] Creating instance of plugin! info: [obs-ios-camera-plugin] Loaded Settings info: [obs-ios-camera-plugin] deviceManagerDidChangeState 2 DeviceManager::didChangeState: 2 info: User added source 'iOS Camera' (ios-camera-source) to scene 'Scene' info: [obs-ios-camera-plugin] Activating

I think the distro is probably missing some package; I just don't know what it would be.

dougg3 commented 1 year ago

@AndrewBakerATL Yep! I just re-tested in the Fedora 38 VM I made when you reported the original problem and it still works fine.

I have noticed it can be a little finicky to get working initially though. I've seen it do what you're reporting. It seems like the "Trust/Don't Trust" prompt on the phone doesn't always pop up and if it doesn't, nothing works properly.

Here's what I just did to make it work:

I've never looked deeper into exactly what the problem is, but I just know that on multiple different distros, I've noticed that I have to hotplug the phone a couple of times in order to get the phone to ask me to trust the computer. And only after tapping the Trust button does everything work like it should. Maybe that's what you're running into?

AndrewBakerATL commented 1 year ago

You're right; the problem isn't with the plugin. I can't even mount the device, despite it showing an option for such when plugged in. I haven't the faintest idea what's causing it, given that the trust prompt doesn't show up. I thought it might be SELinux blocking it, so I switched that to Permissive, but still nothing. I even reset my Location & Privacy settings to clear the trusted devices.

I can access the photos and videos on the device through an option triggering "Camera:/", which prompts the device to allow sharing of photos and videos, but that doesn't seem to affect OBS.

I suppose that I should note that I am on iOS 16.

AndrewBakerATL commented 1 year ago

I found the problem. Fedora installed libimobiledevice but it failed to install usbmuxd for some reason, which is what handles the low-level integration. I installed that and it was immediately fixed (the connection).

dougg3 commented 1 year ago

Oh nice! As far as I can tell, my fresh install had libusbmuxd installed and working fine, so that explains why I didn't run into any problems out of the box.