I'm looking for a client/server project:
I have an application that breaks down a video stream from a Webcam into multiple, uncompressed AVI files (see attached). The files are saved on the fly as they are captured.
I want to have a client process that compressed those files in mpeg 4 (or VC-1) as they are generated and that delete the original AVI file after it as been compressed.
I know this should be an easy step using the API available in QuickTime 7.
o Developer Resources for quicktime: [url removed, login to view]
o Windows API for quicktime: [url removed, login to view]
o Sample code: [url removed, login to view]
Note: The compressed files need to be saved in a configurable folder.
I think Quicktime is a good option to do that but I'm open to any option that is at least as performant (quality, speed,...).
b) Network Copy
Once those files are compressed, I want to have them copied over the network to the Server component. They should be copied in a first come first served basis but it is ok if a later file is copied before an earlier one. Ideally, multiple files can be copied at the same time to optimize the bandwidth available (typically 1Mbps).
The server is receiving the compressed video files from the client and should assemble the segments together as they arrive following the rule below:
- Assemble videos in increments of 2 minutes when possible.
- Assemble videos as soon as all the segments between FIRST and LAST are available.
Note: the file names follow contain the following information [START dd-mm-yyyy-hh-mm-ss] [END dd-mm-yyyy-hh-mm-ss][FIRST|LAST]. That includes the start and end stamp of the segment. The FIRST tag is present for the first segement of the sequence and the LAST tag is present for the last segement of the sequence.
This shold be easily done using MP4Box ([url removed, login to view]) but I'm open to other options. This process should not recompress the videos to optimize performance.
Please let me know if you have any additional questions!
NOTE: I couldn't upload the files for size issue of GFA but will add a URL as soon as possible.
NOTE: Using DShow for the compression works great too.
You can access sample uncompressed files at: http://www.drivehq.com/sharing/ShareLogon.aspx?key=737420/folrwiu7jemr
The file copy is triggered by the client that may be located behind a firewall. Ideally the copy is done over HTTP to limit potential issues with the firewall