Dzisiaj wydałem nową wersję moich aplikacji do wyszukiwania duplikatów(i nie tylko) Krokiet/Czkawka 11.0.

Wpierw wrzuciłem to na Reddita, ale mnie poblokowali, bo w treści miałem odwołanie do strony "dev dot com", więc niech idą na drzewo a post wrzucę tutaj.

Mógłbym opisywać tak jak w innych miejscach, że ta wersja dodaje w Krokiecie łatwiejsze sortowanie, pozwala na skanowanie pojedynczych plików, usuwanie danych exif z obrazów, wyszukiwanie niepożądanych nazw plików, ręczne usuwanie przestarzałych danych cache itd. - ale na końcu i tak ktoś napisze tutaj "A po co mi to?"

Tak więc hejterska społeczność w swym hejcie na pewno doceni 2 nowe funkcjonalności w tej wersji:

- Dodanie ikony do windowsowego pliku exe - zaskakująco wiele osób chciało tą funkcjonalność, ale jak to zwykle bywa nikt do tej pory tego nie zrobił, więc jak większość rzeczy, musiałem zrobić to sam, dzięki temu exe jest teraz łatwo rozpoznawalne(zawiera nowe logo, będące jednorożcem z tarczą, proporcem a na nim narysowanym Krokietem)

- Drugą funkcjonalnością jest ucinanie czarnych pasów z wideo, lub jego statycznych części

Przy przeglądaniu rożnych plików wideo, zauważyłem, że wiele z nich ma dodane jakieś dziwne pasy, przez co czasem je sie trudniej ogląda i na pełnym ekranie, nie wypełniają go całego.

Zatem dla tych plików, mogłem albo ręcznie w ffmpeg przycinać każdy plik obliczając prostokąt z zawartością, korzystać z szemranych stronek przycinających wideo i przy okazji dodające swoje własne logo albo napisać od zera tą funkcjonalność, która działałaby jako tako i ostatecznie wybrałem ostatnią opcję.


Algorytm jest w miarę prosty, z każdej strony testowana jest linia po linii i jeśli 90%(można te wartości zmieniać) pikseli z danej linii z danej ramki, ma różnice w RGB mniejsze niż 20(suma różnic każdej ze składowych), to linia jest oznaczana do usunięcia.

Jeśli w którymkolwiek z kolejnych przebiegów, linia będzie zawierała zbyt dużo różnic względem odpowiadającej jej linii z pierwszej ramki, to jest ona wyrzucana z puli do usunięcia i nigdy później nie jest już testowana.


Na obrazku niżej widać, jak narzędzie poprawnie wykryło ten "ciekawy" obszar wideo i zaznaczyło go na podglądzie(złożonym z 9 klatek z wewnątrz aplikacji), dzięki czemu kliknięcie w optimize, stworzy nowy plik(albo nadpisze stary), bez napisu

Więcej na temat błędów i nowych narzędzi w tej wersji można przeczytać tutaj - https://medium.com/@qarmin/czkawka-krokiet-11-0-c95ee35eccc2


Repozytorium — https://github.com/qarmin/czkawka

Pliki do pobrania wraz z listą zmian — https://github.com/qarmin/czkawka/releases

Licencja — MIT/GPL w zależności od programu (czyli w skrócie za darmo)

#programowanie
#tworczoscwlasna
#rustlang

388bcd6b-0d0b-4f99-9387-2e917ff6eaba

Komentarze (4)

@qarmin Co do przycinania czarnych pasów w video, to w sumie ffmpeg ma wbudowaną funkcjonalność automatycznego wykrycia obszaru do przycięcia. Wiem bo kiedyś dodawałem podobną funkcjonalność do swojego GUI do ffmpeg.
Tutaj link do dokumentacji ffmpeg gdzie ją opisują: https://ffmpeg.org/ffmpeg-filters.html#cropdetect

I jeszcze pytanie jeśli może wiesz, czy paczki w AUR "krokiet-bin" i "krokiet" różnią się czymś poza tym że jedna jest już zbudowana a druga nie? Chodzi mi o te dodatkowe backendy o których pisałeś oraz wsparcie dla dodatkowych formatów.

@Catharsis Nie myślałem, że ffmpeg może mieć takie funkcje, więc nawet nie szukałem takich opcji w nim

Wygląda na to, że krokiet-bin, jest po prostu wrapperem na binarki, które skompilowałem w CI i obecnie to wersja heif_raw_skia_vulkan_x86_64 - czyli korzysta z bibliotek systemowych libheif i libraw i korzysta z backendu skia z vulkanem(zapewne dlatego, że w defaultowym buildzie, czcionki są rozmazane/rozwalone nieco)

https://aur.archlinux.org/cgit/aur.git/commit/?h=krokiet-bin&id=17c8464a3300bf6e237af232daa251b1d1189eb4

Krokiet paczka kompiluje jedynie używa bibliotekę libheif i korzysta z domyślnego backendu femtovg - ma on minimalne zależności(dlatego jest domyślnym wyborem), ale jak wspominałem powoduje, że czcionki są lekko rozmazane

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=czkawka#n47

czyli w zasadzie działać powinny niemal identycznie, czcionki powinny lepiej wyglądać w krokiet-bin i prawdopodobnie libraw powinno też dawać dostęp do nieco większej i lepszej obsługi rawów z aparatów

Nie myślałem, że ffmpeg może mieć takie funkcje, więc nawet nie szukałem takich opcji w nim

FFmpeg to jest prze kombajn z milionem funkcji których się człowiek nawet nie spodziewa że może mieć. Podobnie jak np. imagemagick i wiele innych podobnych projektów open source. Zawsze zanim coś próbuje zrobić ręcznie to pytam się chatbotów czy któryś z tych programów nie ma już takiej funkcji.

A co do AUR to w takim razie super to można instalować "krokiet-bin" i nie bawić się w kompilowanie u siebie skoro nie daje to żadnych korzyści, dzięki za odp.

Zaloguj się aby komentować