The syntax to add a watermark is slightly different. You need video filters for that, which come bundled with FFmpeg already.
I'm not sure you can add a transparent watermark to a separate track. The reason is that the image itself (the PNG "stream") needs to be turned into an actual video track (e.g. with x264) – and since video encoders don't support transparency at this stage, you won't get a transparent image.
The following will add
base.mov in the upper right corner. You can use the following parameters to determine the position – in my example, I just placed it ten pixels away from the border:
main_w (main video width)
main_h (main video height)
overlay_w (overlay video width)
overlay_h (overlay video hieght)
The filter command would then be:
movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]
Turning this into a complete FFmpeg command:
ffmpeg -i base.mov -vf "movie='logo.png' [logo]; [in][logo] overlay=main_w-overlay_w-10:10 [out]" -c:v libx264 -crf 20 out.mov
-c:v libx264 -crf 20 parameters determine the output video codec and its quality (where CRF will probably be from 19 to 24, depending on which quality you want; lower is better).
There's a rather good blog post on that subject here: How to watermark a video using FFmpeg. It goes into positioning details.