The development of virtPresenter Software has stopped! We are concentrating our resources on Opencast Matterhorn Projekt here you can finde many experiences we made by deveolpint virtPresenter.
Protokoll des Videorekorder Services
Um zukünftige Erweiterungen zu erleichtern, wurde das Protokoll zur Kommunikation mit dem Videoserver etwas formalisierter gefaßt. Diese Übersicht beschreibt die Protokollversion 0. Der Client sollte nach dem Verbindungsaufbau prüfen, daß der Server die geforderte Protokollversion unterstützt.
Die Kommunikation beginnt durch Aufbau einer TCP Verbindung zum Port 2222 und besteht aus der Übermittlung von Befehlszeilen durch den Client und dem Senden von Antwortzeilen durch den Server. Eine solche Zeile besteht nur aus ASCII-Zeichen und wird mit CRLF abgeschlossen. Die möglichen Befehlszeilen sind weiter unten aufgelistet, die Antwortzeilen besitzen immer die Form:
<status> <text>
Die Statuscodes haben dabei allgemein die Bedeutung:
- 2xx request executed without error
- 4xx possibly temporary error occured
- 5xx permanent error occured
Direkt nach dem Aufbau der Verbindung schickt der Server eine Statusmeldung der Form:
220 <protokollversion> <infotext>
Anschließend können die folgenden Befehle an den Server gegeben werden:
auth <passwort>
Meldet den Benutzer mit dem angegebenen Paßwort am Server an. Das Paßwort darf keine Leerzeichen oder sonstigen Zwischenraum enthalten. Erst nach diesem Anmeldevorgang können die anderen Befehle (mit Ausnahme von quit) gegeben werden.
Zulässige Antworten des Servers:
200 ok 500 syntax error 501 password incorrect record <dateiname> <dauer>
Beginnt die Aufnahme in die Datei <dateiname>.mpg, falls möglich (eine vorhandene Datei wird dabei überschrieben). Der Dateiname darf keine Leerzeichen oder sonstigen Zwischenraum enthalten. Als Resultat wird eine Abschätzung der verbleibenden Zeit (in Sekunden) geliefert, die bei der eingestellten Bitrate noch auf das Aufnahmemedium passen würde. Falls bereits eine Aufnahme läuft, wird ein 403 Fehler gemeldet. Die Aufnahme endet automatisch nach der angegebenen Zeit (in Sekunden), anschließend wird noch eine Benachrichtigung über die Aufnahme an den Schnittrechner übermittelt. Es ist kein Fehler, wenn die Aufnahmedauer die noch verfügbare Zeit überschreitet.
Zulässige Antworten des Servers:
201 <anzahl> seconds 401 <fehlertext> 403 recording 404 interrupted 500 syntax error 501 not logged in start <dateiname> [<maximaldauer>]
Beginnt die Aufnahme in die Datei <dateiname>.mpg, falls möglich (eine vorhandene Datei wird dabei überschrieben). Der Dateiname darf keine Leerzeichen oder sonstigen Zwischenraum enthalten. Als Resultat wird eine Abschätzung der verbleibenden Zeit (in Sekunden) geliefert, die bei der eingestellten Bitrate noch auf das Aufnahmemedium passen würde. Falls bereits eine Aufnahme läuft, wird ein 403 Fehler gemeldet. Wird eine maximale Aufnahmedauer (in Sekunden) angegeben, so endet die Aufnahme automatisch spätenstens nach der vorgegebenen Zeit, der Aufnahmevorgang wechselt dann in den Zustand interrupted. Es ist kein Fehler, wenn die maximale Aufnahmedauer die noch verfügbare Zeit überschreitet. Ein Wert von 0 bedeutet hierbei "keine maximale Aufnahmedauer".
Zulässige Antworten des Servers:
201 <anzahl> seconds 401 <fehlertext> 403 recording 404 interrupted 500 syntax error 501 not logged in vgarec <dateiname> [<maximaldauer>]
Beginnt die Aufnahme des Bildschirmbildes eines angeschlossenen Rechners über ein Caputuredevice in die Datei <dateiname>-vga.avi, falls möglich (eine vorhandene Datei wird dabei überschrieben). Der Dateiname darf keine Leerzeichen oder sonstigen Zwischenraum enthalten. Als Resultat wird eine Abschätzung der verbleibenden Zeit (in Sekunden) geliefert, die bei der eingestellten Bitrate noch auf das Aufnahmemedium passen würde. Die Zeit ist geschätzt für den Fall das auch parallel eine Videoaufzeichnung läuft. Falls bereits eine Aufnahme läuft, wird ein 403 Fehler gemeldet. Wird eine maximale Aufnahmedauer (in Sekunden) angegeben, so endet die Aufnahme automatisch spätenstens nach der vorgegebenen Zeit, der Aufnahmevorgang wechselt dann in den Zustand interrupted. Es ist kein Fehler, wenn die maximale Aufnahmedauer die noch verfügbare Zeit überschreitet. Ein Wert von 0 bedeutet hierbei "keine maximale Aufnahmedauer".
Zulässige Antworten des Servers:
201 <anzahl> seconds 401 <fehlertext> 403 recording 404 interrupted 500 syntax error 501 not logged in vncrec <dateiname> <VNC-Server URL> <VNC-Server Passwort> [<maximaldauer>]
Beginnt die Aufnahme des Bildschirmbildes des angegebenen VNC-Servers im Flash-Format über ein pyvnc2swf in die Datei <dateiname>-vnc.swf, falls möglich (eine vorhandene Datei wird dabei überschrieben). Der Dateiname darf keine Leerzeichen oder sonstigen Zwischenraum enthalten. Als Resultat wird eine Abschätzung der verbleibenden Zeit (in Sekunden) geliefert, die bei der eingestellten Bitrate noch auf das Aufnahmemedium passen würde. Die Zeit ist geschätzt für den Fall das auch parallel eine Videoaufzeichnung läuft. Falls bereits eine Aufnahme läuft, wird ein 403 Fehler gemeldet. Wird eine maximale Aufnahmedauer (in Sekunden) angegeben, so endet die Aufnahme automatisch spätenstens nach der vorgegebenen Zeit, der Aufnahmevorgang wechselt dann in den Zustand interrupted. Es ist kein Fehler, wenn die maximale Aufnahmedauer die noch verfügbare Zeit überschreitet. Ein Wert von 0 bedeutet hierbei "keine maximale Aufnahmedauer".
Zulässige Antworten des Servers:
201 <anzahl> seconds 401 <fehlertext> 403 recording 404 interrupted 500 syntax error 501 not logged in stop
Beendet eine laufende Aufnahme. Ein stop Kommando ohne laufende Aufnahme hat keinen Effekt (und ist kein Fehler).
Zulässige Antworten des Servers:
200 ok 401 <fehlertext> 501 not logged in timer <Laufzeit in Sekunden>
Beendet alle laufenden Aufzeichnungen zur selben Zeit, ob nun VNC, VGA oder Video. Hat den Vorteil das im Gegensatz zum einzelnen Timer beim start, vncrec oder vgarec die ganzen Aufzeichnungen den selben Endpunkt haben.
Zulässige Antworten des Servers:
200 ok 401 <fehlertext> 501 not logged in status
Liefert den aktuellen Status (Aufnahme/keine Aufnahme) zurück.
Zulässige Antworten des Servers:
202 idle 203 recording video 204 interrupted 205 recording vnc and video 206 recording vnc 207 recording vnc and video 208 recording vnc and vga 209 recording vga, vnc and video 210 recording vnc 501 not logged in avail
Liefert eine Abschätzung der verbleibenden Zeit (in Sekunden), die bei der eingestellten Bitrate noch auf das Aufnahmemedium passen würde. Dieser Befehl kann auch ohne laufende Aufnahme gegeben werden.
Zulässige Antworten des Servers:
201 <anzahl> seconds 401 <fehlertext> 501 not logged in videoduration <dateiname>
Liefert die Länge des Videos einer Videodatei auf dem Server. Der Dateiname muss die Endung enthalten
Zulässige Antworten des Servers:
201 <Zeit in 00:00:00.0> 401 file not found 500 syntax error 501 not logged in quit
Beendet die Verbindung zum Server.
Zulässige Antworten des Servers:
221 close
Nicht erkannte Befehle werden mit einem 500 Fehler beantwortet. Der Abbruch der Verbindung zum Server kann durch ein quit Kommando oder das Schließen der TCP Verbindung erfolgen.

