Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ninja-forms domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the simple-custom-post-order domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-mail-logging domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the health-check domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the updraftplus domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the rocket domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wp-includes/functions.php on line 6114 Introducing MediaDC, the app that helps you find duplicated media files! - NextcloudSkip to main content
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.
Media DC for Nextcloud is developed by Andrey and Alexander.
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.
“When we have welcoming communities of contributors, open source software gets better and more useful to everyone.” Limor Fried, Electrical Engineer, Inventor and Founder of open-source hardware company Adafruit We believe in this ideal and love to work with our community. We are always looking to involve more people in Nextcloud, bringing in their ideas, […]
When cables are cut, sanctions are put in place or privacy legislation prohibits the use of the service your entire organization depends on, what can you do? Amidst geo-political changes, organizations face dependencies on large, centralized communication platforms. A major example of this is the SaaS-only communication platform Microsoft Teams. It is the only solution […]
In Nextcloud Hub 8, we introduced interactive widgets, a completely new mechanic that lets you share, access and interact with items from various apps in a compact widget format throughout your platform.
We save some cookies to count visitors and make the site easier to use. This doesn't leave our server and isn't to track you personally!
See our Privacy Policy for more information. Customize
Statistics cookies collect information anonymously and help us understand how our visitors use our website. We use cloud-hosted Matomo
Matomo
_pk_ses*: Counts the first visit of the user
_pk_id*: Helps not to double count the visits.
mtm_cookie_consent: Remembers that consent for storing and using cookies was given by the user.
_pk_ses*: 30 minutes
_pk_id*: 28 days
mtm_cookie_consent: 30 days