Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
28. Mai 2012
Teaser

Flash: Bild (Snapshot) drehen

Um ein Bild eines Videostreames in Flash drehen zu können (natürlich geht das auch mit normalen Bildern), hilft folgender Code:

var cam:Camera = Camera.getCamera();
cam.setQuality(0,100);
cam.setMode(1600,1200,30);

if (cam != null) {
   video.attachCamera(cam);
   video.rotation = -90;
}

Das Objekt “video” ist dabei das Objekt, auf welchem der Videostream angezeigt wird, “cam” ist (sh. Zeile 1-3) das WebCam-Objekt.

14. Mai 2012
Teaser

Datenschutz: Abkommen zur Weitergabe von Passagierdaten

Die Europäische Union (EU) hat mit den USA ein Abkommen geschlossen. Der Vertrag wurde am 20. April 2012 geschlossen. Nun müssen Fluggesellschaften 19 Angaben über Ihre Passagiere an die Sicherheitsbehörden der USA weitergeben:

  • Name
  • Adresse
  • Sitzplatz
  • Kreditkartennummer
  • Informationen zu Vielfliegerprogrammen
  • Bezahlter Flugpreis
  • Reisebüro
  • Serviceanforderungen wie koscheres Essen
  • Notwendigkeit eines Rollstuhls

Diese Daten werden in den USA vorerst für 5 Jahre gespeichert, dann für 10 Jahre in eine “ruhende Datenbank” (was auch immer das genau sein soll) übertragen und können dann (im Abkommen nicht festgelegt) gelöscht werden. Dienen die Informationen nach Meinung der US-Behörden zur Terrorbekämpfung, dann werden die Daten mindestens 15 Jahre gespeichert.

Die EU-Kommissarin Celilia Malmström freut sich über das Abkommen und lebt es als Kompromiss der “solide Garantien für den Schutz der Privatsphäre enthält, ohne aber Abstriche bei der Sicherheit zu machen”. Eine deutlich besser Meinung aus Sicht des Datenschutzes vertritt dagegen Jan Philipp Albrecht (Innenexperte der Grünen). Er hält die Vereinbarung für eine Mogelpackung, die keinerlei Verbesserungen zu den bisherigen Regelungen aufweist. Der Politiker fordert deshalb, das Abkommen im Europaparlament abzulehnen. Wir stimmen Herrn Albrecht entschieden zu, denn alle Daten werden ohne Verdacht und Anlass gesammelt und übermittelt. Unsere Werte und Vorstellungen des Datenschutzes werden nicht verteidigt.

“Die USA haben eine andere Auffassung vom Datenschutz als wir Europäer”, sagt Sophia in’t Veld (Abgeordnete im Europaparlament von den Liberalen) und niemand weiß, ob die USA solche sensiblen Daten nicht doch für andere Zwecke (Grenzkontrollen, Gesundheitspolitik, usw.) nutzt. Außerdem dürfen die US-Behörden die Daten unter Auflagen auch an Drittstaaten weitergeben.

Bereits jetzt werden die folgenden Daten von Flugreisenden in die USA übertragen. Dabei werden die Daten offiziell nur für Fluggäste mit einem Flugziel in den USA übertragen:

  1. Buchungscode
  2. Datum der Reservierung
  3. Geplante Abflugdaten
  4. Name
  5. Andere Namen
  6. Anschrift
  7. Zahlungsart
  8. Rechnungsanschrift
  9. Telefonnummern
  10. Gesamter Reiseverlauf für den jeweiligen Fluggast
  11. Vielflieger-Eintrag (beschränkt auf abgeflogene Meilen und Anschrift(en))
  12. Reisebüro
  13. Bearbeiter
  14. Codeshare-Information
  15. Reisestatus des Passagiers
  16. Informationen über die Splittung/Teilung einer Buchung
  17. E-Mail-Adresse
  18. Informationen über Flugscheinausstellung (Ticketing)
  19. Allgemeine Bemerkungen
  20. Flugscheinnummer
  21. Sitzplatznummer
  22. Datum der Flugscheinausstellung
  23. Historie über nicht angetretene Flüge (no show)
  24. Nummern der Gepäckanhänger
  25. Fluggäste mit Flugschein aber ohne Reservierung (Go show)
  26. Spezielle Service-Anforderungen (OSI – Special Service Requests)
  27. Spezielle Service-Anforderungen (SSI/SSR – Special Service Requests)
  28. Information über den Auftraggeber
  29. Alle Änderungen der Buchung
  30. Zahl der Reisenden (wenn mehrere Passagiere unter einer Buchung reisen)
  31. Sitzplatzstatus
  32. Flugschein für einfache Strecken (one-way)
  33. Etwaige APIS-Informationen
  34. ATFQ-Felder (Automatische Tarifabfrage)
  35. Die Adresse der ersten Übernachtung in den USA
    Diese Angabe wird seit Oktober 2005 beim Einchecken des Fluggastes abgefragt und an die US-Behörden übertragen

Dabei sind die Angaben häufig sehr weit dehnbar: Z.Bsp. der inhalt der “Allgemeinen Bemerkungen” kann so ziemlich alles weitere an Infos umfassen, was nicht schon in der Liste aufgeführt ist.

Quelle: Deutsches Auswärtiges Amt

09. Mai 2012
Teaser

Flash: Snapshot eines WebCam-Video auf einem WebServer speichern

In Flash kann man Videosignale einer WebCam wunderbar einfach anzeigen lassen. Natürlich kann man (Unterstützung durch den Browser beim Besucher vorausgesetzt) diese Technik dann auch online einsetzen und auf diese Weise Bilder der WebCam hochladen lassen oder anders verarbeiten.

Um von einem Videostream einer WebCam in Flash ein einzelnes Bild (Snapshot) zu speichern, hilft folgender Code weiter. Es überträgt einen Snapshot des Videobildes an einen WebServer mithilfe eines PHP-Scriptes (sh. unten). Dabei ist “video” das Videoelement, in welchem der Datenstream der WebCam angezeigt wird.

var fn = "beispiel.jpg";
var url = "http://www.yourhelpcenter.de/beispiel/upload.php?filename=" + fn;

// Snapshot aufnehmen
var snapShot:BitmapData = new BitmapData(video.width,video.height);
snapShot.draw(stage);

// Bild in das JPG (JPEG) Format konvertieren
var bitmapData:BitmapData = snapShot;
var jpgEncoder:JPGEncoder = new JPGEncoder(80); // 80 = Kompressionsrate für JPEG

// Hier wird nur ein Bildausschnitt gespeichert.
// Wenn das vollständige Bild gespeichert werden soll, dann:
// var jpgStream:ByteArray = jpgEncoder.encode(bitmapData);
var jpgStream:ByteArray = jpgEncoder.encode(cropBitmap(bitmapData,new Point(26,28),1096,1556));

// Upload zum WebServer
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest(url);
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
var loader:URLLoader = new URLLoader();
var l:EncapsulatedURLLoader = new EncapsulatedURLLoader(url,header,jpgStream,loaderComplete);

Entscheidend ist die Abnahme der Bilddaten von “stage” (Zeile 6). Von anderen Quellen / Objekten hat die Bildabnahme nicht einwandfrei funktioniert und gab Fehlermeldungen.

Das entsprechende Upload-Script (hier in PHP) sorgt für die Bildspeicherung auf dem Server:

$filename = $_REQUEST["fn"];
$result = file_put_contents($filename . ".jpg", $GLOBALS["HTTP_RAW_POST_DATA"]);

if (!$result) {
        print "Fehler: Kann Datei $filename nicht schreiben. Berechtigungen prüfen.";
}