What is PTP Webcam?
PTP Webcam is a plugin for macOS X that allows a DSLR to be used as a webcam for video conferencing, streaming, or recording. A DSLR will typically provide a superior image compared to built-in webcams in laptops or standalone monitors, and even dedicated web cameras.
Getting PTP Webcam
Binary installation packages are available to download directly:
After installing the package, turn on your camera and plug it in via USB. Open QuickTime Player, select New Moview Recording from the File menu, and the camera should become selectable as the video source as well as display a status bar item.
PTP Webcam is free and open source, and you can support the project through sponsorship:
Uninstalling PTP Webcam
Download and run the PTP Webcam Uninstaller,
… or delete these files and reboot to uninstall:
Features
Camera settings can be adjusted through a status item in the menu bar, and a preview is available to check the image.
With Nikon FX and DX DSLRs and Z-mount mirrorless cameras, depending in on the camera model, it allows full control over image settings.
With Sony Alpha mirrorless cameras, depending in on the camera model, limited camera settings are available.
Since v1.3.0, controlling UVC (USB Video Class) cameras, which includes most USB webcams, is also supported.
All applications that support video capture through CoreMedia are supported, including:
- Zoom version 5.1.1 and newer
- Skype version 8.62.0.85 and newer
- Skype for Business
- Microsoft Teams
- Web-based video conferencing tools via Google Chrome (via codesigning fix)
- QuickTime Player
- … and many more!
Compatible Cameras
A full feature matrix is available in CAMERAS.md.Cameras in bold have been confirmed to work with PTP Webcam. The others are untested but should work. Striked through models are not currently working with PTP Webcam.
Full-Frame / FX Format
- Canon EOS 1D Mark IV, Canon EOS 1D C, Canon EOS 1D X, Canon EOS 1D X Mark II, Canon EOS 1D X Mark III
- Canon EOS 5D Mark II, Canon EOS 5D Mark III, Canon EOS 5D Mark IV
- Canon EOS 5Ds, Canon EOS 5Ds R
- Canon EOS R, Canon EOS R2, Canon EOS R5
- Canon EOS 6D, Canon EOS 6D Mark II
- Nikon Df
- Nikon D3, Nikon D3S, Nikon D3X, Nikon D4, Nikon D4S, Nikon D5, Nikon D6
- Nikon D600, Nikon D610
- Nikon D700, Nikon D750, Nikon D780
- Nikon D800, Nikon D800E, Nikon D810, Nikon D810A, Nikon D850
- Nikon Z6, Nikon Z7
- Sony A7 III
- Sony A7S, Sony A7S II, Sony A7S III
- Sony A7R, Sony A7R II, Sony A7R III, Sony A7R IV
- Sony A9
- Sony A99 II
APS-C / DX Format
- Canon EOS 7D
- Canon EOS 40D, Canon EOS 50D, Canon EOS 60D, Canon EOS 70D, Canon EOS 77D, Canon EOS 80D, Canon EOS 90D
- Canon EOS 100D, Canon EOS 200D, Canon EOS 250D, Canon EOS 450D, Canon EOS 500D, Canon EOS 550D, Canon EOS 600D, Canon EOS 650D, Canon EOS 700D, Canon EOS 750D, Canon EOS 760D, Canon EOS 800D
- Canon EOS 1000D, Canon EOS 1100D, Canon EOS 1200D, Canon EOS 1300D, Canon EOS 1500D, Canon EOS 3000D
- Canon EOS M, Canon EOS M2, Canon EOS M3, Canon EOS M5, Canon EOS M6, Canon EOS M6 Mark II, Canon EOS M10, Canon EOS M50, Canon EOS M100
- Nikon D90
- Nikon D300, Nikon D300S, Nikon D500
- Nikon D3200, Nikon D3300, Nikon D3400, Nikon D3500
- Nikon D5000, Nikon D5100, Nikon D5200, Nikon D5300, Nikon D5500, Nikon D5600
- Nikon D7000, Nikon D7100, Nikon D7200, Nikon D7500
- Nikon Z50
- Sony A68
- Sony 77 II
- Sony A5100
- Sony A6300, Sony A6400, Sony A6500
Incompatible Cameras
The following digital cameras are known to have hardware limitations that preclude their use as a webcam:
- Nikon D40, Nikon D60, Nikon D80, Nikon D200, Nikon D3000
FAQ
Is there a forum or live chat?
There is a discord channel for chatting about PTP Webcam.
How is this different from using HDMI capture hardware?
With HDMI capture, you need additional hardware (eg. a USB dongle or capture card), and if your camera does not have clean HDMI output, the image will be overlaid with whatever else you see on the camera's screen. However, in general the HDMI image has a higher resolution and better frame-rate than the USB LiveView stream.
The good news is that it doesn't have to be one or the other! You can use PTP Webcam to control the camera, and still capture the HDMI output, if you have HDMI capture hardware available, and your camera can output an HDMI image while being controlled from the computer.
How is PTP Webcam different from OEM Software?
Canon EOS Webcam Utility Beta allows only one camera at a time, and the camera's settings cannot be controlled from the computer. The actual video stream quality is identical.
Nikon does not provide software to do this on the Mac.
Sony does not provide software to do this on the Mac.
My camera does not show up at all?
If your camera is plugged in and powered, Image Capture can see it, and is on the list of supported cameras it could be one of the following:
- If the camera has separate PTP and mass-storage modes, set it to PTP mode.
- The camera should show up in the Image Capture application if the USB connection works.
- PTP Webcam will not work with the EOS Webcam Utility Beta installed. The installer will attempt to remove it on installation, or uninstall it manually.
- If the camera is on the list of supported cameras, but is not working, look for an open bug report related to the camera model, or if there isn't one, file a new issue, so that it can be investigated.
How does this work with Zoom / Skype / Chrome?
Zoom version 5.1.1 and newer works out of the box, as it has Library Validation disabled to work with virtual camera plugins.
Skype version 8.62.0.85 and newer works out of the box, as it has Library Validation disabled to work with virtual camera plugins.
The main problem with apps trying to use 3rd party video sources is that security restrictions for apps using Apple's Hardened Runtime and 3rd party libraries are not fine-grained enough. Apps can either choose to disable Library Validation, or are only allowed to use the ir own and system libraries, which excludes this project (and many other 3rd party camera drivers).
The only currently available solution, as a user, is to disable codesigning for those applications, which allows the use of 3rd party plugins at the expensive of disabling some OS security features for those apps.
The PTP Webcam installer package can attempt to remove code signing for Google Chrome installed in the "/Applications" directory during the installation, but the process has to be repeated when the applications are updated.
Does this work with FaceTime?
FaceTime's reluctance to be able to use PTP Webcam cameras as a video source could not be circumvented so far, so at the moment it does not work, but it is tracked as an open issue that can hopefully be resolved.
My camera shows up in Quicktime Player, but not in XYZ other application?
This is most likely an issue with code signing, see the instructions in the ReadMe related to code signing and library validation. It is likely that the hardened runtime is enabled for the application, and code signing must be disabled for PTP Webcam to work. The installer tries to do this for Zoom.us and Skype, but it may fail if they are in non-standard locations. Either way, please file a bug report so that a fix can be incorporated into future releases.
Photo Booth is one of the applications that cannot load PTP Webcam in their default states because of Library Validation. Zoom version 5.1.1 and newer disable Library Validation, and can thus use PTP Webcam without modification.
My camera will not honor the exposure settings?
Some cameras cannot be made to show an Exposure Preview, others need special settings:
- If the camera has photography and video LiveView modes, set it to photography mode (eg. D800).
- Some cameras (eg. D3400) do not support exposure preview, and some or all exposure settings may have no effect.
Where can I find debugging and crash logs?
The debug logs for the LaunchAgent, which takes care of the control menu and camera management, are located at
Crash logs for the same, named PtpWebcamLaunchAgent*.crash, can be found in
Where can I find the source code?
The source code is available at https://github.com/dognotdog/ptpwebcam.