Skocz do zawartości

Darmowy wbudowany interwałometr do aparatów Sony (A7II, A6000, A6500...)


kamilkrzywda

Rekomendowane odpowiedzi

O kurde, a ja się zawsze męczyłem przy pomocy aplikacji Imaging Edge Mobile, która kontroluje aparat przez wifi (w aparacie uruchomione Smart Remote Control). Ale tej apki nie dało się zautomatyzować, więc doinstlalowałem aplikację Auto Clicker. Ale to wymaga non stop włączonego ekranu i telefonu zostawionego w zasięgu wifi aparatu...

Na pewno spróbuję dzisiaj to zainstalować i przetestować na A5000 oraz A7II. Jeśli to zadziała to z nieba mi spadłeś.

 

W sumie jak patrzę na twojego diffa (na masterze) to nieźle tam musiałeś pohakować.. co w sumie nie działało w oryginalnym kodzie?

Edytowane przez MichałK
  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Przy okazji ostatnich Perseidów korzystałem z tej apki - działa! (pisze o oryginale)

 

2 godziny temu, kiniu-13 napisał:

Możesz napisać coś więcej o instalowaniu tej aplikacji i jej uruchomieniu ?

- Ściągasz .exe z podanej strony,

- odpalasz na kompie,

- podłączasz włączony aparat,

- apka go rozpoznaje,

- wybierasz z listy aplikacje do zainstalowania.

 

58 minut temu, MichałK napisał:

co w sumie nie działało w oryginalnym kodzie?

W oryginale nie ma obsługi trybu B. Czyli ekspozycja do 30 sek na klatkę.

 

Autor sugeruje, że dodał właśnie to (pewnie zmienił zbędny w astro Interwał na czas B ) - choć załączony screen niczym się nie różni od oryginału.

  • Lubię 1
  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

6 godzin temu, MichałK napisał:

O kurde, a ja się zawsze męczyłem przy pomocy aplikacji Imaging Edge Mobile

 

 

No właśnie z tego powodu zacząłem szukać alternatywy - ich program nadaje się praktycznie tylko to tatheringu.

 

5 godzin temu, Marek_N napisał:

Autor sugeruje, że dodał właśnie to (pewnie zmienił zbędny w astro Interwał na czas B ) - choć załączony screen niczym się nie różni od oryginału.

 

Aż tak wiele nie zmieniłem - skale w paskach do ustawienia są dostosowane do naszych potrzeb i jest przepisany kawałek kodu który odpowiada za zliczanie czasu. Oryginał robił zdjęcie i czekał aż aparat skończy i reagował na zamknięcie migawki. Do BULB musiałem dodać własny licznik czasu który otwiera i zamyka migawkę.

Wyrzuciłem też tryb burst i bracketing (dlatego zniknął przycisk) bo przy takim naliczaniu czasu i tak nie działały.

 

 

TUTAJ jest instrukcja instalacji do oryginału.

Edytowane przez kamilkrzywda
Odnośnik do komentarza
Udostępnij na innych stronach

5 godzin temu, Marek_N napisał:

- wybierasz z listy aplikacje do zainstalowania.


Ten punkt się zmienia bo instalujesz mój plik .apk :)

 

 

 

Swoją drogą fajnie jeśli bylibyście w stanie przetestować moją wersję aplikacji na różnych aparatach i dać znać czy wszystko działa ok. 

Edytowane przez kamilkrzywda
Odnośnik do komentarza
Udostępnij na innych stronach

6 hours ago, kamilkrzywda said:

Swoją drogą fajnie jeśli bylibyście w stanie przetestować moją wersję aplikacji na różnych aparatach i dać znać czy wszystko działa ok. 

 

Nie jest idealnie. Filmiki w załączniku.

 

Przy krótkim bulbie (na filmiku)

* Na a5000 crashuje się po drugiej fotce i nic nie zapisuje. Więc "nie da się używać".

* Na a7ii niepoprawnie zlicza liczbę zdjęć, ale nie crashuje się. Niestety tak nie jest z dłuższym interwałem.

 

Podobne zachowanie udało mi się zreplikować na bulbie 60 sekund, ale troszkę inne:

* a5000 crashuje sie po rozpoczęciu drugiego zdjęcia (na ekranie jest 2/5) (tak jak wcześniej)

* a7ii po zrobieniu pierwszego zdjęcia (na ekranie jest 2/5) czeka 60 sekund przed rozpoczęciem kolejnego (jak się skończy to na ekranie jest 4/5), i znowu czeka 60 sekund przed rozpoczęciem ostatniego. Niestety, to ustawia sztuczny delay między zdjęciami równy długości ekspozycji, to jest niestety za długo...

 

W obu przypadkach ustawiam 5 shots a robią się trzy. Po pierwszym zdjęciu na ekranie pokazuje się 2/5, po drugim crash (a5000) albo 4/5 (a7ii)

 

Będziesz chciał to naprawiać? Bo jak nie to może ja coś pogrzebię

 

BTW czy AEL należy włączyć czy wyłączyć do astrofoto?

 

BTW2 czy mógłbyś proszę zmienić nazwę aplikacji? Bo z teraz nie da się zainstalować tej oryginalnej oraz wersji astro jednocześnie, pewnie jest konflikt nazw.

Edytowane przez MichałK
Odnośnik do komentarza
Udostępnij na innych stronach

Jakie wersje firmware masz w obu aparatach? Powinny być najnowsze. W przypadku A7II pozostaje mi klasyczne "u mnie działa" :) (A7II z najnowszą wersją firmware)

 

Bliżej weekendu przysiądę dłużej przy aplikacji i wtedy zmienię też jej nazwę.

 

Załączam wersję z przedłużonym opóźnieniem pomiędzy kolejnymi zdjęciami - powinno pomóc na robienie podwójnego zdjęcia na samym początku.

Takie zachowanie jak na Twoim nagraniu z A7II miałem u siebie właśnie w przypadku zbyt krótkiej przerwy na zapis danych - może chodzić o coś tak błahego jak np wolniejsza karta sd.

TimeLapse-astromod-1.5.5-500.apk

 

Edit: Gdybyś chciał sam pogrzebać to chodzi o TĄ LINIJKĘ

Edytowane przez kamilkrzywda
Odnośnik do komentarza
Udostępnij na innych stronach

Nie zauważyłem twojego posta i sam zacząłem grzebać, ale miałem ten sam pomysł - podbiłem delay do 5000 w dokładnie tej samej linijce co napisałeś, i na a7ii zadziałało. Na a5000 bez zmian (wciąż crash po pierwszym zdjęciu). Mam wrażenie, że crash następuje szybciej, niż mija "podbite" 5000ms, drugie zdjęcie nawet nie zaczyna się robić.

 

Sony Corporation ILCE-5000 is a camera in MTP mode

Model:              ILCE-5000
Product code:       0032826531
Serial number:      03804037
Firmware version:   1.10

1.10 jest chyba najnowsza dla tego aparatu.

 

Co do a7ii

Sony Corporation ILCE-7M2 is a camera in MTP mode

Model:              ILCE-7M2
Product code:       0032827830
Serial number:      03899783
Firmware version:   4.01

i chyba 4.01 TEŻ jest najnowsze. Więc strzelam, że pewnie rzeczywiście kwestia karty SD. Akurat mam włożoną jakąś 170MB/s.

 

16 hours ago, kamilkrzywda said:

Takie zachowanie jak na Twoim nagraniu z A7II miałem u siebie właśnie w przypadku zbyt krótkiej przerwy na zapis danych - może chodzić o coś tak błahego jak np wolniejsza karta sd.

 

Myślę, że gdyby apka respektowała parametr delay, to by było spoko - pomogłoby to z wolniejszymi kartami.

 

---

edit: udało się rozwiązać problem z a5000 (zob. kolejny post), ale zostawiam notatki poniżej

 

Masz jakiś pomysł co może być nie tak z a5000? Patrzę trochę na to i jak na razie i niestety chyba cameraEx.cancelTakePicture nawala... Wykomentowałem cameraEx.getNormalCamera().stopPreview(); i to nic nie dało. Dodałem wszędzie sleepy i to też nie pomaga (poza tym, że pierwszy sleep wydłuża czas ekspozycji):}

        public void run() {
            try { Thread.sleep(5000); } catch (InterruptedException e) {}
            cameraEx.cancelTakePicture();
            try { Thread.sleep(5000); } catch (InterruptedException e) {}
            //cameraEx.getNormalCamera().stopPreview();
            try { Thread.sleep(5000); } catch (InterruptedException e) {}
            stopPicturePreview = true;
            shootRunnableHandler.postDelayed(shootRunnable, 5000);
            //cameraEx.getNormalCamera().takePicture(null, null, null);
        }

 

Jeszcze wyłączyłem LENR na dwa sposoby (ale tutaj akurat to strzał w ciemno, ale pamiętam, że były jakieś problemy na a5000 z tym): https://github.com/ma1co/OpenMemories-Tweak/issues/169#issuecomment-419191617 oraz poprzez https://github.com/obs1dium/BetterManual/blob/54b424b5e95fc00534e404fdd480cd8fc5406c49/app/src/main/java/com/obsidium/bettermanual/ManualActivity.java#L775

        // Disable long exposure noise reduction (LENR)
        if (modifier.isSupportedLongExposureNR())
            modifier.setLongExposureNR(false);

 

Na razie brak mi pomysłów, podejrzewam, że cameraEx.cancelTakePicture nie działa z jakiegoś powodu

Edytowane przez MichałK
Odnośnik do komentarza
Udostępnij na innych stronach

Eureka... ????

 

Pogrzebałem trochę więcej i zobaczyłem, że tutaj https://github.com/obs1dium/BetterManual/issues/8#issuecomment-332859337 piszą, że problem z a5000 mają jak robią RAW+JPG, przy samym RAW im działa.

 

Więc postanowiłem zmienić u siebie z czystego RAW na JPG i.... działa! Co super dziwne, działa też przy RAW+JPG. Czyli na odwrót niż u nich.

 

Chyba skończę swoje debugowanie, prawdziwy egzamin Twojej apki na astrozlocie pod koniec tygodnia :)

Edytowane przez MichałK
  • Kocham 1
Odnośnik do komentarza
Udostępnij na innych stronach

Akurat o wyłączeniu LongExposureNR jest nawet w instrukcji oryginalnego programu - zapomniałem o tym wspomnieć. Na pewno dodam wymuszone wyłączenie tej opcji u siebie.

 

5000ms to zdecydowanie za dużo, w oryginalnej aplikacji jest 150ms, u siebie przestawiłem na 300, a w załączonym w przedostatnim poście pliku jest testowo 500ms.

Odnośnik do komentarza
Udostępnij na innych stronach

3 hours ago, kamilkrzywda said:

Akurat o wyłączeniu LongExposureNR jest nawet w instrukcji oryginalnego programu - zapomniałem o tym wspomnieć. Na pewno dodam wymuszone wyłączenie tej opcji u siebie.

 

tylko wiesz, u mnie nie pomogło :) ale czemu nie

 

3 hours ago, kamilkrzywda said:

5000ms to zdecydowanie za dużo, w oryginalnej aplikacji jest 150ms, u siebie przestawiłem na 300, a w załączonym w przedostatnim poście pliku jest testowo 500ms.

Pewnie przesadziłem z 5000ms, ale to dlatego, żeby na pewno zidentyfikować problem, pewnie da się skrócić. Ale wiesz, chyba najlepiej czekać między zdjęciami interwał o długości w stylu max(150, settings.delay) . Oraz rekomendować w readmie zwiększenie delay, jeśli aparat "gubi" fotki.

 

Nie ma możliwości sprawdzenia, czy aparat jest "gotowy" do następnego zdjęcia? Czy istnieje jakaś metoda camera.isReady()? Albo może takePhoto zwraca kod błędu albo rzuca wyjątkiem (którego nie widzimy, bo jest w wątku)? (nie mogę znaleźć dobrej dokumentacji tego frameworka)

Edytowane przez MichałK
Odnośnik do komentarza
Udostępnij na innych stronach

2 godziny temu, MichałK napisał:

Nie ma możliwości sprawdzenia, czy aparat jest "gotowy" do następnego zdjęcia?

Sprawdzę.

Wszystko działa asynchronicznie więc generalnie metody nie zwracają błędów.


Poszukałem chwilę i w testach ciągłego robienia zdjęć A7II blokuje się na 1 zdjęcie/0.69s, A7R (czyli najgorszy case dla RAW w tej generacji aparatów) ma 0.99s , więc spróbujemy z liczbą w tych okolicach.

 

 

2 godziny temu, MichałK napisał:

Ale wiesz, chyba najlepiej czekać między zdjęciami interwał o długości w stylu max(150, settings.delay)

To zostawimy jak nic innego nie pomoże :) 

Edytowane przez kamilkrzywda
Odnośnik do komentarza
Udostępnij na innych stronach

Prowadzę tutaj dyskusję jakby co: https://github.com/obs1dium/BetterManual/issues/8#issuecomment-910331242

 

Obecnie zastanawiam się, czy problemem jest wołanie takePicture i cancelTakePicture poza wątkiem głównym. Oryginalny TimeLapse chyba nie robi tego poza wątkiem głównym, i coś na ten temat jest wspomniane w w/w dyskusji.

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Zmieniłem nazwę aplikacji - można już zainstalować razem z oryginałem.


Przeniosłem też cancelTakePicture do jednego wątku z resztą rzeczy - faktycznie w oryginalnym kodzie jest widoczna próba wywołania wszystkiego w wątku głównym.

 

Czas oczekiwania zmieniłem na 500ms, ale przez scalenie wszystkiego w jeden thread powinno być już ok.

 

@MichałK prośba o testy :)

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Przetestowałem commit d6c150 tylko na a5000, bo się pakuję, ale działa! 

Na filmiku zapomniałem pokazać, ale zdjęcia są w galerii.

Co do końcówki to sam nie wiem.

 

Czytam twój kod, i i tak jest użyty Runnable, tylko jeden zamiast dwóch. Ale to wciąż nie jest wątek główny. Więc w sumie tym bardziej nie wiem czemu teraz działa.. :hmm: 

 

A, no i w trybie RAW wciąż się crashuje tak jak dawniej. Ale działa w RAW+JPG więc jest OK.

 

Dzięki wielkie, na pewno apka się przyda.

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • 3 tygodnie później...

Poprawiłem możliwe od wybrania czasy - teraz mamy pełne minuty itp. a nie jakieś arbitralne 318s. Dodatkowo zwiększyłem ponownie opóźnienie po wykonaniu zdjęcia - aplikacja powinna działać stabilnie.

 

AstroLapse-release-1.5.9.apk

 

 

Nie mogę edytować pierwszego wpisu - jeśli jakiś moderator/administrator tu zajrzy to prosił bym o podmiankę pliku w pierwszym wpisie.

Edytowane przez kamilkrzywda
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.