I need to write a program to allow my boss to be able to edit/manipulate video files (mp4, avi, wmv, etc). I need to be able to do the following:
View a video file,
while viewing the video file, be able to set a start and end point inside that video file to be able to create a new, very small video file of just that segment
be able to take multiple video segments and concatenate them into a new video file.

Does anyone know of an API out there that has this capability? I've heard Silverlight can do it but this is NOT web-based (Silverlight is web-based, right?).

These API's/software can be free or for purchase software, but I must be able to create my own interface to utilize the software.

Any help/suggestions are appreciated!
Thanks