Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

30Jan/180

PowerShell & Fotobox – Fotos zu einem bestimmten Hashtag von Instagaram laden

Auf meiner in den letzten Wochen und Monaten gebauten Fotobox (Mehr dazu hier) gibt es einen extra Bildschirm für eine Slideshow der aufgenommenen Fotos. Diese zeigt die neuesten x Fotos aus der Liste aller aufgenommenen Bilder, wobei ein neues Foto immer das älteste Bild ablöst (zu der technischen Realisierung hier werde ich später noch einen größeren Artikel schreiben).

Nun kam mir in diesem Zusammenhang die Idee, aus den sozialen Medien ebenfalls die aktuellsten Bilder zu einem bestimmten Hashtag abzurufen, damit die Gäste unter diesem Hashtag Handyfotos posten könnten, die dann wiederum in die Slideshow einfließen sollten. Hierzu gibt es ein paar Lösungen im Internet, die aber fast alle recht teuer sind und auch größtenteils nur im Browser ablaufen. Ich wollte aber gern die einzelnen Dateien lokal auf dem Rechner haben. Also habe ich mir ein PowerShell-Skript geschrieben, welches genau diese Anforderung erfüllt – allerdings vorerst nur für Instagram.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# What are you searching for?
$Hashtag = "PUTYOURHASHTAGHERE"
 
# How long to wait for the next retry - set to 0 to only search once
$SecondsBetweenRequests = 10
 
# Where do you want to store the downloaded pictures? Use no "\" at the end!
$WhereToStorePictures = "D:\Pictures\" 
 
### Don't change anything below here unless you know what you are doing! ###
 
# If the destination folder does not exist, we need to create it first
If(!(Test-Path $WhereToStorePictures -PathType Container)) 
{
    New-Item $WhereToStorePictures -ItemType Directory
}
 
$URI = "https://www.instagram.com/explore/tags/$Hashtag/"
 
# We are running this from now one until CTRL-C is pressed
Write-Host "To stop the process, press CTRL+C - otherwise it runs forever!" -ForegroundColor Yellow
While($true)
{
    # Get the whole content according to the hashtag search
    $HTML = Invoke-WebRequest -Uri $URI 
 
    # Get all the filenames of pictures with that hashtag from the HTML
    $URLs = ($HTML.Content | Select-String -Pattern '"display_url":\s.*?"edge_liked_by"' -AllMatches).Matches.Value | ForEach-Object {$_.Substring(16,$_.Length-34)}
 
    # Iterate through all the pics on the website
    ForEach($URL in $URLs)
    {
        # We need the filename to see if it was allready downloaded
        $Filename = $URL.Substring($URL.LastIndexOf('/')+1,$URL.length-$URL.LastIndexOf('/')-1) 
 
        # If the pic is not allready in the destination folder, download it
        If(!(Test-Path -PathType Leaf -Path "$WhereToStorePictures\$Filename"))
        {
            Write-Host "`nNew Picture found!" # You can remove this if you want
            Start-BitsTransfer $URL -Destination "$WhereToStorePictures\" # The actual download
        }
    }
    If($SecondsBetweenRequests -eq 0) # Then we just do the download-thing once
    {
        break
    }
    else
    {
        Start-Sleep -Seconds $SecondsBetweenRequests
        Write-Host "." -NoNewline # Just to let you know it is still working... - you can remove this if you want
    }
 
}

 

Das Skript ist wie üblich auch im Microsoft Script Center zu finden: https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Get-Instagram-7d9ddb44

Viel Spaß beim Ausprobieren oder adaptieren!

25Jan/180

Fotobox – Der Bauplan für die Box

In diesem Teil meiner “Fotobox-Serie” möchte ich euch meinen Bauplan und die dahinter steckenden Überlegungen zeigen. Im letzten Teil habe ich etwas zu den Hintergründen des Projektes gesagt – wer das übersehen hat, kann es hier nachlesen:

Mein Fotobox-Projekt

In meine Vorüberlegung zur Konstruktion der Box flossen folgenden Fakten mit ein:

  • Die Abmessungen meiner Kamera
  • Die Abmessungen der von mir geplanten Displays (1x 19’’ Widescreen für die Slideshow, 1x 10’’ Widescreen für das Live-Vorschaubild von der Kamera und 1x 7’’ Widescreen für die Anleitung und andere Interaktion mit dem Benutzer
  • Die Maße weiterer zu verbauender Komponenten (Mini-PC, Stromleiste, …)
  • Der Wunsch, die Fotobox auf einem Boxenstativ aufstellen zu können und damit die Notwendigkeit, einen Boxen-Flansch zu montieren
  • Die Notwendigkeit, die Box zu kühlen, da durch PC, Displays und andere Komponenten über die Zeit reichlich Abwärme entsteht
  • Durch den Wunsch, die Box bei Nichtgebrauch zerlegen zu könne, und um das Transportgewicht zu verringern, sollten die größeren Komponenten der Box einfach entfernt werden können. Dazu…
    • …sollten die Displays auf einer Art Schiene in die Box geschoben werden können
    • …sollte die Kamera in ihrer Position und Ausrichtung leicht verändert und ebenso leicht entnommen werden können
    • …sollten die beiden Seiten der Box als eine Art Deckel und Wartungs-Zugang fungieren und leicht zu öffnen, aber auch wirksam zu verschließen sein
  • Auf dem Dach der Box sollte später die Halterung für den Blitz und den Lichtformer angebracht werden; dabei sollte sowohl ein einfacher Systemblitz als auch ein schwerer Studioblitz verwendet werden können
  • In meinen ursprünglichen Überlegungen sollte die Stromversorgung und die Verbindung zum Fußtaster über eine Öffnung im Boden der Box erfolgen, weshalb ich dort eine Kabeldurchführung, wie man sie z.B. in Tischplatten verwendet, vorgesehen habe – später habe ich das aber anders gelöst

Im Ergebnis sieht die konstruierte Box dann grob so aus:

- Auf der Vorderseite (in meiner Definition ist das die Seite, vor der die zu fotografierenden Gäste stehen) sind die Öffnung für die Kameralinse und die beiden kleineren Displays

- Auf der Rückseite ist im Wesentlichen das größere Display für die Slideshows und falls später nötig ggf. ein Ausgabeschlitz für die Fotos des Druckers

- Die linke und rechte Seite sind jeweils eine Art Deckel mit jeweils montierten Lüftern für die Kühlung

- Auf der Unterseite ist der Boxenflansch montiert und es gibt Platz für die Kabeldurchführung

- Auf der Oberseite wird eine Art Mini-Lampenstativ für den Blitz montiert

- Die Breite wird durch die Breite des 19’’-Displays bestimmt – jeweils mit etwas Rahmen links und rechts davon, damit die Konstruktion stabil ist; Außerdem sollte eine 8-fach Steckerleiste quer in die Box passen

- Die Höhe der Box wird durch die beiden kleineren übereinander montierten Displays und dem dazwischen nötigen Platz für die Linsen-Öffnung bestimmt

- Die Tiefe der Box wird einerseits durch den nötigen Platz für Kamera, WLAN-Router, Mini-PC und co. bestimmt und andererseits durch den Wunsch nach einer nicht zu schmalen Box (wegen der Stabilität)

Daraus resultieren dann die Abmessungen

  • 54cm breit
  • 40cm tief
  • 45cm hoch

Fotobox_Konstruktion_Zeichnungen_Seite1

Die Zeichnung für die Box habe ich der Einfachheit mit Microsoft Visio gemacht. Ich habe mich kurz an SketchUp Free versucht, aber hier war mir die Einstiegshürde zu hoch.

In der Zeichnung war ich noch von 20mm starkem Holz ausgegangen, verwendet habe ich dann 18mm starke Platten aus Kiefer. Alternativ kann man auch Fichte verwenden.

Fotobox_Konstruktion_Zeichnungen_Seite2

Auf der Zeichnung sind die diversen von mir verwendeten Komponenten mit ihren jeweiligen Maßen berücksichtigt. Diese müssen natürlich an die eigenen Gegebenheiten angepasst werden, wenn man die Konstruktion nachbauen will.

Und hier nun also meine Zeichnung in diversen Formaten:

Konstruktion als bearbeitbare Visio Datei

Konstruktion als PDF

21Jan/180

Mein Fotobox-Projekt

Mein “kleiner Bruder” heiratet dieses Jahr. Es wird bei weitem nicht die erste Hochzeit in meinem persönlichen Umfeld sein, auch nicht die erste, auf der ich fotografiere oder eine “Photobooth” aufbaue (in 2017 habe ich 3 oder 4 Hochzeiten fotografiert, auf einer davon auch auch den ganzen Abend zusätzlich mit Photobooth). Nun war der Wunsch meines Bruders und meiner künftigen Schwägerin, auch bei den beiden eine Photobooth aufzubauen. Da die Location dieses Mal aber deutlich gehobener ist, will ich nicht mit dem bisherigen Aufbau arbeiten, bei dem ich Zeug auf Tischen stehen habe und so. Stattdessen sollte es eine “richtige Photobooth” werden. Mein Fotobox-Projekt war geboren!

Im Herbst 2017 habe ich mir einige Gedanken gemacht, was die Fotobox können soll, was sie nicht zu können braucht und wie der Aufbau aussehen könnte. Folgende Fähigkeiten waren mir dabei wichtig:

  • Alles-in-Einem-Lösung mit optisch ansprechendem Gehäuse, das sich bei längerem Nichtgebrauch zerlegen lässt
  • Unbeaufsichtigter Einsatz ohne bewegliches Material wie Fernauslöser o.ä.
  • Verwendung bereits vorhandener Foto-Komponenten soweit möglich, um die Kosten gering zu halten
  • Bedienung ohne Touchscreen oder Tastatur/Maus
  • Live-Bild von der Kamera
  • Ein Blitz auf dem “Dach”
  • Anzeige der bereits gemachten Fotos in einer Slideshow
  • Upload der Fotos auf einen Cloudspeicher

Daraus resultierte folgender Ansatz:

  • Das Gehäuse aus Vollholz zu bauen, aber weitgehend mit Maschinenschrauben und Muttern zu arbeiten
  • Meine vorhandene Sony A65 D-SLR (SLT) als Kamera zu verwenden
  • Einen Mini-PC mit entsprechender Software laufen zu lassen
  • Vorerst auf einen Drucker zu verzichten, aber Platz für meinen Canon Selphy zu lassen, falls später nötig
  • 3 Monitore zu verbauen:
    • Einen für das Live-Bild von der Kamera
    • Einen für Anleitung/Bedienung und das letzte geschossene Bild
    • Einen für die Slideshow
  • Eine Fußtaster zum auslösen benutzen

26001324_1765060113513757_6851081348184229644_n

Bedingt durch die Tatsache, dass meine Sony A65 selber kein WLAN hat und sich auch nicht per USB sinnvoll steuern lässt, musste ich auf eine Toshiba FlashAir WiFi SD-Karte zurückgreifen. Damit kann man jede beliebige Kamera WLAN-fähig machen. Und da sich die Karte auch sehr umfangreich anpassen lässt, ist die Benutzung auch sehr zuverlässig.

Da ich nun mit den meisten Arbeiten fertig bin, möchte ich euch in den folgenden Blog-Posts über die Details meiner Arbeit informieren. Wer Fragen zur Box hat, darf sich gerne an mich wenden!

22Mrz/162

Digitizer / Touchscreen von Surface Pro oder anderem Tablet remote bzw. als erweiterten Bildschirm benutzen

Kürzlich stand ich vor der Aufgabe, altes Fotomaterial aufzuarbeiten um dabei insbesondere Schäden an den Fotos und andere Bildfehler zu korrigieren. Für derartige Aufgaben nutze ich sehr gern Photoshop Elements. Für einen schmalen Taler bekommt man viele Funktionen (natürlich nicht so viel wie beim “richtigen” Photoshop, aber das kostet fast 10x soviel). Das von mir sonst benutzte Adobe Lightroom kann das leider nicht oder nur mit riesigem Aufwand.

Nachdem ich das erste Bild bearbeitet hatte, kam mir die Idee, auf meinem Surface Pro weiter zu machen, da dieses ja über einen Digitizer verfügt und mir somit das Arbeiten mit einem Stift ermöglicht hätte. Ein Grafiktablet ala Wacom o.ä. habe ich leider nicht, bin davon aber auch nicht so überzeugt. Bei den halbwegs bezahlbaren ist kein Display enthalten, so dass man auf dem Tablet nur arbeitet, das Ergebnis aber auf dem Monitor zu sehen ist. Beim Surface hingegen kann ich mit dem Stift direkt “im Bild” arbeiten.

Nun hatte ich aber kein Photoshop Elements auf dem Surface und mangels DVD-Laufwerk hätte ich erst die DVD auf USB.-Stick kopieren müssen. Also habe ich nach einer Möglichkeit gesucht, das Surface einfach nur als zweiten Bildschirm an meinem “Haupt-PC” (wo das Photoshop läuft) zu benutzen – und ich wurde fündig. Die Lösung nennt sich “Splashtop”. Wie das genau funktioniert, seht ihr in einem meiner YouTube-Videos: