Create an application for saving streamed media to a custom file.
After installing the application, the user will have a new menu item added to the Internet Explorer context menu. The context menu item will open a save file dialog. Once a file location is selected, the video will be spawn a background thread that will receive the video stream and save to the selected file location. The streamed file will also have some additional metadata attached added.
- New right click context menu should be called 'Download Media' and should be listed in addition to existing context menu items.
- After selecting download media in the context menu, a new instance of the application will start using a command line parameter of video URL. The new instance of the application will show a dialog with progress of download.
- The downloaded stream should play in windows media player without any need for additional codecs downloaded by the user.
- Compression should be decent. Please let me know in your bid how large you expect files to be per minute of video.
- Needs to work with Internet Explorer and youtube videos, no other browser support is needed.
- The solution should be broken into 4 projects:
1. Core dll containing stream download functionality
Primary dll functions do not need to follow these signatures exactly, but should follow this functionality.
int DownloadStream(string url, string destinationFilePath, object metadata, ProgressCallback callback)
object GetMetaData(string filePath)
PlayFile(string filePath, MediaPlayer mediaPlayer)
2. Download Progress UI for showing download progress. (consumer of DownloadStream function).
3. Installer that installs all files and adds Internet Explorer context menu item. The installer should be a single file.
- All UI should be WPF
- Code should be in C#. Core dll code can be C/C++/C#, but should have a .Net interface.
- Visual Studio 2010 Solution and projects.
- open source libraries can be used and is encouraged