All Projects → keybraker → Mediarizer

keybraker / Mediarizer

Licence: other
Organise your photos and videos in chronological order fast and easy

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Mediarizer

Computer Science In Javascript
Computer science reimplemented in JavaScript
Stars: ✭ 2,590 (+14288.89%)
Mutual labels:  sorting-algorithms
RainbowSorting
Python application to visualize sorting algorithms using RGB colours.
Stars: ✭ 45 (+150%)
Mutual labels:  sorting-algorithms
sorting-visualizer
Sorting Algorithms Visualizer
Stars: ✭ 429 (+2283.33%)
Mutual labels:  sorting-algorithms
algorithms
A open source repository of different kinds of algorithms in c. Newbies are encouraged to contribute! Note: I made this code when i didn't have as much experience in programming
Stars: ✭ 33 (+83.33%)
Mutual labels:  sorting-algorithms
interview-cookbook
A playground for learning DataStructures, Algorithms, and Object-Oriented Concepts.
Stars: ✭ 25 (+38.89%)
Mutual labels:  sorting-algorithms
stablesort
Stable sort algorithms and their stability proofs in Coq
Stars: ✭ 19 (+5.56%)
Mutual labels:  sorting-algorithms
Interview Questions
List of all the Interview questions practiced from online resources and books
Stars: ✭ 187 (+938.89%)
Mutual labels:  sorting-algorithms
AlgorithmVisualizer
A better visualization of different algorithms made with React
Stars: ✭ 123 (+583.33%)
Mutual labels:  sorting-algorithms
Algorithm-Implementation
This is our effort to collect the best implementations to tough algorithms. All codes are written in c++.
Stars: ✭ 16 (-11.11%)
Mutual labels:  sorting-algorithms
Sorting-Visualizer
📊 Sorting.Visualizer is a web app for visualizing a bunch of different sorting algorithms Like Selection Sort, Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort With the functionality of (Speed Control) and (Array Size Control)...
Stars: ✭ 37 (+105.56%)
Mutual labels:  sorting-algorithms
radix-sorting
Radix sorting from the ground up
Stars: ✭ 27 (+50%)
Mutual labels:  sorting-algorithms
dsa
data structure and algorithm - examples and implementations
Stars: ✭ 13 (-27.78%)
Mutual labels:  sorting-algorithms
PySortDemo
Visualization of sorting algorithms, done in Python.
Stars: ✭ 21 (+16.67%)
Mutual labels:  sorting-algorithms
Python
All Algorithms implemented in Python
Stars: ✭ 125,688 (+698166.67%)
Mutual labels:  sorting-algorithms
SortingLab.jl
Faster sorting algorithms (sort and sortperm) for Julia
Stars: ✭ 20 (+11.11%)
Mutual labels:  sorting-algorithms
Sorting Visualizer
📊 Some python scripts which can visualize several famous sorting algorithms and generate the animations via Matplotlib.
Stars: ✭ 200 (+1011.11%)
Mutual labels:  sorting-algorithms
sorting-visualization
A Rust program for visualizing sorting algorithms which uses Piston for graphics. Inspired by https://github.com/Hopson97/Sort-Algorithm-Visualiser
Stars: ✭ 52 (+188.89%)
Mutual labels:  sorting-algorithms
Algorithms-Java
A collection of common algorithms and data structures implemented in Java.
Stars: ✭ 141 (+683.33%)
Mutual labels:  sorting-algorithms
golang-interview-questions
golang 面试集锦
Stars: ✭ 42 (+133.33%)
Mutual labels:  sorting-algorithms
lua sort
Lua pure sort algorithm based on lib_table.c (from LuaJIT 2.1.0)
Stars: ✭ 21 (+16.67%)
Mutual labels:  sorting-algorithms

Mediarizer

Fast and easy organisation of photos / videos by date
Lightweight, fast and runs on all harware and OS

alt text


  1. Mediarizer
  2. Prerequisite and Build
    1. Prerequisites
    2. Build
    3. Clean
  3. Usage Guide
    1. Flags
    2. Examples
    3. Additional Information
  4. Information
    1. Release History
    2. Acknowledgements

Building, Installing and Using Mediarizer

Prerequisites

  1. Make sure you have downloaded g++ (on macOS clang++ which is installed alongside Xcode).
  2. Download and install Exiv2 on your computer.
    (!) if you want to sort videos as well do not forget to add cmake .. -DEXIV2_VIDEO_ENABLE=On flag when building
  3. WIP: If you want to achieve better performance you should download OpenMP for multithreading.
    (!) Keep in mind that Mediarizer interacts with the filesystem so there will be only a slight performance improvement as the main bottleneck is the I/O

Build

  1. Open a terminal windows and clone Mediarizer and move to directory

    $ git clone https://github.com/keybraker/Mediarizer.git && cd Mediarizer
  2. Compile Mediarizer

    $ make
  3. Run Mediarizer (examples)

    $ ./mediarizer ...

Clean

  1. In the Mediarizer folder type

    $ make clean

Usage Guide

Flags

Name Acronym Argument Description State Mandatory
-input -i path / file gives path to file or directory working yes
-output -o path path to output directory working yes
-type -t tp1, tp2, .. _organizes only given file type/s(image, video) working no
-photo -p none organizes only photos working no
-video -v none organizes only videos working no
-recursive -r none recursively process sub-directories working no
-date -D none if image has no exif date filesystem data is used no no
-move -m none move photos that have no metadata to to undetermined folder working no
-write -w none will add exif data to image that has none no no
-delete -x none deletes files in source directory no no
-duplicate -d none duplicates are moved into duplicate folder in move directory no no
-help -h none displays a usage guide of Mediarizer working no
-version -V none displays current version working no
-verbose -s none outputs execution information while running working no

a. Multiple flags can be used in conjunction
b. Multiple file types(image, video) can be used as comma-separated string ex: -type jpg,png
c. Duplicate photos are compared by type, size, date and resolution, only than are they categorized as same


Examples

  1. sort single file

    $ ./mediarizer -i /path/media.file -o /path/to/store/folder
    $ ./mediarizer --input /path/media.file --output /path/to/store/folder
  2. sort directory

    $ ./mediarizer -i /path/folder -o /path/to/store/folder
    $ ./mediarizer --input /path/folder --output /path/to/store/folder
  3. sort directory and encapsulated directories

    $ ./mediarizer -i /path/folder -o /path/to/store/folder -r
  4. flags can be used in any order

    $ ./mediarizer -o /path/to/store/folder -D -i /path/source/folder -f mp4,jpg,png
  5. this execution will only sort mp4 and jpg files to move direcotry

    $ ./mediarizer -i  /path/source/folder -o /path/to/store/folder -f mp4,jpg
  6. will only copy photos, not videos:

    $ ./mediarizer -i /path/source/folder -o /path/to/store/folder -photo

Additional Information

a. photos without exif data can be organized with date of creation in the file system using flag -D
b. when two photos have the same name, only the first encountered is moved to new directory
c. unsupported files are not being copied
d. corructed files may cause the program to crash
e. using cloud storage services like (iCloud, OneDrive, Dropbox, etc) may result in unexpected behaviour as data is actually only on remote servers and you locally can see a shortcut of the remote file


if you encounter any problem or error, please report it.
if you want to contribut please follow the guidelines.
alt text

Information

Release History

Version Date Argument
v2.0.0 08-12-2020 Refactored project and used Exiv2
v1.7.0 22-08-2017 Memory added, for stop and restart
v1.6.0 20-08-2017 Fully functional duplication deletion (BETA)
v1.5.0 19-08-2017 Added duplication deletion
v1.1.2 18-08-2017 Added -flags for a more controlled organisation
v1.1.1 17-08-2017 Now photos and videos are separated in to diffrent folders for maximum organisation
v1.1.0 17-08-2017 Huge improvement using ExifTool as processing tool
v1.0.0 12-08-2017 Full jpeg release with the help of easyexif
v0.1.0 09-08-2017 Initial commit

Acknowledgments - Exiv2
Author - Ioannis Tsiakkas - Keybraker
License - GNU LICENSE

Copyrights © Keybraker 2020-2021 Mediarizer, All rights reserved

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].