Entwicklung einer Software zum live H.264 Videostreaming von einer Kamera unter ausschließlicher Verwendung von freien Softwarebibliotheken

Größe: px
Ab Seite anzeigen:

Download "Entwicklung einer Software zum live H.264 Videostreaming von einer Kamera unter ausschließlicher Verwendung von freien Softwarebibliotheken"

Transkript

1 Entwicklung einer Software zum live H.264 Videostreaming von einer Kamera unter ausschließlicher Verwendung von freien Softwarebibliotheken Abschlussarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) an der Hochschule für Technik und Wirtschaft Berlin Fachbereich Wirtschaftswissenschaften II Studiengang Angewandte Informatik Eingereicht von Dario Rekowski Fachbereich Angewandte Informatik 1. Prüfer: Prof. Dr. Frank Bauernöppel 2. Prüfer: Sebastian Lohmann

2 Inhalt Einleitung Sozialer Hintergrund Motivation Aufgabe Grundlagen Theoretische Grundlagen zum Thema Video-Streaming Aufgaben- und Anforderungsanalyse Zielbestimmung Verwendete Bibliotheken Aufgabenstellung Definition Anforderungen aus Sicht des Benutzers Anforderungen aus technischer Sicht Entwurf Vorgehensmodell Vorgehensweise Neue Anforderungen Anforderungen an das Capture-Modul Anforderungen an des Encoder-Modul Anforderungen an das Server-Modul Anforderungen an das GUI-Modul Anforderungen an alle Module Interface Capture-Modul Encoder-Modul Server-Modul GUI-Modul Implementierung Git Interface Capture-Modul und GUI getparameter und setparameter Aufbau des GUI getpicture Encoder-Modul Stack GUI und Schnittstelle Server-Modul Server-Modul und live Test Tests während der Entwicklung...34 Inhalt I

3 6.2 Testen des Streams Ergebnis Ausblick...37 Inhalt II

4 Einleitung Dieses Kapitel beschreibt den Hintergrund in dem die Idee für das Projekt entstanden ist und die Motivation für das Projekt. 0.1 Sozialer Hintergrund Unsere heutige Gesellschaft und welches Phänomen mich zu dieser Arbeit inspiriert hat. Die Gesellschaft wird immer mehr eine Gesellschaft der Medien und des Internets. Immer mehr Menschen tummeln sich im Internet und konsumieren nicht mehr nur die Angebote der Medien und großen Firmen, sondern stellen selbst immer mehr eigene Medien ins Internet. Sein es Webseiten, youtube-videos, Blogs bis hin zu Programmen und ganzen Computerspielen. Auch gibt es immer mehr Personen die ihr eigenes Fernsehprogramm in Form von Livestreams auf die Beine stellen (jeet.tv [1]). Doch bisher sind diese Menschen abhängig von entweder kostenpflichtigen oder stark Werbe-finanzierten und eingeschränkten Internet Angeboten wie livestream.com [2] oder teuren Programmen wie dem Wowza Media Server [3]. Sie sind somit wieder abhängig von großen Firmen welches der ursprünglichen Idee des Internets widerspricht. Meine Arbeit soll das Phänomen Social Media unterstützen, welches immer mehr Menschen dazu veranlasst, eigene Medien wie z.b. Videos im Internet zu veröffentlichen. Einleitung 1

5 0.2 Motivation Was bringt mich dazu diese Arbeit anzufertigen, welchen Nutzen ziehe ich daraus. Bei dieser Arbeit treibt mich kein persönlicher Vorteil oder finanzieller Nutzen an. Meine Motivation ist es, die freie Meinungsäußerung die nach Art. 5 Grundgesetz [4] den Deutschen Staatsbürgern zugesichert wird, auch im Internet zu unterstützen. Denn zunehmend schwindet diese Freiheit der Meinungsäußerung im Internet, da die Medien von den großen Firmen immer stärker zensiert werden, wie es z.b. bei den youtube-video der Fall ist. Immer häufiger bekommen Benutzer nur ein: Das Video ist in deinem Land nicht verfügbar zu sehen oder Videos ohne Ton, da youtube den Ton herausgeschnitten hat. Oder dass insbesondere politische Videos bereits nach kurzer Zeit komplett gelöscht werden. Vergleiche dazu auch die Artikel Neue Qualität: Politische Zensur bei Youtube? auf Netzpolitik.org [5] und YouTube bietet Thailand Nachhilfe in Video-Zensur an auf Spiegel.de [6] Ich ziehe keinen Persönlichen Nutzen aus der Arbeit, sondern unterstütze die freie Meinungsäußerung welches letztendlich der gesamten Menschheit zugute kommen wird. 0.3 Aufgabe Was ist nun konkret meine Aufgabe. Um eine bessere Meinungsfreiheit nach Art.5 Grundgesetz zu ermöglichen und um unabhängig von großen Firmen sein zu können, soll im Rahmen dieser Bachelorarbeit eine kostenlose dezentrale Möglichkeit geschaffen werden, Videos von einer Kamera Live ins Internet zu streamen. Hierzu soll unter anderem die live555 multimedia streaming Bibliothek verwendet werden, das RTSP-Streaming Format, das H.264 Videoformat und eventuell noch das MP3 Audioformat. Die entstehende Software soll einfach zu bedienen sein und möglichst Plattform-unabhängig sein, für PC. Meine Aufgabe ist es, ein kleines Programm zu erstellen, welches das dezentrale Live- Streamen von Videos ins Internet ermöglichen soll. Einleitung 2

6 1 Grundlagen Dieses Kapitel beschreibt technologische Grundlagen, welche für das Streamen von Videos ins Internet und in lokale Netzwerke notwendig sind. 1.1 Theoretische Grundlagen zum Thema Video-Streaming Wie das Streamen von Videos theoretisch funktioniert. Als Videoquelle wird in dieser Arbeit eine direkt an den PC angeschlossene Webcam angenommen. Diese schießt mit einer bestimmten Frequenz Einzelbilder, auch Framerate genannt. Nun ist es jedoch nicht sinnvoll, jedes Bild einzeln zu übertragen, weil dazu nicht genügend Bandbreite vorhanden ist. z.b. Wenn eine Kamera mit einer Auflösung von 640x480 Pixeln Bilder schießt, besteht jedes Bild aus Pixeln. Wenn zur Speicherung eines Pixels 4 Bytes benötigt werden, ergibt das 1,17 MByte pro Bild. Für die Anwendung wird jedoch ein Video mit mindestens 25 Bildern pro Sekunde benötigt, damit es für das Auge des Betrachters flüssig wirkt. Daraus ergibt sich eine Datenrate von ca. 30 MByte pro Sekunde. Zu den schnellsten derzeit erhältlichen Internetanschlüssen gehört DSL mit dem theoretisch ca. 4 MByte pro Sekunde aus dem Internet empfangen werden kann. Das ist weniger als 1/6 der benötigten Datenrate nur für das Video. Jedoch sind diese Datenraten nur theoretisch, in der Praxis hat man meist eher ca. 1,2 MByte im Durchschnitt. Siehe dazu auch diesen Artikel über DSL Anschlüsse [7]. Das verdeutlicht, dass auf jeden Fall irgendeine Art von Komprimierung verwendet werden muss um auf realistische Datenraten zu kommen. Im Rohformat jedoch werden heutzutage Bilder meistens nicht mehr abgespeichert. Viel gebräuchlicher ist zum Beispiel das JPEG-Format [8]. JPEG ist ein verlustbehaftetes Komprimierungsverfahren bei dem unter anderem ausgenutzt wird dass das menschliche Auge Graustufen besser unterscheiden kann als verschiedene Farbtöne. Daher wird das Bild im ersten Komprimierungsschritt in das YCbCr-Farbmodell [9] umgewandelt. Dieses speichert als Y die Helligkeit des Bildes und als Cb (Blue-Yellow Chrominance) und Cr (Red-Green Chrominance) die Farbabweichung des Bildes. Die beiden Farbkomponente Cb und Cr können nun unterabgetastet und mit einem Tiefpassfilter gefiltert werden ohne das der menschliche Betrachter einen großen Unterschied bemerkt. Anschließend wird eine diskrete Kosinustransformation für jeden 8x8 Block des Bildes durchgeführt, die nur durch Grundlagen 3

7 Rundungsfehler verlustbehaftet ist. Danach wird dieses Ergebnis quantisiert (verlustbehaftet) und anschließend noch mit einer Entropiekodierung wie z.b. der Huffman-Kodierung kodiert. Nach eigenem Test benötigen Bilder mit der Größe von 640x480 Pixeln als JPEG zwischen 50 KByte und 75 KByte. Bei 25 Bildern pro Sekunde ergibt das Datenraten von ca. 1,5 MByte pro Sekunde. Das ist wesentlich weniger, aber immer noch zu viel um eine flüssige Videoübertragung zu gewährleisten. Da sich nachfolgende Bilder in einem Film oft ähneln, bietet sich hier sehr gut eine weitere Komprimierung, in ein Video-Format an. Dabei wird nicht mehr jedes Einzelbild abgespeichert, sondern es werden zwischen den sogenannten I-Frames auch B- und P- Frames gespeichert die nur die Differenz zum letzten (P-Frame), bzw. nächsten (B-Frame) Bild speichern. Dadurch wird weiterhin eine Menge Bandbreite eingespart. Nach einem eigenen Test benötigt ein mit H.264 [10] codiertes Video nur ca. 1/10 des Speichers welches die einzelnen JPEG-Dateien benötigen würden. Damit ergibt sich eine Datenrate von ca. 150 KByte pro Sekunde für das Videobild. Das ist auch mit nicht ganz so schnellen Internetanschlüssen noch gut zu bewältigen. Der letzte Schritt ist nun, diese encodierten Video-Frames über das Internet zum Zuschauer zu transportieren. Dazu können die einzelnen Video-Frames theoretisch per UDP oder TCP an den Zielrechner gesendet werden. Nach eigenen Tests werden Pakete die größer als ca Bytes sind, in mehrere Einzelpakete zerlegt und es kann beim Empfänger zu Schwierigkeiten kommen, wenn dieser davon nichts weiß. Daher ist es notwendig Frames die größer sind als 1300 Bytes, in mehrere Pakete aufzuteilen. Die Pakete müssen entsprechend markiert werden, damit der Empfänger weiß, welche Pakete zusammengehören. Die Bilder, welche von der Kamera kommen, werden komprimiert und dann Paketweise über das Netzwerk/Internet übertragen. Grundlagen 4

8 2 Aufgaben- und Anforderungsanalyse In Diesem Kapitel wird etwas detaillierter auf die Aufgabenstellung eingegangen und es werden die ersten Ideen zur Umsetzung miteinander verglichen. 2.1 Zielbestimmung Was das eigentliche Ziel der Arbeit ist. Ziel ist es ein Programm zu erstellen, welches das Videobild einer an den PC angeschlossenen Webcam, Live an alle registrierten Zuschauer ins Internet streamt. Das Programm soll Open Source sein und in der Bedienung sehr einfach. Es soll sich einfach starten lassen und von ganz alleine angeschlossene Webcams finden und zusammen mit deren Auflösungen, zur Auswahl anbieten. Es soll auf einem frei wählbaren Port, auf Anfragen zur Registrierung von am Stream interessierten Zuschauern lauschen. Außerdem soll es auch möglich sein, mitten im Betrieb eine andere Webcam auszuwählen und es soll die Anzahl der aktuellen Zuschauer angezeigt werden. Für die Zuschauer soll es einfach sein, sich bei dem Programm auf dem ausgewählten Port zu registrieren und dann den Stream mit einem beliebigem Video-Player zu empfangen und abzuspielen. Ein einfach zu bedienendes Programm, welches das Video der ausgewählte Webcam, an alle registrierten Zuschauer, als Livestream, sendet. 2.2 Verwendete Bibliotheken Wie an die Lösung der Aufgabenstellung herangegangen wird. Bereits auf den ersten Blick war es klar, dass es nicht sinnvoll ist, das Programm komplett selbst zu schreiben. Alleine der Selbstbau eines Video-Codecs ist mehr als in eine einzelne Bachelorarbeit hineinpassen würde. Aus diesem Grund war von Anfang an klar, das bereits existierende Bibliotheken und Programme verwendet werden müssen. Alle verwendeten Programme und Bibliotheken müssen dabei Open Source und möglichst plattformunabhängig sein. Aufgaben- und Anforderungsanalyse 5

9 Um die Bilder von der Kamera zu bekommen, wird OpenCV (Open Source Computer Vision) [11] verwendet. Diese Bibliothek ermöglicht es, mit wenigen Zeilen Programmcode die an den Computer angeschlossenen Webcams zu verwenden. Darüber hinaus bietet es für mögliche Zukunftsprojekte umfangreiche Video- und Bildbearbeitungs- und -analyse -Funktionen an. Es ist die einzige Open Source C/C++ Bibliothek welche gefunden wurde, mit der Webcams angesprochen werden können und welche sowohl unter Windows als auch unter Linux zur Verfügung steht. Um das Video zu encodieren, wurden zwei Möglichkeiten gefunden. Einmal die ffmpeg [12] Bibliothek, die unter Linux als Standard für Audio- und Video-Encoding und -Decoding verwendet wird. Auch unter Windows wird sie von manchen Programmen wie dem VLC- Player verwendet. Oder der x264 [13] der als beste Umsetzung des H.264 Encodiere- Algorithmus gilt. Er bietet Unterstützung für mehrere Prozessoren bzw. Prozessorkerne und ist damit auch in der Lage, moderne Hardware voll auszunutzen. Er encodiert Videos schnell und effizient. Wie sich nach einer Sichtung der Dokumentation von ffmpeg herausstellte, ist die Bibliothek sehr umfangreich und der Einarbeitungsaufwand enorm. Im Gegensatz dazu bestehen bereits Erfahrungen mit x264. Daher fiel die Wahl auf x264. Der nächste Schritt ist es, das Video ins Internet zu streamen. Da es von möglichst vielen verschiedenen Player empfangen und abgespielt werden soll, ist dazu ein standardisiertes Format notwendig. Der meist genutzte Player unter Windows ist natürlich der Windows Media Player [14]. Unter Mac OS ist es der Quick Time Player [15] und bei Linux variiert dies von Distribution zu Distribution. Daher wurde für den Vergleich der weit verbreitete VLC-Player [16] ausgewählt. Recherchen haben ergeben, dass alle 3 Player das RTSP [17] (Real Time Streaming-Protokoll) Protokoll zur Steuerung von Multimedia-Streams beherrschen. Der Quick Time Player und der VLC-Player bieten darüber hinaus auch einen Modus bei dem über das HTTP Protokoll gestreamte Medien empfangen werden können. Da dies aber nicht vom Windows Media Player unterstützt wird, fällt diese Option weg. Da die meisten RTSP-Server das RTP-Protokoll (Real-Time-Transport Protocol) [18] für den Versand der Daten verwenden, wird dies in dieser Arbeit auch getan. Die Alternative wäre ein eigenes Format zu entwickeln und ist somit keine Option. Für den Server wird die Software-Bibliothekensammlung live555 [19] verwendet. Sie arbeitet mit RTP und RTSP und ist in der Lage eine Menge verschiedener Formate ins Internet zu streamen. Sie findet zum Beispiel auch im VLC-Player Verwendung. Die live555 Bibliothekensammlung ist sehr Modular aufgebaut und dafür ausgelegt, dass eine individuelle Betriebsumgebung erstellt werden kann. Dies ermöglicht es, den live555 als Konsolenanwendung oder mit einer Grafischen Benutzerschnittstelle (GUI), eingebaut in ein Aufgaben- und Anforderungsanalyse 6

10 vorhandenes Nachrichtensystem wie z.b. vom verwendeten GUI, laufen zu lassen. Alle anderen bei der Recherche gefundenen Open Source RTSP-Server sind nicht flexibel und erweiterbar genug für die vorliegende Arbeit. Der Helix DNA Server [20] unterstützt kein H.264 Format und wird anscheinend auch nicht mehr weiterentwickelt. Die Webseite wurde das letzte mal vor 3 Jahren (2008) aktualisiert. Und auch vom Code wurden nur noch Sprachdateien aktualisiert. Der Darwin Streaming Server [21] von Apple soll auch unter Windows und Linux laufen. Doch in der Zeit wo ich ihn getestet habe, ist es mir nicht gelungen, ihn unter Windows oder Linux zum laufen zu bringen. Unterstützte Formate Unterstützte Protokolle Unterstützte Betriebssysteme live555 MPEG-1, MPEG-2, MPEG-4, H.264, H.263+, DV, JPEG Video, MP3, WAV (PCM), AMR, AAC (ADTS format) RTSP/RTP via UDP oder TCP, RTSP/RTP via HTTP, SIP, HTTP Unix, Linux, Mac, Windows, QNX, andere POSIXkonforme Betriebssysteme Darwin Streaming Server MPEG-4, 3gp RTSP/RTP Mac OS.X und durch Community Support auch andere Helix DNA Server MP3, RealAudio, RealVideo RTSP/RTP, RTSP/RTP via HTTP, HTTP Laut Webseite auf allen Plattformen (inklusive Handys) Firma Live Networks Inc. Apple Inc. RealNetworks Inc. Letzter Release Lizenz LGPL (Lesser General Public License) APSL (Apple Public Source License) Tabelle 1: Übersicht über verschiedene Streaming Server (-Bibliotheken) RPSL (RealNetworks Public Source License) Für den Anwender soll die Anwendung so einfach wie möglich sein, daher bekommt dieser eine Grafische Benutzerschnittstelle. Bei den Recherchen wurden drei Open Source Bibliotheken gefunden um ein GUI (Grafische Benutzerschnittstelle) zu erstellen, welches auf verschiedenen Plattformen läuft, hauptsächlich Windows und Linux. GTK+ [22] ist mir aus früheren Projekten bekannt. Damals habe ich es nicht geschafft ein Projekt unter Linux mit GTK+ erstellt zu bekommen. wxwidgets [23] ist da schon einfacher zu handhaben. Dennoch viel die Wahl zu guter Letzt auf Qt [24] welches nicht nur seinen eigenen Designer mitbringt sondern gleich eine ganze Entwicklungsumgebung inklusive Debugger und unter Windows auch mit dem benötigten Compiler. Das eignet sich daher aus Aufgaben- und Anforderungsanalyse 7

11 meiner Sicht am besten für eine unkomplizierte parallele Entwicklung auf verschiedenen Plattformen. Um nicht das Rad neu zu erfinden, wird auf bereits vorhandene Bibliotheken wie OpenCV, x264, live555 und Qt, zurückgegriffen. 2.3 Aufgabenstellung Eine ausführlichere Aufgabenstellung, nach dem Betrachten der ersten Ideen. Die Aufgabenstellung, die sich bei dieser Arbeit nach den ersten Betrachtungen herausgestellt hat, sieht nun folgendermaßen aus. Ein einfach zu bedienendes Programm zu entwickeln, welches aus verschiedenen, möglichst auswechselbaren Modulen, bestehen soll. Dabei übernimmt jedes Modul, mithilfe einer bereits vorhandenen Software-Bibliothek eine Aufgabe. Der Capture, welches die einzelnen Kamerabilder liefert, wird mit der OpenCV [11] Bibliothek umgesetzt. Der Encoder, welches aus den Einzelbildern ein H.264 Video macht, wird mit dem x264 [13] umgesetzt. Der Server, welcher auf hineinkommende Nachrichten aus dem Internet wartet und das Video als RTSP-Stream im Internet zur Verfügung stellt, wird mit der Software- Bibliothekensammlung live555 [19] umgesetzt. Das GUI, welches als Schnittstelle zum Nutzer dient und darüber hinaus den Datenfluss steuert, wird mit Qt [24] umgesetzt. Das bedeutet, dass die Aufgabe im großen und ganzen darin besteht eine Kommunikation zwischen den einzelnen Modulen herzustellen und dies möglichst simple und austauschbar. Der Fokus dieser Arbeit liegt also zum einen auf der Schnittstellen-Definition und -Entwicklung und zum anderen darin, vorhandene Software-Bibliotheken gezielt einzusetzen. In einem einfachen GUI sollen alle geforderten Funktionen dem Benutzer zugänglich gemacht werden. Dazu kommt die Notwendigkeit, sich mit verschiedenen Build-Systemen unter Windows und Linux auseinanderzusetzen. Die Aufgabe besteht darin, durch intelligente Schnittstellen und in Module aufgeteilt, ein einfaches Programm zu schaffen, bei dem die Einzelaufgaben gezielt auf verschiedene Software-Bibliotheken verteilt werden. Aufgaben- und Anforderungsanalyse 8

12 3 Definition In diesem Kapitel werden die Anforderungen mit Hilfe geeigneter Modelle formal dargestellt. 3.1 Anforderungen aus Sicht des Benutzers Die Sicht des Benutzers auf das Programm ist sehr einfach, da es nicht viele Funktionen gibt. Abbildung 1: Das Programm aus Benutzer-Sicht Definition 9

13 3.2 Anforderungen aus technischer Sicht Die Anforderungen aus technischer Sicht. 1. Kameras zählen 2. verschiedene Auflösungen der Kameras auswählbar anzeigen 3. Kamera auswählen 4. Bilder der Kamera im RGB- und YUV-Format liefern 5. Aufspaltung in mehrere Threads 6. Bilder aus dem YUV-Format ins H.264 Format encodieren 7. Port für RTSP anzeigen und wählen 8. auf einem Port auf Anfragen lauschen, den Stream zu empfangen 9. den Stream an alle senden, welche angefragt haben 10. Anzahl der aktuellen Zuschauer anzeigen 11. Anzeigen des aktuellen Kamera-Bildes, während der Stream läuft 12. Kompilierbar sowohl unter Windows als auch unter Linux Diese Funktionen muss das Programm im Einzelnen erfüllen. Definition 10

14 4 Entwurf In diesem Kapitel werden Lösungsansätze diskutiert und entworfen. 4.1 Vorgehensmodell Welches Vorgehensmodell gewählt wird und aus welchen Gründen. Für die vorliegende Arbeit wird ein agiles Vorgehen verwendet, da zu Beginn nicht alle Anforderungen an die einzelnen Module bekannt sind. Diese hängen zum Teil auch davon ab wie die in den Modulen verwendeten Bibliotheken intern arbeiten. Dennoch soll versucht werden möglichst abstrakte und einheitliche Schnittstellen zwischen den Modulen herzustellen, damit es später einfach ist, neue Module auf der Grundlage von anderen Bibliotheken zu erstellen, welche sich wieder in das Gesamtsystem einfügen lassen. Zudem sind die Gesamt-Anforderungen an das Projekt verhältnismäßig gering, aber wie viel Arbeit in den einzelnen Modulen steckt ist noch nicht abschätzbar. Das wird sich erst während der Arbeit mit den einzelnen Modulen herausstellen. Es wird ein agiles Vorgehen gewählt, da die genauen internen Anforderungen noch nicht alle bekannt und abschätzbar sind. 4.2 Vorgehensweise Wie vorgegangen wird um all diese Bibliotheken zu einem Programm zu vereinen. Der erste Ansatz war, einfach alle Bibliotheken in ein einziges Programm zu linken. Doch aufgrund der verschiedenen Build-Systeme war das nicht so leicht. Zumal der x264 auch komplett in C geschrieben ist, während die anderen Bibliotheken C/C++ gemischt oder nur in C++ geschrieben sind. Außerdem sollte das Programm ja auch leicht erweiterbar sein, bestenfalls das einzelne Bibliotheken durch andere ersetzt werden können. Da war die Idee geboren das Programm aus Modulen aufzubauen. Entwurf 11

15 Die erste Idee war, die Kommunikation zwischen den einzelnen Modulen über Sockets laufen zu lassen, doch das erschien bei näherer Betrachtung zu kompliziert. Dann hätten die einzelnen Module separat gestartet werden müssen und außerdem stünden dann die Fragen im Raum welche Ports verwendet werden sollten und was passiert wenn mehr als eine Instanz des Programms gleichzeitig läuft. Aber es gibt noch einen anderen Weg. Es müssen ja nicht alle Bibliotheken beim kompilieren direkt gebunden werden. Es existiert auch noch die Möglichkeit, Bibliotheken erst zur Laufzeit zu binden. Das hat zum Einen den Vorteil, dass die ausführbare Datei klein bleibt. Aber der wichtigste Vorteil ist, dass die einzelnen Bibliotheken mit unterschiedlichen Compilern kompiliert werden können. Die einzelnen Module werden als separate Bibliotheken dynamisch zur Laufzeit gelinkt. 4.3 Neue Anforderungen Wenn das Projekt in Modulen umgesetzt wird, lassen sich die Anforderungen nun noch genauer definieren und auf die einzelnen Module aufteilen Anforderungen an das Capture-Modul Kameras zählen (1) Auflösungen der Kameras liefern (2) Kamera auswählen (3) Bilder der Kamera im RGB- und YUV-Format liefern (im ausgewählten Format) (4) Threadsicher (5) Anforderungen an des Encoder-Modul Capture-Modul laden und von ihm die Bilder anfordern Bilder aus dem YUV-Format ins H.264 Format encoden (6) encodet Frames zwischenspeichern in einem threadsicheren Puffer (5) Anforderungen an das Server-Modul Encoder-Modul laden und von ihm die encodierten Frames anfordern Wählbarer Port für RTSP (7) Warten auf eingehende Registrierungsanfragen und daraufhin senden des Streams an diese Adressen (8) Lesen der Frames vom Encoder (einmalig) und verteilen an alle Zuschauer (9) Anzahl der aktuellen Zuschauer auf Nachfrage liefern (10) Entwurf 12

16 4.3.4 Anforderungen an das GUI-Modul Anzeigen des Kamerabildes (11) Multithread (Steuerungsthread für Server und Encoder) (5) einfach zu bedienen Anzeigen der Anzahl der Zuschauer (10) Anzeigen aller angeschlossenen Kameras und deren Auflösungen (Daten vom Capture-Modul laden) (1+2) Auswählen einer Kamera und einer Auflösung (2+3) Anforderungen an alle Module Kompilierbar und ausführbar unter Windows und Linux (12) Nun wurden die Technischen Anforderungen auf die einzelnen Module verteilt, wobei die Zahl in der Klammer die Nummer der ursprünglichen Anforderung darstellt. 4.4 Interface Der Entwurf des Interfaces für alle Module. Um die Module so einfach wie möglich miteinander zu verkuppeln, wurde ein allgemein gültiges Interface gewählt. Das Interface ist in C gehalten, damit es sowohl von C als auch von C++ Modulen eingebunden werden kann. Alle Module müssen folgende Funktionen implementieren: - int init(void) einmaliger Aufruf bei Programmstart - void ende (void) einmaliger Aufruf bei Programmende - int start(void) Aufruf bei jedem neu starten des Streams - int stop(void) Aufruf bei jedem anhalten des Streams - int getparameter(const char*) Aufruf um Modul-Parameter abzufragen - void setparameter(const char*, int) Aufruf um Modul-Parameter zu setzen Wenn ein Modul eine weitere Funktion benötigt, welche von einem anderem Modul aufgerufen werden soll, dann kann es einen Zeiger auf diese Funktion als Parameter zurück liefern (getparameter). Entwurf 13

17 Der int-typ bei set- und getparameter kann sowohl direkt zum speichern eines int-wertes verwendet werden, aber auch als Zeiger auf eine Struktur oder sogar auf eine Funktion. Daher ist es an dieser Stelle wichtig, sorgfältig in die Dokumentation zu schauen um den int- Parameter in den richtigen Typ zu casten. Das Interface besteht aus 6 Funktionen welche von allen Modulen implementiert werden müssen. Zusätzlich können die einzelnen Module noch weitere Funktionen implementieren. 4.5 Capture-Modul Detaillierterer Entwurf des Capture-Moduls, unter Verwendung der OpenCV-Bibliothek. Die Aufgabe des Capture-Moduls ist das Auslesen der Kamera-Bilder und das zur Verfügung stellen selbiger. Für das GUI wird einmal ein Bild im RGB-Format benötigt, welches das GUI anzeigen kann, während der Encoder das Bild im yuv-format benötigt. Demnach muss also eine Funktion geschaffen werden, die das geforderte Bild (bzw. einen Zeiger auf einen Puffer welcher das Bild enthält) zurückliefert. Wichtig ist dabei, das der Puffer vom Capture-Modul kontrolliert werden muss und nicht von einem anderem Modul freigegeben werden darf. Die Daten müssen also solange im Puffer verbleiben, bis davon auszugehen ist, dass der Aufrufer sich diese Daten kopiert hat. Da es nur ein Encoder-Modul und ein GUI-Modul gibt, lässt sich das einfach kontrollieren, in dem davon ausgegangen wird, dass spätestens beim erneuten Aufruf der Funktion, das Ergebnis des letzten Aufrufs nicht mehr benötigt wird. Wenn das GUI die Funktion aufruft, erhält es, anstatt das ein neues Bild angefordert wird, eine gespeicherte Kopie des letzten Bildes, welches der Encoder angefordert hat. Zudem soll das Capture-Modul über getparameter Informationen über die Anzahl, Namen und mögliche Auflösungen der verfügbaren Kameras zur Verfügung stellen. So kann im Anschluss daran über setparameter die richtige Kamera gesetzt werden (falls mehr als eine vorhanden ist) und die richtige Auflösung dazu ausgewählt werden. Entwurf 14

18 Wenn das Streaming läuft (start wurde aufgerufen, aber stop nicht) soll es auch möglich sein, dass die Kamera gewechselt werden kann. Nur darf sich in diesem Fall die Auflösung nicht ändern, da sonst der Encoder durcheinander kommt. Daher muss das Capture-Modul mit aller Mitteln dafür sorgen, dass beim Kamerawechsel das Bild der neuen Kamera notfalls skaliert wird, falls die neue Kamera die Auflösung der anderen Kamera nicht von sich aus beherrscht. Da der Encoder in einem separaten Thread gestartet werden soll, um die volle Performance zu erreichen, muss ein Mutex eingesetzt werden um zu verhindern, dass der Encoder gleichzeitig mit dem GUI auf die getpicture-funktion zugreift. Zusätzlich zu den Interface-Funktionen wird eine weitere Funktion benötigt, welches das aktuelle Kamerabild liefert. GetParameter liefert Informationen über aktuell angeschlossene Kameras. Um das ganze threadsicher zu machen, wird ein Mutex verwendet. 4.6 Encoder-Modul Detaillierterer Entwurf des Encoder-Moduls, unter Verwendung des x264. Das Encoder-Modul hat die Aufgabe, die Kamerabilder vom Capture-Modul H.264 zu encodieren. Dazu lädt das Encoder-Modul das Capture-Modul als dynamisch geladene Bibliothek (*.dll unter Windows, *.so unter Linux). Damit muss das Encoder-Modul auch alle Schnittstellen des Capture-Moduls bedienen. Das bedeutet die Weiterleitung der Aufrufe von init, ende, start und stop sowie die Aufrufe von setparameter und getparameter, welche das Encoder-Modul nicht bedienen kann. Der Encoder arbeitet, in dem vom GUI aus immer wieder eine Funktion aufgerufen wird, welche den Encoder dazu veranlasst sich das nächste Bild vom Capture-Modul zu holen. Dies geschieht über die getpicture-funktion im Capture, welche das Bild ausliefert. Der x264 erwartet yuv-bilder als Input, daher muss die yuv-variante dieser Funktion aufgerufen werden. Diese Funktion wird vom GUI aus in einem separatem Thread aufgerufen, daher ist es notwendig mit Hilfe von einem Mutex sicherzustellen, dass sich die Funktionsaufrufe der Schnittstellen-Funktionen nicht mit dieser Funktion überschneiden. Entwurf 15

19 Die encodierten Frames müssen dann in einen Puffer gespeichert werden, bis sie vom Server-Modul abgerufen werden. Dafür muss eine Funktion zur Verfügung gestellt werden, die über einen weiteren Mutex gegen doppelten Zugriff gesichert ist. Der Puffer ist eine (FIFO) Stack Implementierung. Das bedeutet die zuerst auf den Stack geschobenen Daten sind auch die Ersten die wieder abgerufen werden. Der Stack wird in C implementiert, da der x264 ebenfalls komplett in C gehalten ist und daher auch das Encoder- Modul in C geschrieben wird. Um den Stack zu testen, wird dafür ein kleines Testprogramm angelegt. Das Encoder-Modul lädt das Capture-Modul und holt sich von diesem die Kamerabilder und legt diese dann H.264 encodiert auf einen Stack ab, von dem sie vom Server aus abgerufen werden können. 4.7 Server-Modul Detaillierterer Entwurf des Server-Moduls, unter Verwendung der live555 Software-Bibliothek. Das Server-Modul hat zwei Aufgaben. Zum einen muss es auf einem Port auf Anfragen von außen, den Stream zu empfangen, lauschen. Zum anderen muss es den Stream an alle senden, welche von außen angefragt haben den Stream zu empfangen. Der Port kann über setparameter vom GUI aus gesetzt werden. Sobald der Stream läuft, kann der Port nicht mehr geändert werden. Das Server-Modul lädt die encodierten Frames vom Stack vom Encoder-Modul. Es lädt das Encoder-Modul dynamisch und ruft dessen Schnittstellen-Funktionen auf. Aufrufe von setparameter und getparameter die das Server-Modul nicht beantworten kann, werden an das Encoder-Modul weitergeleitet. Das Server-Modul muss die encodierten Frames speichern um allen Clients den selben Frame senden zu können. Entwurf 16

20 Auch das Server-Modul beinhaltet genau wie das Encoder-Modul eine Funktion welche regelmäßig vom GUI aufgerufen wird für die Server-internen Prozesse. Auch diese Funktion kann von einem separatem Thread vom GUI aus aufgerufen werden. Das Server-Modul wartet auf einem einstellbaren Port auf Anfragen von außen. Es sendet den Stream an alle Clients die angefragt haben den Stream zu empfangen. 4.8 GUI-Modul Detailliertere Beschreibungen zum GUI. Das GUI hat die Aufgabe das ganze Programm zu steuern. Es lädt das Server-Modul, welches die anderen Module lädt. Wenn das Laden des Server-Modules fehlschlägt, weil einer der dll- oder so-dateien nicht gefunden wurde, soll sich das Programm mit einer entsprechenden Fehlermeldung gleich wieder beenden. Es stellt die Schnittstelle zum Benutzer da. Als solches muss es möglichst einfach sein. Es soll ein Auswahlmenü mit allen angeschlossenen Kameras anzeigen und eines mit deren Auflösungen. Es soll ein Feld anzeigen, in dem der Port auswählbar ist. Alle Felder sollen automatisch mit einem Standard-Wert gefüllt werden. Jedes mal wenn eines der Werte geändert wird, erfährt das entsprechende Modul die Änderung sofort, in dem die setparameter Funktion vom Server-Modul aufgerufen wird, welche den Aufruf, wenn es notwendig wird, an die anderen beiden Module weiterleitet. Außerdem soll das GUI das aktuelle Kamerabild anzeigen, welches es direkt vom Capture- Modul abruft. Unter dem Kamerabild soll das GUI auch in einem Bereich alle Nachrichten von den Modulen (Statusmeldungen, Fehlermeldungen) anzeigen. Zugriff hat es auf diese, indem es getparameter mit dem Parameter getlastmessage aufruft und dadurch einen Zeiger auf einen char-buffer erhält, mit einer Nachricht oder NULL, wenn es keine Nachrichten mehr zum Anzeigen gibt. Zudem muss das GUI 2 separate Threads starten, einen um das Encoder-Modul zu steuern und einen um das Server-Modul zu steuern. Das GUI lädt die anderen Module, arbeitet als Schnittstelle für den Benutzer, steuert mit 2 separaten Threads das Server- und das Encoder-Modul und zeigt darüber hinaus das aktuelle Kamerabild an. Entwurf 17

Streaming Media - MPEG-4 mit Linux

Streaming Media - MPEG-4 mit Linux Streaming Media - MPEG-4 mit Linux Überblick Streaming Media Streaming Anbieter Benötigte Software Vorführung Videostreaming Streaming Was ist Streaming? Sender Daten Empfänger Kontinuierlicher Datenstrom

Mehr

Videostreaming. Josko Hrvatin DMT. Prof. Dr. Robert Strzebkowski. TFH-Berlin WS 05/06

Videostreaming. Josko Hrvatin DMT. Prof. Dr. Robert Strzebkowski. TFH-Berlin WS 05/06 Josko Hrvatin DMT Prof. Dr. Robert Strzebkowski TFH-Berlin WS 05/06 Streaming Media Streaming Media ist der Oberbegriff von Streaming Audio und Streaming Video und bezeichnet die aus einem Computernetzwerk

Mehr

Erfahrungsbericht Live Streaming Peter Bagschik, VfL Oker (www.vfloker.de)

Erfahrungsbericht Live Streaming Peter Bagschik, VfL Oker (www.vfloker.de) Erfahrungsbericht Live Streaming Peter Bagschik, VfL Oker (www.vfloker.de) Für eine Sportveranstaltung im Kunstturnen sollte für interessierte Zuschauer ein Live Video im Internet übertragen werden. Da

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Erfahrungen mit QuickTime Streaming. Bernhard Barz Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum

Erfahrungen mit QuickTime Streaming. Bernhard Barz Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum Erfahrungen mit QuickTime Streaming Bernhard Barz Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum Die großen Drei: Real Networks: RealAudio, RealVideo 12,1 % Apple Computer: QuickTime 7,4 % Microsoft:

Mehr

Installationsanleitung Netzwerklizenzen Vectorworks 2014

Installationsanleitung Netzwerklizenzen Vectorworks 2014 Installationsanleitung Netzwerklizenzen Vectorworks 2014 Beginnt Ihre Seriennummer mit einem G, lesen Sie hier weiter. Beginnt Ihre Seriennummer mit einem C, lesen Sie bitte auf Seite 4 weiter. Installation

Mehr

Digitales Video I Wie wird Video am Computer codiert?

Digitales Video I Wie wird Video am Computer codiert? Digitales Video I Wie wird Video am Computer codiert? Bilder Auflösung Speicherung am Computer Bewegte Bilder Interlacing Kompression / Codec Ton Audioformate / Codecs Videoformate Bilder Auflösung: z.b.:

Mehr

Modul Video-/Audioplayer. Version 1.1

Modul Video-/Audioplayer. Version 1.1 Modul Video-/Audioplayer Version 1.1 Inhaltsverzeichnis 1. Wichtiger Hinweis...1 1.1 Datei-Formate...1 2. Datei-Upload...2 2.1 Datei-Upload über TYPO3...2 2.2 Datei-Upload per FTP...3 2.3 Datei-Upload

Mehr

Kurzanleitung. MEYTON Migrationstool. 1 Von 16

Kurzanleitung. MEYTON Migrationstool. 1 Von 16 Kurzanleitung MEYTON Migrationstool 1 Von 16 Inhaltsverzeichnis Sinn und Zweck des Migrationsprogramms...3 Die LIVE C D...3 START...3 Erste Schritte...4 Login...4 Einleitung...5 Die Bedienung...5 Das Hauptmenü...6

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Video over IP / Videostreaming

Video over IP / Videostreaming Video over IP / Videostreaming - einige wenige Aspekte - Prof. Dr. Robert Strzebkowski Beuth Hochschule für Technik Berlin Unterscheidung: 'Echter Streaming' mit Streaming-Server HTTP-Download als 'Pseudostreaming'

Mehr

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte Brad Hards Übersetzung: Frank Schütte 2 Inhaltsverzeichnis 1 Einleitung 5 2 Das Remote Frame Buffer -Protokoll 6 3 Verwendung von Desktop Sharing 7 3.1 Verwaltung von Desktop Sharing-Einladungen.....................

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Serverumzug mit Win-CASA

Serverumzug mit Win-CASA Serverumzug mit Win-CASA Wenn Sie in Ihrem Netzwerk einen Umzug der Server-Version durchführen müssen, sollten Sie ein paar Punkte beachten, damit dies ohne Probleme abläuft. 1. Nachweis-Ordner In der

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Anleitung zum HD-Streaming

Anleitung zum HD-Streaming Anleitung zum HD-Streaming Seite 1 von 12 Inhaltsverzeichnis 1.Vorwort...3 2.Systemvoraussetzungen... 3 2.1Flash Media Live Encoder...3 2.2Wirecast 4... 4 3.Download und Installation...4 3.1Flash Media

Mehr

How to: Unterstützung von Audio und Video

How to: Unterstützung von Audio und Video How to: Unterstützung von Audio und Video Dieses Dokument dient der Erläuterung von Optionen zur Unterstützung von Audio-und Videodateien in EXMARaLDA und gibt Empfehlungen für Medienformate. Inhalte A.

Mehr

EasyCallX für Internet-Cafe

EasyCallX für Internet-Cafe EasyCallX für Internet-Cafe Mit EasyCallX kann auch ein Internetcafe aufgebaut werden. EasyCallX ist dabei die Abrechnungssoftware, TLogin ist die Client-Software auf den PCs 1. EasyCallX Dieses Beispiel

Mehr

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten Thema: Favoriten nutzen Seite 8 3 INTERNET PRAXIS 3.1 Favoriten in der Taskleiste Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten seiten beschleunigen. Links in der

Mehr

Benutzerhandbuch. Kabelloser USB Videoempfänger. Modell BRD10

Benutzerhandbuch. Kabelloser USB Videoempfänger. Modell BRD10 Benutzerhandbuch Kabelloser USB Videoempfänger Modell BRD10 Einführung Herzlichen Glückwunsch zum Kauf des Extech BRD10 Kabellos USB Videoempfängers für die Anwendung mit der Extech Endoskop Produktserie.

Mehr

Fenster: Klicken Sie mit links im linken Menü auf Downloads und es öffnet sich folgendes Fenster:

Fenster: Klicken Sie mit links im linken Menü auf Downloads und es öffnet sich folgendes Fenster: Videos mit VDownloader downloaden: Manchmal möchte man aus dem Internet sich Videos herunterladen, und zwar von beliebigen Downloadportalen. Gemeint sind hier nicht illegale Downloads, als vielmehr irgendwelche

Mehr

Programme deinstallieren,

Programme deinstallieren, Programme deinstallieren, Programme mit Windows deinstallieren: Sie haben Programme auf Ihrem Rechner, die Sie gar nicht oder nicht mehr gebrauchen. Sie sollten solche Programme deinstallieren, denn die

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Kurzanleitung. Logstar_FTP. Version 1.1

Kurzanleitung. Logstar_FTP. Version 1.1 Kurzanleitung Logstar_FTP Version 1.1 Februar 2006 UP GmbH Anleitung_Logstar_FTP_1_24.doc Seite 1 von 8 LOGSTAR _FTP Inhaltsverzeichnis Einleitung...3 Registrierung...3 Das Logstar_FTP Hauptmenu...4 Server...4

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Microsoft PowerPoint 2013 YouTube-Video einfügen

Microsoft PowerPoint 2013 YouTube-Video einfügen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 YouTube-Video einfügen YouTube-Video einfügen in PowerPoint 2013 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Vorbereitungen...

Mehr

... relevante Ports für Streaming bzw. Remote Control!

... relevante Ports für Streaming bzw. Remote Control! ... relevante Ports für Streaming bzw. Remote Control! Wenn Sie mit der Installation des IO [io] 8000 / 8001 beginnen, ist es am sinnvollsten mit einem minilan zu beginnen, da dies mögliche Fehlrequellen

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Mobile Security Configurator

Mobile Security Configurator Mobile Security Configurator 970.149 V1.1 2013.06 de Bedienungsanleitung Mobile Security Configurator Inhaltsverzeichnis de 3 Inhaltsverzeichnis 1 Einführung 4 1.1 Merkmale 4 1.2 Installation 4 2 Allgemeine

Mehr

Bilder im Internet. Hans Magnus Enzensberger

Bilder im Internet. Hans Magnus Enzensberger Kapitel 4 Alle reden von Kommunikation, aber die wenigsten haben sich etwas mitzuteilen. Hans Magnus Enzensberger Bilder im Internet Nach der etwas umfangreichen vorangehenden Lektion zum Ausklang der

Mehr

Migrationsanleitung von 2.0 auf 2.1

Migrationsanleitung von 2.0 auf 2.1 Die wichtigste Neuerung von 2.0 auf 2.1 aus Sicht der Anwendungs- Migration ist die Verwendung von Maven. Mit Maven holt sich die Anwendung alle notwendigen Bibliotheken in den jeweils angegebenen Versionen

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Kurzbeschreibung PC-Software für das Gerät URO-2050

Kurzbeschreibung PC-Software für das Gerät URO-2050 Kurzbeschreibung PC-Software für das Gerät URO-2050 1 Einleitung 1.1 Allgemeines Das Programm kann zum Verwalten der durchgeführten Untersuchungen mit dem Gerät URO-2050 benutzt werden. Es funktioniert

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Multimediatechnik / Video

Multimediatechnik / Video Multimediatechnik / Video Video-Streaming http://www.nanocosmos.de/lietz/mtv Streaming: Anwendungen TV und Internet IP-TV: Video on Demand, Live Streaming Zugesicherte Qualität (QoS, Quality of Service)

Mehr

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 Inhaltsverzeichnis Software ekey TOCAhome pc 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 3. MONTAGE, INSTALLATION UND ERSTINBETRIEBNAHME... 3 4. VERSION... 3 Version 1.5 5. BENUTZEROBERFLÄCHE...

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Java-IDE-Vergleich Seite 1 / 5

Java-IDE-Vergleich Seite 1 / 5 Java-IDE-Vergleich Seite 1 / 5 Java-IDEs im Vergleich 1. Getestete IDEs: Borland JBuilder 3 Professional Edition IBM Visual Age 3 Entry Edition Sun Forte 1.01 Community Edition Microsoft Visual J++ 6.0

Mehr

SiteAudit Knowledge Base. Move Add Change Tracking. Vorteile Übersicht. In diesem Artikel: Vorteile Übersicht Funktionsübersicht Berichte anpassen

SiteAudit Knowledge Base. Move Add Change Tracking. Vorteile Übersicht. In diesem Artikel: Vorteile Übersicht Funktionsübersicht Berichte anpassen SiteAudit Knowledge Base Move Add Change Tracking Dezember 2010 In diesem Artikel: Vorteile Übersicht Funktionsübersicht Berichte anpassen MAC Benachrichtigungen Vorteile Übersicht Heutzutage ändern sich

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Anleitung: Installation von WISO Mein Büro auf einem Mac

Anleitung: Installation von WISO Mein Büro auf einem Mac Anleitung: Installation von WISO Mein Büro auf einem Mac Lieber WISO Mein Büro Anwender, WISO Mein Büro ist bisher eine reine Windows-Anwendung und lässt sich somit leider nicht direkt auf einem Macintosh

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe.

Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe. Change Log: DBB/LX Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe. 1. Version 4.5.0.1243 1. AF: Das Tool Datenbank neu aufbauen wurde ergänzt. Damit können Datenbanken,

Mehr

shopwin Kurzanleitung Leitfaden für einen Kassennotfall / Bedienung der Notfallkasse

shopwin Kurzanleitung Leitfaden für einen Kassennotfall / Bedienung der Notfallkasse Leitfaden für einen Kassennotfall / Bedienung der Notfallkasse www.easy-systems.de Inhaltsverzeichnis: 1 Ziel der Anleitung...2 2 Was ist ein Kassennotfall?...2 3 Was ist eine Notfallkasse?...2 4 Wie erkenne

Mehr

SchlieSSen Sie Ihren Lemur an

SchlieSSen Sie Ihren Lemur an 1 SchlieSSen Sie Ihren Lemur an Der Lemur ist nicht irgendein durchschnittlicher MIDI-Controller. Er spricht 1000 Mal schneller und mit der 4-fachen Auflösung. Also finden Sie auf der Rückseite auch nicht

Mehr

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge Hylafax mit CAPI und Kernel 2.6 auf Debian Lukas Mensinck First public release Version 1.0.0 Revision History Revision 1.0.0 2007.04.11 LukasMensinck Mensinck Consulting First public release of HowTo Type:

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Einführung in die Programmierung Debugging, Programmbibliotheken

Einführung in die Programmierung Debugging, Programmbibliotheken Einführung in die Programmierung Debugging, Programmbibliotheken Arvid Terzibaschian 1 Debugging 2 Debugging: Motivation Jedes Programm enthält Fehler Anzahl steigt ziemlich konstant mit Lines of Code

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

Einführung in die Programmierung mit Qt

Einführung in die Programmierung mit Qt Einführung in die Programmierung mit Qt Dr. Ralf Schüler 5.11.2009 Was ist Qt? sprich: [kju:t] Klassenbibliothek für C++ (ferner Java, Python u.a.) sehr umfangreich: GUI, Stringverarbeitung, reguläre Ausdrücke,

Mehr

nessviewer als Alternative für icloud

nessviewer als Alternative für icloud nessviewer als Alternative für icloud Mit der von Apple angebotenen icloud können Daten zwischen verschiedenen Mac-Rechnern und ios-geräten synchronisiert werden, dies hat aber einige Nachteile: 1.) Datenschutz:

Mehr

Die Hifidelio App Beschreibung

Die Hifidelio App Beschreibung Die Hifidelio App Beschreibung Copyright Hermstedt 2010 Version 1.0 Seite 1 Inhalt 1. Zusammenfassung 2. Die Umgebung für die Benutzung 3. Der erste Start 4. Die Ansicht Remote Control RC 5. Die Ansicht

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java-

LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java- Eckart Modrow LEGO-Mindstorms-Roboter S. 1 LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java- Benutzung in einer Programmierumgebung Für die LEGO-Roboter stehen unter allen gängigen Betriebssystemen

Mehr

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation bnsyncservice Voraussetzungen: Tobit DAVID Version 12, DVWIN32: 12.00a.4147, DVAPI: 12.00a.0363 Exchange Server (Microsoft Online Services) Grundsätzlich wird von Seiten KWP ausschließlich die CLOUD-Lösung

Mehr

WinTV Extend Live-TV über (W)LAN oder Internet streamen

WinTV Extend Live-TV über (W)LAN oder Internet streamen WinTV Extend Live-TV über (W)LAN oder Internet streamen Überblick WinTV Extend ist ein Internet Streaming Server welcher ein Teil der WinTV v7.2 Anwendung ist. WinTV v7.2 ist ein Softwarepaket, das mit

Mehr

Master-Boot-Record sichern

Master-Boot-Record sichern Master-Boot-Record sichern Allgemeines Mit dem Master-Boot-Record (MBR) kommt der normale Computernutzer nur selten in Kontakt, eigentlich nur zweimal. Bei der Installation von Linux wird in der Regel

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

Mehr

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Einführung... 2-3 Servereinstellungen für die Einrichtung auf dem E-Mail Client... 4 E-Mail Adresse / Postfach einrichten...

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Anleitung zu STREAMDAY Hosting Pakete (Stand Februar 2005) INHALTSVERZEICHNIS

Anleitung zu STREAMDAY Hosting Pakete (Stand Februar 2005) INHALTSVERZEICHNIS Anleitung zu STREAMDAY Hosting Pakete (Stand Februar 2005) INHALTSVERZEICHNIS 1. EINPFLEGEN VON MEDIA-DATEIEN IN DAS STREAMDAY HOSTING-ACCOUNT 2 A. STANDARD (FTP) 2 B. INTERNET EXPLORER AB 5.0 FÜR WINDOWS

Mehr

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

Mehr

QuickTime für das Internet. Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum

QuickTime für das Internet. Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum QuickTime für das Internet Uwe Pirr Humboldt-Universität zu Berlin Rechenzentrum QuickTime für das Internet Grundlagen der Einbindung Verbesserte Einbindung Poster Movies Alternate Movies Streaming Movies

Mehr

Factsheet. Einbau TOSC4. Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz

Factsheet. Einbau TOSC4. Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz Factsheet Einbau TOSC4 Version: 4 Letzte Änderung: 19.12.2013 Geändert von: Armin Schanitz Letzte Änderungen: - Mobile Version - Reverse Proxy - Hinweise Lightbox 0. Inhaltsverzeichnis 0. 1. 2. INHALTSVERZEICHNIS...

Mehr

Von SystemC zum FPGA in 7 Schritten. Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule

Von SystemC zum FPGA in 7 Schritten. Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule Von SystemC zum FPGA in 7 Schritten Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule Bremen. Mirko Kruse 21. November 2004 Inhalt 1 Einleitung...1 2 Benötigte Software...1

Mehr

Handhabung von E-Mail Konten per IMAP

Handhabung von E-Mail Konten per IMAP Inhaltsverzeichnis Handhabung von E-Mail Konten per IMAP...1 Webmail für bei STRATO gehostete Domains...1 Webmail für bei ALL-INKL gehostete Domains...1 Lokale Ordner...2 Ordner-Anzeige in Thunderbird...3

Mehr

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5.

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. www.heimetli.ch. Heimetli Software AG HSWModule........ Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. August 2005 Inhaltsverzeichnis Was ist HSWModule?... 1 Installation...

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers 1. Installation und Programmstart Die Verbindung zum Inclinometer funktioniert nicht unter Windows XP, 2000. 1.1 Installation Zur Installation

Mehr

Hinweise zu Java auf dem Mac:

Hinweise zu Java auf dem Mac: Hinweise zu Java auf dem Mac: 1. Möglichkeit zum Überprüfen der Java-Installation / Version 2. Installiert, aber im Browser nicht AKTIVIERT 3. Einstellungen in der Java-KONSOLE auf Deinem MAC 4. Java Hilfe

Mehr

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse

Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Wie man in C++ mit Hilfe von Qt GUI-Anwendungen programmieren kann.

Mehr

Installationsführer für den SIP Video Client Linphone

Installationsführer für den SIP Video Client Linphone Installationsführer für den SIP Video Client Linphone Stand: 10.04.2010 1. Einleitung Dieses Dokument beschreibt die Vorgehensweise für den Download, die Installation und Inbetriebnahme eines SIP Videoclients

Mehr

Windows 7 vernetzen. Windows 7 nutzt für die Freigabe von Ordnern über die Heimnetzgruppe sogenannte Bibliotheken. Dabei handelt.

Windows 7 vernetzen. Windows 7 nutzt für die Freigabe von Ordnern über die Heimnetzgruppe sogenannte Bibliotheken. Dabei handelt. Windows 7 verfügt über die neue Funktion Heimnetzgruppe. Damit lassen sich Dateien und Ordner zwischen Rechnern austauschen. Auf den Rechnern kann Windows XP, Vista und 7 installiert sein. Die mit Windows

Mehr

2010 Ing. Punzenberger COPA-DATA GmbH. Alle Rechte vorbehalten.

2010 Ing. Punzenberger COPA-DATA GmbH. Alle Rechte vorbehalten. 2010 Ing. Punzenberger COPA-DATA GmbH Alle Rechte vorbehalten. Die Weitergabe und Vervielfältigung dieses Dokuments ist - gleich in welcher Art und Weise nur mit schriftlicher Genehmigung der Firma COPA-DATA

Mehr

ODD-TV². ... die zukunftssichere Lösung für den modernen Wettanbieter! www.bookmaker5.com

ODD-TV². ... die zukunftssichere Lösung für den modernen Wettanbieter! www.bookmaker5.com ODD-TV²... die zukunftssichere Lösung für den modernen Wettanbieter! Arland Gesellschaft für Informationstechnologie mbh - Irrtümer und Änderungen vorbehalten. Version 5.7.6 - /05/2010 Handbuch ODD-TV

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

Handbuch VERBINDUNG ZUM TERMINAL SERVER

Handbuch VERBINDUNG ZUM TERMINAL SERVER Handbuch VERBINDUNG ZUM TERMINAL SERVER Einleitung Dieses Dokument beschreibt Ihnen, wie Sie sich auf einen Terminalserver (TS) mithilfe von einem Gerät, auf den die Betriebssysteme, Windows, Mac, IOS

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Divar - Archive Player. Bedienungsanleitung

Divar - Archive Player. Bedienungsanleitung Divar - Archive Player DE Bedienungsanleitung Divar Archive Player Bedienungsanleitung DE 1 Divar Digital Versatile Recorder Divar Archive Player Bedienungsanleitung Inhalt Einstieg......................................................

Mehr

Talk2M Konfiguration für ewon DSL/LAN - Modelle

Talk2M Konfiguration für ewon DSL/LAN - Modelle Talk2M Konfiguration für ewon DSL/LAN - Modelle Seite 1 von 17 ewon - Technical Note Nr. 016 Version 1.0 Talk2M Konfiguration für ewon DSL/LAN - Modelle Einrichtung des Talk2M Services für die Verbindung

Mehr

VLC Player. Erstellen von Filmausschnitten & Film-Stills

VLC Player. Erstellen von Filmausschnitten & Film-Stills VLC Player Erstellen von Filmausschnitten & Film-Stills Suchmaschine: Eingabe vlc player Empfehlenswerter Anbieter: CHIP Online Download-Button anklicken Download-Server anklicken Das Programm auf dem

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Ich programmier mir eine App

Ich programmier mir eine App Ich programmier mir eine App Erste Schritte Auf diesem Blatt wir eine App mit einer Maschine verglichen. Die Programmierung entspricht dann der Herstellung dieser Maschine in einer Werkstatt. In der linken

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Installation Server HASP unter Windows 2008 R2 Server 1 von 15. Inhaltsverzeichnis

Installation Server HASP unter Windows 2008 R2 Server 1 von 15. Inhaltsverzeichnis Installation Server HASP unter Windows 2008 R2 Server 1 von 15 Inhaltsverzeichnis 1.1. Allgemeines zum Server HASP...2 1.2. Installation des Sentinel HASP License Manager (Windows Dienst) auf dem Windows

Mehr

Der Parameter CLOSE bewirkt, dass sich das Sicherungsprogramm am Ende der Sicherung automatisch schliesst

Der Parameter CLOSE bewirkt, dass sich das Sicherungsprogramm am Ende der Sicherung automatisch schliesst 1 Sicherung 1.1 Einleitung Die Applikation WSCAR basiert auf der Datenbank-Engine Firebird 1.5.5 / 2.5.2. Beide Programme sind nur auf der Hauptstation(Server) installiert und dürfen nie deinstalliert

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr