Seit mehr als 10 Jahren ist der SpeedCommander nun mein täglicher Begleiter auf meinen privaten und auf meinem Firmen-PC. Irgendwie dachte ich mir, dass dies auch eine Erwähnung wert ist, auch wenn ich nur noch wenig blogge.
Ich will einfach mal die Features erwähnen, die ich wirklich jeden Tag nutze.
Eingebauter Packer/Entpacker in x-Formaten (darunter auch so manches esoterisches, aber eben nützliches).
Selbstentpackende Dateien werden (wenn gewünscht) als Archiv geöffnet.
Einfacher Dateifilter um nur bestimmte Dateien anzuzeigen.
Komplexes umbenennen von Dateien mit Dateimustern, Regex Filtern und Erstetzungsfunktionen.
Zweigansicht (Ansicht aller Dateien ink. Dateien in den Unterordnern)
Simple Vergleichsfunktionen zwischen zwei Ordnern
Komplexe Synchronisierungsfunktionen zwischen Ordnern
Schnellansicht für extrem viele Dateiformate (für mich für EXE/DLL Dateien immer wieder wichtig)
FTP/SFTP Client (ich nutze Filezilla nur in Ausnahmefällen)
Sehr guter eingebauter Editor.
Direkter Zugriff auf Cloudspeicher (Dropbox/Onedrive etc.)
Das ist vermutlich nicht mal gerade mal die Spitze des Eisberges bei all den Funktionen vom SpeedCommander. Aber es sind die Funktionen, die ich nicht mehr missen möchte bei meiner ganz alltäglichen Arbeit.
Mich haben doch einige Anfragen erreicht, die um den Sourcecode von PTZControl gebeten haben.
Ich habe mich entschieden den Code auf GitHub zu veröffentlichen. Ich hoffe, dass dies anderen hilft, oder es nützt den Sourcecode anderweitig zu verwenden.
Vielleicht hilft es so, anderen das Streaming der Gottesdienste mit der PTZ 2 Pro oder Rally einfacher zu gestalten.
Mit Corona kamen wir auch als Kirchengemeinde schnell zum Streamen unserer Gottesdienste. Die Lernkurve war steil und für mich ziemlich heftig.
Selten musste ich so viele Dinge auf einmal unter den Hut bringen und lernen und zeitgleich ein Team aufbauen, dass das Videostreaming seit Mai 2020 aufrechterhält. Und wie es aussieht, wird es keinen Schritt mehr zurückgeben. Jetzt haben wir Streaming als bleibenden Dienst mit einem festen Mitarbeiterteam und die Gemeinde hat sich mehr oder weniger auch an diesen Luxus gewöhnt. Das ist positiv wie negativ (aber das ist vielleicht etwas für einen späteren Blogartikel).
In kürzester Zeit musste ich mich für eine Technik, Hardware und Software entscheiden. Dabei sollte die Lösung natürlich preiswert, einfach, kompatibel und billig sein. Was auch sonst?
Wir haben uns entschieden ohne Video Schnittboard (ATEM Board oder ähnliches) zu arbeiten. Der Preis für digitale Kameras schockte mich etwas, zudem fand ich festinstallierte Kameras zu statisch.
Ich dann schnell kam zu der folgenden Lösung:
OBS als primäre Software, auch zur Schnittsteuerung und zur Auswahl der Szenen
2 angeschlossene Logitech PTZ 2 Pro (am Anfang war es nur eine)
Ein Elgato HD 60S+ um unsere Beamer Ausgabe in den Stream einzubinden
Unser Sound wird auch über das Elgato HD 60S+ direkt aus dem Mischpult abgegriffen.
Ein weiteres USB-Mikro, als Raummikrofon bei Bedarf
Gestreamt wird direkt über YouTube
Als Hardware wurde ein preiswerter (hässlicher) HP-Laptop mit einem schnellen Intel I5 Prozessor angeschafft (500€), aber die Hardware ist schnell gut und stabil auch durch die OBS QSV Hardware Unterstützung.
Dazu noch einige aktive USB-2 Kabel mit 10m Länge.
Alles in allem sind wir damit unter 1.800€ geblieben.
Die Logitech PTZ 2 Pro erschien mir mit einem 10fach Zoom und der hohen Bildqualität als ideal und preiswerte Kamera. Ich habe beide Kameras als B-Ware (1 Jahr Garantie) für um die 450€ erwerben können.
Beim Start des Streamens mit einer Kamera konnten wir noch die Fernbedienung nutzen, aber das war hakelig. Zudem stört das Zoomen und Scharfstellen, das Streaming-Erlebnis. Das Video wirkt nervös und unprofessionell.
Also wurde eine zweite Kamera angeschafft. Damit können wir nun überblenden von einer Szene in die andere (was sehr professionell wirkt). Eine neue Kameraposition anfahren mit der inaktiven Kamera und wieder überblenden, nun ganz einfach. Das Problem war nur die Steuerung von zwei Kameras.
Man hätte es einfach machen können und eine Kamera mit fester Position nutzen können und bei der anderen die PTZ (Pan Tilt Zoom) Funktionen. Damit hätte man zumindest ein flexibles Überblenden ermöglicht.
Aber auch das „Zielen“ mit der Fernbedienung auf die Kamera war während des Streamens suboptimal. Zudem die Kamera hinter dem Mitarbeiter an der Wand montiert war. Also Blick nach vorne auf OBS und mit der Fernbedienung hinter sich zielen.
Idealer wäre also eine Softwaresteuerung für beide Kameras. Also habe ich geschaut was man machen kann, um die Kameras per Software zu steuern. Denn eigentlich müsste sich alles über das DirectInput Interface von Windows steuern lassen.
Herausgekommen ist ein kleines PTZControll.exe. Dieses kann alle Kamera Features komplett ausnutzen.
Die Funktionen des kleinen Tools sind:
Automatischer Erkennung und Steuerung von bis zu 2 Logitech PTZ 2 Pro Kameras.
8 Kamera Presets
Kamera Presets können direkt in der App (Memory-Taste) umprogrammiert werden
Farbige Darstellung des aktuellen Presets
Selbst definierbare Tooltips zur Erklärung der Preset Positionen
Einfache Bedienung von Pan / Tilt / Zoom im Interface
Kleines Interface das direkt immer direkt im Vordergrund bleibt.
Das PTZControl.exe unterstützt 2 Steuerungsvarianten für den Motor. Das eine ist die direkte Schrittsteuerung über eine Logitech internes Interface. Die andere benutzt einen Timer mit einer „Motor an/aus“ Steuerung. Der Timer ist programmierbar (Standard 70msec). Die zweite Steuerung erwies sich als etwas feiner.
Das Programm kann frei heruntergeladen und genutzt werden. Nutzung auf eigenes Risiko und Gefahr.
Anmerkung zum Programm: Das Programm wurde mit C++ auf VS-2019 entwickelt und nutzt die MFC und ATL.
Wichtig: Das Programm sucht nach Kameras die den Text „PTZ 2 Pro“ im Namen haben und verwendet nur diese. Ich habe keine Teste mit anderen PTZ Kameras gemacht.
In der letzten Zeit hatte ich immer mal wieder so einen komischen Effekt, dass ich VS-2013 gestartet habe und beim Öffnen einer Solution auf einmal nur noch die Eieruhr (Blue Circle of Death) zu sehen war. In der Anzeige stand meisten das irgend ein Projekt N vom M zu laden wäre. 🙁
Als mir das das erste mal passierte habe ich oft den Visual Studio Prozess brachial beendet, neu gestartet und dann ging es oft. Aber nicht immer. Wenn ich lang genug gewartet hatte wurde letzten Endes die Projekte immer geladen.
Weil mich das irgendwann nervte habe ich mal versucht Visual Studio selbst zu debuggen. Die Threads die aktiv waren, hatten immer was mit dem Team Foundation Server zu tun. Bald merkte ich, dass lokale Projekte nie betroffen waren sondern immer nur Solutions, die auch auf unserem zentralen TFS Server lagen.
Der nächste Schritt 💡 war dann beim nächsten Hänger mal die Firewall und den Netzwerkschutz abzuschalten. Wir verwenden hier seit Jahren Symantec Endpoint Protection (aktuell 12.1 RU5). Bingo !!! 🙂 Kaum, dass ich die Firewall abgeschaltet hatte lief, das Laden des Projektes sofort durch.
Entsprechend haben wir in den Firewall Einstellungen für Visual Studio jetzt eine Ausnahme Regel definiert und seit dem keine Probleme mehr.
Ich hatte ja schon mehrfach in meinem Blog auf CPPDependhingewiesen. Ein tolles Tool für die Code Analyse.
Jetzt gibt es eine kostenlose Version für alle Open-Source-Entwickler.
Mehr dazu findet sich in diesem Link, schaut einmal selbst ob die Lizenzbedingungen für Euch in Frage kommen könnten.
Um in den Genuss einer solchen Lizenz zu kommen muss man eigentlich nur seinen Namen und den Link auf das Projekt an Support@cppdepend.com senden. Einfacher geht es nicht 😉
Mit der weiten Verbreitung von virtuellen Maschinen wird der Remote Desktop zum alltäglichen Werkzeug. Wer viele Verbindungen verwalten muss, hat sich bestimmt auch den Desktop mit Links zugebaut… 😉
Dabei geht es auch viel einfacher und extrem komfortabel mit Royal-TS (aktuell Version 2.0)
Mehrere Verbindungen luxuriös in einer Oberfläche verwalten. Ob Fullscreen oder im Fenster. Dazu noch einige nette Features,
Da arbeitet man 4, 8, 12 oder 16 Stunden an einem Modul.
Alles sieht gut aus, nicht mehr lange und wir können einchecken.
Du änderst noch dies und das, steckst noch mal 2 Stunden Arbeit rein weil noch was optimiert werden soll und auf einmal merkst Du dass Du Dich verrannt hast. Die letzten 2 Stunden Arbeit hattest Du irgendwie das Gehirn nicht eingeschaltet, x-Änderungen gemacht, die nun alle Sch…sind.
Undo ist nicht mehr, weil Du schon andere Projekte offen hattest bzw. einmal VS abgeraucht ist.
Du hast Bockmist gebaut und jetzt willst Du auf den Stand von vor 4 Stunden zurück, oder den von gestern Abend.
Ein Shelveset hast Du im TFS nicht angelegt. Das machst Du nur wenn Du ins Wochenende gehst, oder Deinen Kollegen was weiterreichen musst.
Was nun? 😮
Als VA-X Benutzer (VisualAssist X http://www.wholetomato.com) hat man tatsächlich noch ein Backup!
Und zwar nicht nur eines, sondern ein paar.
In meinem History Ordner von VA-X C:\Users\USER\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Whole Tomato Software\Visual Assist X\VERSION\Data\vs10\history\
werde ich fündig…
Ufff…
Ich habe dieses Backup mittlerweile schon so oft verwendet, dass ich dazu übergangen bin diesen Ordner umzulegen an eine Stelle an die ich schneller dran komme. Das geht über den Registry Schlüssel HKCU\Software\Whole Tomato\UserDataDir.
Nachtrag (30.01.2012):
Damit diese Funktion auch verfügbar ist muss im VA-X die Auto Recovery Option eingeschaltet sein. VA-X -> Options -> Performance -> Enable Auto Recovery
Ich hatte nach der Installation von Windows 7 auf einem meiner Rechner ein eigentümliches Problem:
Auf diesem Rechner wie auf auf zwei anderen meiner Rechner benutze ich eine Microsoft Keyboard-Maus Kombination. Entsprechend ist auf den Rechnern auch Microsoft IntelliType und IntelliPoint installiert.
Alles lief beim Update von Windows 7 glatt. Aber nach dem Neustart des Systems bekam ich einen UAC Prompt und es wurde gemeldet, dass ein neuer USB Treiber für die Microsoft Tastatur installiert werden müsste. Also OK.
Aber beim nächsten Neustart wieder die gleiche Meldung, ein detailierter Blick auf den Treiber der angefordert wurde ergab folgende Info:
Seit Wochen klagten unsere Damen vom Vertrieb, dass Ihre Warenwirtschaft (Sage Office Line 4 – 2010)extrem langsam startet. Bis zu einer Minute wird für den Start benötigt. An unseren Rechner (Alles Quadcores mit Minimum 3GB und Vista) kann es nicht liegen.
Ich habe mich mit dem ProcessMonitor auf die Suche gemacht konnte aber eigentlich nichts auffälliges feststellen.
Dann bin ich auf die Idee gekommen mal unsere Antiviren Software (Symantec Endpoint Protection) auszuschalten. WOW… Die OfficeLine startet in nicht weniger als 3 Sekunden ❗
Jetzt habe ich einfach die beiden Dateien „C:\Program Files\Sage\Office Line\4.2\Abf\OLABF_001.ADE“ und „C:\Program Files\Sage\Office Line\4.2\Rewe\OLREWE_001.ADE„, der Warenwirtschaft bzw. des Rechnungswesen durch eine extra Regel in der Endpoint Protection ausgenommen und siehe da alles gut.
Die Endpoint Protection kenne ich sonst nicht so als Systembremse, aber wie man sieht lohnt sich manchmal ein kritischer Blick auf das eigene AV System.