Well, in all honesty, camera scripting is pretty simple. For years I put it off, and then last week I sat down and in 30 minutes had the basics of camera-related commands worked out. I'm not saying no-one will volunteer to help, but it's definitely an exercise that can be accomplished by one individual in a few hours (even from very limited knowledge).
Here's a simple example script controlling a camera, commented heavily for your benefit (there may be slightly better ways to do it, as I'm also new to the whole camera thing, but this works for me). There are a number of camera tutorials out there (if I recall correctly), and the list of camera-related commands can be found
here on the Biki.
// Creating a camera
_c = "camera" camCreate [0,0,0];
// Just a basic bit of set-up for a 'normal' view.
_c cameraEffect ["internal", "back"];
// TRANSFORMATIONS (these aren't done until camCommit is used, below)
// Setting up to move the camera to the position of a marker I've placed
_c camSetPos [getMarkerPos "cam_source1" select 0, getMarkerPos "cam_source2" select 1, 30];
// Setting up the camera to point at the player
_c camSetTarget player;
// Setting a default FOV
_c camSetFov 0.7;
// COMMIT
// This function performs the above transformations, over the given time (in seconds).
// In this case, the transformation will happen immediately (0 seconds), but on
// subsequent cameras, if you specified, say, 20 seconds, the movement of position,
// FOV change, etc. would occur smoothly over 20 seconds.
_c camCommit 0;
And there you have it, a simple camera set up. Use different camera positions (such as changing the target, or the set position of the camera) and different commit times to make an interesting cutscene (it just requires some playing about to get something a bit more 'cinematic'
) Each time you commit, the changes you've made are smoothly applied as a linear transition.