| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2004 Ort: Chemnitz
Beiträge: 18
|
Hallo =) Ich hoffe, ich hab den richtigen Bereich erwischt ^^ Ich will Vorschaubilder von Videos (z.b. mpeg, avi, asf, etc.) mit Flash erstellen und anzeigen lassen. Quasi ähnlich wie Youtube oder Google-Video. Meine Frage zu Beginn: ist das überhaupt möglich oder sollte ich lieber aufgeben, solange ich noch kann? Falls jemand Links hat, wo ich mich belesen könnte, wäre ich dankbar. Google bringt bei einer Suche tausende Links, die überhaupt nichts mit dem Thema zu tun haben ^^ Vielen Dank schonmal. |
| | |
| | #2 (permalink) |
| aka CYBERHOLIC Registriert seit: Jan 2002 Ort: hamburg
Beiträge: 591
|
Also jetzt mal ganz bescheuert gefragt, aber wieso machst Du nicht ein Screenshot von dem ersten Frame und baust das mit ein? Oder handelt es sich bei Deinem Player um eine dynamische Lösung? Selbst wenn, würde ich dann alles über Datenbank oder externe Textdatei steuern, so das Du nur eine Playerdatei benötigst, die dann auf die einzelnen Filme zugreift. Wobei wir bei denen bisherigen 7 Flash-Beiträgen wären: wieviel Ahnung hast Du denn? Oder ist die Bedeutung "dynamische Lösung" für Dich mit einem "böhmischem Dorf" gleich zu setzen? Gute Nacht und bis morgen ![]() Carlos
__________________ ---------------------------------------------- --// www.endorphinum.de --// beta.endorphinum.de ---------------------------------------------- |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
|
Hi Moin! Klar, das geht ganz simpel. Es gibt drei Methoden, eine mit Flash und zwei ohne Flash. 1. Du nimmst eine FLVPlayback Komponente, packst deinen Film dynamisch dort rein und scannst mit Hilfe der BitmapData Klasse (Beispiele gibt es hier im Forum genügend!) Pixel für Pixel ab. Dann übergibst du diese Pixel an ein Flash was wiederum die Daten für dich in ein JPG File schreibt. Wie gesagt Beispiele gibt es hier im Forum genug! Suche benutzen! 2. Du benutzt FFMPEG. Aus Flash startest du eine Anfrage an ein PHP das wiederum per SHELL das FFMPEG aufruft. FFMPEG ist in der Lage aus verschiedenen Videoformaten Einzelbilder zu extrahieren (und ganz nebenbei noch ein mächtiger Encoder!). 3. Du nutzt FFMEG-PHP und extrahierst per PHP Script (Aufruf aus Flash starten) ein beliebiges Einzelbild aus deinem Video. Wäre eigentlich für dieses Szenario am Einfachsten. Grüße Christian |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jun 2004 Ort: Chemnitz
Beiträge: 18
|
Danke euch beiden. Ja, das Ganze soll schon dynamisch sein - und ich weiß, wovon ich rede *g* Das Alles soll, wie Utopian schon richtig angeschnitten hat, eine Alternative zu FFMpeg-PHP sein, das offenbar nur auf der 4er PHP-Version läuft. Eine für Windows kompilierte Version für PHP5 soll es zwar geben, die lässt sich jedoch nicht als Extension einbinden und eine Anleitung zur Benutzung unter einem Windows-Xampp gibts auch nicht. Hab gestern stundenlang alles mögliche ausprobiert und das Inet gewälzt ![]() Deswegen wollte ich den Umweg über Flash gehen. Wobei Utopians erster Vorschlag recht prozesslastig klingt und lange dauern würde. Gibts vielleicht doch eine Möglichkeit, FFMpeg unter nem Windows-Apache (PHP5) zum Laufen zu kriegen? Hat's vielleicht sogar schon jemand geschafft? |
| | |
| | #5 (permalink) | |
| Neuer User Registriert seit: May 2003
Beiträge: 1.031
| Zitat:
Nein, definitiv nicht als Prozess. Ich habe mal eine Anwendung mit PHP erstellt. Also prinzipiell kannst du mit PHP auf der serverseite ja jede beliebige EXE starten, kein Ding. Das Problem hierbei ist nur das du überwachen musst wie weit der Prozess ist und dann ein Feedback zurückgeben willst. Für diesen Zweck habe ich AJAX in Verbindung mit Flash verwendet. So gehts: Der folgende Codeschnipsel startet über PHP eine ffmpeg binary mit Parametern. Die Parameter sind: $time (ein timestamp) $_REQUEST[ "format" ] (Siehe FFMPEG Hilfe für Ausgabeformate) $_REQUEST[ "resolution" ] (Siehe FFMPEG Hilfe für Auflösungen) PHP-Code: sofort wieder geschlossen. Zwar läuft die Anwendung weiter, aber PHP denkt das die Anwendung geschlossen ist und verursacht so keinen möglichen Script Timeout. Der Schnipsel: PHP-Code: (also in der Konsole) in eine Textdatei ausgegeben werden soll deren Name ein Timestamp (in diesem Fall ist). ffmpeg schreibt nämlich den Konvertierungs -Status in die Konsole. Weiter gehts... Nun ist die Konvertierung am Laufen und alle paar Millisekunden wird eine Textdatei (immer die Gleiche!) geschrieben die über den aktuellen Status informiert. Jetzt kommt AJAX ins Spiel. Das AJAX fragt jede Sekunde eine andere PHP ab, die wiederum überprüft was in der Datei steht. Falls in der Datei die Anzahl der zu konvertierenden Frames gleich der Anzahl der Gesamtframes dann sind wir am Ende ;-) Komfortablerweise kann man den Status von AJAX an Flash über eine ExternalInterface Komponente übergeben. Mein PHP das von AJAX angesprochen wird sieht so aus: PHP-Code: Ich habe mir einen kleinen Encoder in Flash gebaut, der serverseitig genau das macht. Mein Encoder wandelt einen beliebigen Film erst in Einzelframes um, rendert dann auf schwarzen Hintergrund einen Text (frei wählbar) in JPG's und wandelt dann alle Einzelbilder wieder in ein beliebiges Ausgabeformat um (PSP Video, Handy, MPEG, Flash etc.). (siehe Screen im Anhang). Falls es dich interessiert: Ich schreibe momentan einen kleinen Artikel dazu (quasi eine DIY-Anleitung) und stelle demnächst eine Doku und den Quellcode zum Download in meinen Blog zur Verfügung. Grüße Christian Geändert von Utopian (29-06-2007 um 08:36 Uhr) | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |