I have used both the direct digital serial port and the IR remote to control cameras (Casio and Olympus). I suggest the IR approach might be better for many applications.

The camera maker usually bundles, or sells, PC software that controls the camera over the USB or RS232 port. The makers can and do change this frequently, not only between models but even within models. I bought a second "identical" camera a little while after the first only to find the code had subtly changed and my code no longer worked.

What did keep working, even across different cameras from the same manufacturer, was the IR protocol used by the remote control. I viewed this with a fast diode into the oscilloscope to work out the frequency, then I used an IR decoder module to work out the burst on times and spacing. I then generate the IR pulse stream in the PIC and directly drive an IR LED through a resistor. This can be anywhere near the camera and it seems to get through.

By setting the camera to never time out and switch off, the remote control can now perform a three stage zoom and expose anytime. I run the camera off the main aircraft battery via a regulator for longer endurance than the 20 minutes the internal camera battery allows.

HTH
Brian