AUTOMATIC MEDIA TRANSFER TOOL

Technical Skill Involved in this Project:

Programming: C#

Frameworks: WPF (.NET Framework/Core)

System Programming: Windows Management, File I/O, Asynchronous Programming

UI/UX design: XAML Layout Design, Data Binding, Event-Driven Programming, Progress Visualization

Core concepts: File System Operations, Drive Detection, Stream Processing, Buffer Management, Duplicate Detection

PROJECT SUMMARY

Many skydiving dropzones currently are still using USB sticks to load video for tandem skydives. The workflow goes as follows: when the tandem instructor and student lands, tandem instructor will hand over the GOPRO SD card storage to the video associate, the video associate will transfer the video from SD card to the USB stick.

The job itself is not too difficult, but this is a very manual and repetitive process involves a lot of clicking and dragging. Dropzone often employees one associate that will be responsible for transferring the SD card as Dropzone Owner, instructors and other stuff simply do not have time to perform this task.

A typical small dropzone does around 2000 tandems a year, with 65% of tandem customers purchasing video options. An estimated amount of saving of 10$ per customer will be made if an automated tool can do the tasks of the associate. A total saving of 13,000 CAD per year can be made.

METHOD and PIPELINE

This desktop application has two major components designed to automate media transfer from SD cards to USB storage devices.

The first part involves automatic drive detection and source identification. The application scans all connected removable drives, identifies which drive contains media files (videos and photos), and automatically designates the other drive as the destination. The system implements intelligent duplicate detection by indexing existing files on the destination drive using filename and file size combinations, preventing redundant transfers.

The second part of the pipeline focuses on flexible file selection and transfer. Users can choose between two transfer modes: time-based filtering (transferring all files within a specified time window from the most recent file) or fixed-count filtering (transferring a set number of the latest files). The system supports selective transfer of videos and photos with customizable file extensions. Files are organized into categorized folders (Videos/Photos) with timestamped parent directories for easy management.

The third component implements real-time progress tracking and asynchronous file operations. The application uses buffered stream processing with async/await patterns to maintain UI responsiveness during large file transfers. A timer-based UI update system provides live feedback including current file progress, transfer speed, time remaining estimates, and overall completion status. Upon completion, users receive a comprehensive summary including file counts by type, duplicate files skipped, time range of transferred media, total transfer time, and average transfer speed.

RESULT

The SD Card Media Transfer application successfully automates media file transfers between removable drives with high efficiency and reliability.

Transfer Performance: The system achieves transfer speeds averaging 50-60 MB/s on USB 3.0 connections, with real-time progress tracking updating every 250ms. Buffered stream processing (1 MB buffer) optimizes throughput while maintaining UI responsiveness during large file transfers.

Duplicate Detection: The duplicate detection system identifies and skips previously transferred files with 100% accuracy using filename and file size combinations. This prevents redundant transfers and provides clear feedback on files skipped versus newly transferred.

User Experience: The application requires minimal interaction - typically just one button click after inserting both drives. Time-based filtering (default: 40 minutes) accurately captures complete recording sessions, while fixed-count mode offers predictable transfer quantities. Transfer summaries include file counts by type, duplicates skipped, time range of media, total size, transfer duration, and average speed. Files are automatically organized into timestamped folders with separate subdirectories for videos and photos.

Reliability: Comprehensive error handling manages common scenarios including missing drives, insufficient storage, and interrupted transfers. Detailed activity logging provides full traceability for troubleshooting.

DEMO