Originally published at: https://nextcloud.com/blog/introducing-mediadc-the-app-that-helps-you-find-duplicated-media-files/
Is your Nextcloud full of photos and videos? Are you trying to delete duplicates and keep only one file instead of 10? MediaDC is the right app for you!
This app allows to find duplicate or similar 📸 photos and 📹 videos:
- Many image formats supported: jpeg, png, tiff, bmp, gif, heic/hif, cr2 and others.
- Large amount of supported video formats: All that is supported by ffmpeg.
- Flexible config: Set your precision level for comparing, choose also that suits for you most.
- Quick re-scan: Once a file was scanned, hash will be saved, and used for other scans.
Meet the awesome people behind MediaDC
I found info about Nextcloud on a Reddit post and then I gave it a try. I have been using Nextcloud for my own needs for about one year and a half now! When using it with your big family, there are situations when all members store Photos/Videos in a cloud with different resolutions and formats. In the end, there are plenty of similar images which need sorting. — Alexander
Andrey and Alexander came up with this idea while using Nextcloud on their own, as it was something they were missing as private Nextcloud users. After searching for apps or solutions for doing this they did not find anything that could work well for them and here came the idea of developing a new Nextcloud app that does that!
As it always happens, we decided to develop an app spontaneously. It was like an on-the-spot decision, why not? So we did! — Andrey
For Alexander, developing MediaDC was also a mission to better his Python skills and of course a challenge understanding how Nextcloud works code-wise (learning database schema, backend core logic etc).
For Andrey it was a bigger challenge as he had to get used to Linux first and then all the rest. He had a persistent desire to study it all and that was his motivation!
For me, it was just interesting to try to develop an open-source application and learn python better and have such an app for myself. — Alexander
Andrey and Alexander are focusing now on working and learning automation & testing, to make MediaDC even better. After developing this app, they also want to make regular contributions to open source projects.
We both think that there must be open-source cloud solutions, they will be in demand in the future. Currently, there is a big boom in the Smart Home area and for your own smart home, you need your smart cloud. We are very positive about this.
The future of MediaDC
Ideas on how to improve MediaDC further are not missing! Future plans include:
- An improved search for similar images
- Full support for all video files formats when they are server encrypted (current realization when a video goes throw pipe to FFmpeg didn’t support many file formats due to FFmpeg restrictions)
- Support for more CPU arch’s (like M1, armv9), oracle database support if anyone needed it
- Support of FreeBSD systems, TrueNAS (not working for now)
- Fix any bugs that will be reported, of course!
MediaDC needs your help!
If you're using the app, please report any issues or bugs you encounter here
Since developing MediaDC turned out to be so nice and fun, Andrey and Alexander have more app ideas! Their next project will be a “Media" tagging app.
Currently, for Nextcloud there are two face recognition apps, and we don't want to develop another one. But an app that will place tags based on image/video content – can be a nice idea. With such an app you can easily display all photos that contain flowers (as an example), all photos with your favorite pet, all videos from previous Summers with specified parameters (like media with rivers or among hills). Excellent opportunities how auto-tagging can work and what can be achieved with this. But to do that, we need to re-factor MediaDC first and pick out parts of code to make a Nextcloud Python Framework out of it, instead of duplicating python modules. This will be published, of course, so other app developers can use it for their python projects and don’t start from scratch while the framework can be reused.