EasyCap Videograbber unter Mac OS X nutzen

Wer einen EasyCap Videograbber (auch das LogiLink VG0001 fällt darunter) besitzt, wird feststellen müssen das die meisten dieser Modelle nicht unter Mac OS X laufen. Das Problem ist, das dass Gerät mangels Treiber nicht erkannt wird und somit auch nicht genutzt werden kann.

Ein LogiLink VG0001 (intern ein EasyCap DC60)

Ein LogiLink VG0001 (intern ein EasyCap DC60)

Mit dem EasyCapViewer gibt es einen entsprechenden Treiber für Mac OS X welcher unter GPL und BSD-Lizenz lizenziert ist. Damit handelt es sich bei dem Treiber um freie Software. Der Download befindet sich auf der offiziellen Seite, der Quellcode auf GitHub. Vor dem Start der Anwendung muss der Videograbber angeschlossen werden. Anschließend kann der EasyCapViewer gestartet werden und mit dem Aufnahmevorgang begonnen werden.

Standardapplikation für Fotoimport unter Mac OS X ändern

Wenn man unter Mac OS X eine Digitalkamera oder ein iPhone anschließt, öffnet sich iPhoto und möchte die Photos importieren. Wer diese Einstellung ändern möchte, muss die Applikation „Digitale Bilder“ öffnen.

Die Applikation Digitale Bilder

Die Applikation Digitale Bilder

Dort findet man unten links einen Dreieck welches ein Panel öffnet, in welchem man die Standapplikation für den Fotoimport festlegen kann. Dort ist es auch möglich „Kein Programm“ einzustellen, so das entsprechende Geräte angeschlossen werden können, ohne das es zu einer automatischen Aktion kommt.

Bad Interpreter unter Mac OS X

Wenn man unter Mac OS X ein sh-Skript ausführen möchte und dabei die Meldung:

/bin/sh^M: bad interpreter: No such file or directory

bekommt, kann das Skript nicht ausgeführt werden. Das Problem liegt daran das versucht wird den Interpreter „bin/sh^M“ anstatt „bin/sh“ zu starten. Bei dem ^M handelt es sich um das dreizehnte ASCII-Zeichen, das Carriage Return (im deutschen auch Wagenrücklauf genannt). Um das Problem zu beheben muss das entsprechende Skript einfach um das Carriage Return Zeichen bereinigt werden. Dies kann im Terminal einfach mittels:

perl -i -pe 'y|\r||d' script.sh

bewerkstelligt werden. Anschließend sollte das Skript ohne weitere Probleme durchlaufen.

AVI Dateien unter C# schreiben

Wenn man eine AVI Datei unter C# schreiben möchte, wird man feststellen das es zwar viele Wege gibt, aber keiner dieser Wege führt nach Rom. Jede vorgeschlagende Variante hat meist Abhängigkeiten, welche man nicht haben möchte. So wird bei vielen Varianten FFMPEG als DLL genutzt, bei anderen werden Windows DLLs genutzt, was dazu führt das der Quellcode nicht unabhängig von der Plattform ist. Abhilfe schafft hier die freie unter der MIT-Lizenz lizenzierte Bibliothek SharpAvi. Um eine AVI-Datei zu schreiben sind mit Hilfe der Bibliothek nur einige Zeilen Quelltext nötig:

//AviWriter anlegen
AviWriter writer=new AviWriter("test.avi");
writer.FramesPerSecond=25;

//Videostream anlegen
IAviVideoStream stream=writer.AddVideoStream();
stream.Width=1920;
stream.Height=1080;
stream.Codec=KnownFourCCs.Codecs.Uncompressed;
stream.BitsPerPixel=BitsPerPixel.Bpp24;

//Encode für Kompression anlegen
//Ohne Encoder wird die Datei unkomprimiert gepsiechert (stream.WriteFrame)
var encoder=new MotionJpegVideoEncoderWpf(stream.Width, stream.Height, 100);
var encodingStream=new EncodingVideoStreamWrapper(stream, encoder);

//Schwarzen Frame anlegen
byte[] frameData=new byte[stream.Width*stream.Height*3];

//Frames schreiben
for(int i=0;i<25; i++)
{
    encodingStream.WriteFrame(frameData, 0);
}

//Writer schließen
writer.Close();

In diesem Beispiel wird eine AVI Datei mit 25 schwarzen Frames erzeugt, was bei der angegebenen Framerate exakt einer Sekunde entspricht. Zu finden ist SharpAvi auf der offiziellen Webseite. Alternativ kann der Spiegel auf GitHub genutzt werden.

REST-API testen

Wer eine Rest-API testen möchte, der kann dies natürlich im Browser tun. Einfacher funktioniert das ganze mittels RESTClient. Dabei handelt es sich eine freie Anwendung um die REST-API aufzurufen und anschließend das Ergebnis auszuwerten.

RESTClient

RESTClient

Dabei hat man volle Kontrolle über die gesendeten Parameter, die HTTP Methode, den Header und einige andere Einstellungen. Nach einem ausgeführten Request können die Ergebnisse der Anfrage eingesehen werden. RESTClient ist unter der Apache Lizenz lizenziert. Neben der offiziellen Seite, gibt es den Download auf Foss Hub. Der Quelltext (sowie der Bugtracker) ist auf GitHub zu finden. Da RESTClient in Java entwickelt wurde ist es unter Linux, Mac OS X und Windows lauffähig.