Tasker-Fotoaufnahmen auf sd-Karte speichern

  • 8 Antworten
  • Letztes Antwortdatum
I

Ice-Only

Ambitioniertes Mitglied
6
Hi,

für meinen Norwegenurlaub will ich mir eine Dashcam aus einem alten Smartphone schnitzen.
Neben dem Intent-getriggerten GPS-Logging per GPS-Logger for Android will ich ein Timelapse-Video erstellen.

Kann Tasker aufgenommene Fotos direkt auf der sd-Karte speichern?
Konnte nirgends diese Option finden...

Mfg
Ice
 
@Ice-Only
Tasker kann Fotos machen, aber nicht direkt auf die SD Speicher.
Unter: Task + > Medien > Foto
Die Fotos werden im Internen Speicher > DCIM > Tasker abgelegt.

Du konntest ein Profil erstellen das in einer gewissen Zeit (zB. 03:00 morgens) den Tasker Bilder Ordner auf die SD Kopiert.

Unter: Task + > Datei > Ordner Kopieren
+
Unter: Task + > Datei > Ordner Löschen

Eventuell gibt es ein Plugin, aber mir ist nichts Bekannt.
 
  • Danke
Reaktionen: Ice-Only
@Spardas,

jawoll super.
Starten und Stoppen werde ich den Task "Bilder machen" über den Trigger "Power". D.h. wenn ich das Fahrzeug abstelle wird das Handy (mit Restakku) nicht mehr mit Strom versorgt und führt dann die Ordnerkopie der gemachten Bilder auf die Speicherkarte aus.
MIt Termux und ffmpeg aus dem mpv-Paket kann ich im Anschluss sogar aus den Fotos auf dem Telefon das Timelapse-Video erstellen.
Großartig, bisher habe ich das immer erst im Nachgang am PC gemacht.

Allerdings hadere ich noch mit einem Problem und brauche Lösungshilfe:
Momentan benenne ich die Fotos mithilfe der Namenssequenz "Series", es entstehen die Fotobezeichnungen: "TL_1, TL_2, ...".
Spätestens beim eflten Bild kommt dann jedoch ffmpeg bei der Sortierung durcheinander.
Deshalb sollte die Fotos lieber so bezeichnet werden: "TL_0001, TL_0002, ..., TL_7200".

Wie könnte ich das umsetzen?

Gruß, Ice
PS: Wenn es läuft, werde ich ein Tutorial dazu schreiben, vllt kanns dann der ein oder andere gebrauchen.
 
Hier mein Lösungsansatz. Aber du muss mit 1000 oder 10000 beginnen. Bei 0001 macht Tasker wenn +1addiert = 2 ohne Nullen.

 
  • Danke
Reaktionen: Ice-Only
Hallo

du kannst die Bilder auch gleich auf die SD Karte schieben lassen.

mfg
 

Anhänge

  • Dateien_verschieben.tsk.zip
    541 Bytes · Aufrufe: 131
  • Danke
Reaktionen: Spardas
Hi,

also ich bin nun an einem Punkt, welcher erst mal so funktioniert.
Sollte allerdings noch verbessert werden, Fragen siehe unten :D

Benötigt: Tasker, Termux:Task, Termux

Vorbereitungen in Termux:
- eingeben: termux-setup-storage
- eingeben: apt install mpv (beinhaltet die Videobearbeitungssoftware ffmpeg)
- neue Datei ".termux/Tasker/zeitraffererstellung.sh" erstellen und Code aus Codelisting einfügen:
Code:
#!/data/data/com.termux/files/usr/bin/sh

ffmpeg -r 15 -start_number 10001 -i "/storage/sdcard0/DCIM/Tasker/Timelapsephoto_%05d.jpg" -vcodec libx264 /storage/sdcard0/DCIM/Tasker/01zeitraffer.avi
- zeitraffererstellung.sh mit "chmod +x ./zeitraffererstellung" ausführbar machen.

Task 1 "Photolapse_unendlich"
Um die Timelapse zu starten (läuft statt unendlich maximal 10h^^). Das genutzte Telefon unterstützt kein Offline-Laden. Das mache ich mir zu Nutze: Sobald Strom angesteckt wird, fährt das Telefon hoch und aktiviert das Profil "Gerät hochfahren & Power An" mit genau diesem Task hier:
Code:
Photo-Lapse_unendlich (8)
    A1: Tasker Icon setzen [ Icon:hd_device_access_camera ]
    A2: For [ Variable:%items Einträge:10001:17201 ]
    A3: Foto [ Kamera:Rückseite Dateiname:Timelapsephoto_%items Namenssequenz:Keine In Galerie einfügen:An Eigenständig:An Auflösung:960x720 Scene Mode:Sport White Balance:Automatik Flash Mode:Aus Fokusmodus:Automatik Task Weiter Ausführen Nach Fehler:An ]
    A4: Warte [ MS:0 Sekunden:5 Minuten:0 Std.:0 Tage:0 ]
    A5: End For

Task 2 "Stoppe GPS-Logging und Photolapse"
Stoppt das GPS-Logging und führt dann den Task 3 aus und fährt das Telefon im Anschluss herunter. Der Task startet, sobald das Telefon nicht mehr mit Strom versorgt wird.
Code:
Stoppe GPS-Logging und Photolapse (4)
    A1: Sende Intent [ Aktion:com.mendhak.gpslogger.GpsLoggingService Typ:None MIME Typ: Daten: Extra:immediatestop:true Extra: Extra: Paket: Klasse: Ziel:Service ]
    A2: Stopp [ (Fehler):Aus Task:Stoppe Photolapse ]
    A3: Warte [ MS:0 Sekunden:0 Minuten:5 Std.:0 Tage:0 ]
    A4: Reboot [ Typ:Runterfahren ]

Task 3 "Stoppe Photolapse"
Hier wird aus den einzelnen Bildern das Video in termux erzeugt. Im Anschluss der vorgestellte Task von schmetty2. Vielen Dank dafür.
Code:
Stoppe Photolapse (13)
    A1: Stopp [ (Fehler):Aus Task:Photo-Lapse_unendlich ]
    A2: Tasker Icon setzen [ Icon:hd_device_access_switch_video ]
    A3: Termux [ Konfiguration:Execute ~/.termux/tasker/zeitraffererstellung.sh. Timeout (Sekunden):600 ]
    A4: Warte [ MS:0 Sekunden:0 Minuten:10 Std.:0 Tage:0 ]
    A5: Variable Setzen [ Name:%aktuelleZeit Zu:%DATE-%TIME Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus ]
    A6: Erstelle Verzeichnis [ Ordner:/storage/sdcard1/DCIM/Tasker_Photolapsen/%aktuelleZeit/ Alle erstellen:Aus Benutze Root:Aus ]
    A7: Task Ausführen [ Name:Dateien verschieben Priorität:%priority Parameter 1 (%par1): Parameter 2 (%par2): Rücksetzungswert Variable: Stop:Aus ]
    A8: Tasker Icon setzen [ Icon:cust_notification ]


Jetzt die Fragen:
In den Tasks 2 und 3 gibts es zwei Wartezeiten. Grundsätzlich soll das Telefon quasi nicht angefasst werden, wenn ich aber während der Wartezeiten am Handy bin, um zB die Videos zu verschicken, soll der "Reboot"-Befehl nicht gestartet werden. Das Handy soll anbleiben, wie könnte ich das verbessern?

Der Termux-Befehl muss erst mal fertig sein, bevor die Dateien wegkopiert werden können. Leider scheint Tasker nicht zu warten, bis das Skript fertig ist, sondern macht direkt weiter. Gibt es eine Möglichkeit die weiteren Taskpunkte zu verzögern, bis das Skript fertig ist? Das könnte den 10min-Waitbefehl unnötig werden lassen.

Gibt es sonst noch Anmerkungen/Verbesserungen?
 
Ice-Only schrieb:
A3: Warte [ MS:0 Sekunden:0 Minuten:5 Std.:0 Tage:0 ] A4: Reboot [ Typ:Runterfahren ]
Setzt vor das Reboot eine
Warten bis
If: SCREEN gl off

Ice-Only schrieb:
Gibt es eine Möglichkeit die weiteren Taskpunkte zu verzögern,
Das Script könnte eine Variable schrieben, wenn es Fertig ist, und das wieder mit einem
Warten bis abfragen.
Aber mit den Scripten kenne ich mir nicht aus.
 
  • Danke
Reaktionen: Ice-Only
Ice-Only schrieb:
...


Jetzt die Fragen:
...
Der Termux-Befehl muss erst mal fertig sein, bevor die Dateien wegkopiert werden können. Leider scheint Tasker nicht zu warten, bis das Skript fertig ist, sondern macht direkt weiter. Gibt es eine Möglichkeit die weiteren Taskpunkte zu verzögern, bis das Skript fertig ist? Das könnte den 10min-Waitbefehl unnötig werden lassen.

Gibt es sonst noch Anmerkungen/Verbesserungen?

du könntest statt einem skript in tasker "execute terminal command" (oder so ähnlich hab aktuell kein tasker drauf deshalb kann ich den punkt leider nicth genau sagen) mit root rechten verwenden (root rechte um auf die in termux installierten binariers zugreifen zu können), dafür musst du eigentlich nur bei tasker LD_LIBRARY_PATH=/Pfad_zum_termux_lib_ordner mit angeben. Dann sollte tasker den nächsten punkt erst nachdem der shell befehl fertig ist ausführen
 
vetzki schrieb:
execute terminal command" (oder so ähnlich hab aktuell kein tasker drauf deshalb kann ich den punkt leider nicth genau sagen) mit root rechten verwenden
Warscheinlich meinst du Shell Ausführen
 

Anhänge

  • Screenshot_20170626-093137.png
    Screenshot_20170626-093137.png
    26,9 KB · Aufrufe: 224
  • Screenshot_20170626-092947.png
    Screenshot_20170626-092947.png
    18,1 KB · Aufrufe: 198
  • Danke
Reaktionen: vetzki

Ähnliche Themen

coolzero3389
Antworten
1
Aufrufe
212
coolzero3389
coolzero3389
b0mb
  • b0mb
Antworten
1
Aufrufe
128
b0mb
b0mb
Doni890
Antworten
1
Aufrufe
331
jandroid
jandroid
Zurück
Oben Unten