A professional video management application designed specifically for drone videographers. DroneVideoManager helps you organize, analyze, and manage your drone footage efficiently.
-
Video Management
- Import and organize drone videos
- Extract and display video metadata
- Support for various video formats (MP4, MOV, AVI)
- Automatic video file organization
- Thumbnail generation
- Video preview
-
Metadata Analysis
- Extract camera settings and flight data
- Display telemetry information
- View drone model and settings
- Analyze flight paths and statistics
- Export metadata to CSV/JSON
- Timeline visualization
-
Project Organization
- Create and manage projects
- Organize videos into folders
- Add tags and categories
- Search and filter videos
- Custom metadata fields
- Project templates
-
File System Integration
- Monitor folders for new videos
- Automatic metadata extraction
- File system event handling
- Backup and restore capabilities
- File integrity checks
- Duplicate detection
-
Development Environment
- .NET 8.0 SDK
- Visual Studio 2022 or Visual Studio Code
- Git
-
Runtime Requirements
- Windows 10/11
- SQL Server 2019 or later
- FFMpeg (for video processing)
- TagLibSharp (for metadata extraction)
- 8GB RAM minimum
- 500MB free disk space
- Clone the repository:
git clone https://github.com/yourusername/DroneVideoManager.git
- Navigate to the project directory:
cd DroneVideoManager
- Restore NuGet packages:
dotnet restore
- Update the connection string in
appsettings.json
:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DroneVideoManager;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
- Run database migrations:
dotnet ef database update
- Build and run the application:
dotnet build
dotnet run
DroneVideoManager/
├── DroneVideoManager.Core/ # Core models and interfaces
│ ├── Models/ # Domain models
│ └── Services/ # Service interfaces
├── DroneVideoManager.Services/ # Service implementations
│ ├── Video/ # Video processing services
│ ├── Metadata/ # Metadata extraction services
│ └── FileSystem/ # File system services
├── DroneVideoManager.Data/ # Data access layer
│ ├── Configurations/ # Entity configurations
│ └── Migrations/ # Database migrations
└── DroneVideoManager.UI/ # WPF user interface
├── ViewModels/ # View models
├── Views/ # XAML views
└── Converters/ # Value converters
-
Core Dependencies
- FFMpegCore (5.2.0) - Video processing
- Microsoft.EntityFrameworkCore (8.0.2) - Database access
- System.IO.Abstractions (22.0.13) - File system operations
- TagLibSharp (2.3.0) - Metadata extraction
-
Development Dependencies
- xUnit - Unit testing
- Moq - Mocking framework
- FluentAssertions - Assertion library
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Follow C# coding conventions
- Write unit tests for new features
- Update documentation
- Use meaningful commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped with this project
- Special thanks to the open-source community for their tools and libraries
- FFMpeg team for video processing capabilities
- TagLibSharp team for metadata extraction
For support, please:
- Check the documentation
- Search existing issues
- Create a new issue if needed
- Add support for DJI Mavic 3
- Implement basic video editing
- Add cloud storage integration (OneDrive, Google Drive)
- Create mobile companion app
- Add AI-powered video analysis
- Implement collaborative features
- Web-based version
- Advanced video editing suite
- Drone fleet management