GUI (Programm) in Homepage (wordpress) integrieren?
Hallo Experten,
ich bin am starten eines Home-Projekts für eine Homepage die ich demnächst mit wordpress aufziehen will.
Dazu möchte ich als Test, ein kleines Programm schreiben, dass in Form einer GUI es mir ermöglicht ffmpeg über diese GUI zu steuern. (Zugriff wird nur mit login von mir aus möglich sein).
Quasi einfach Dateigröße maximal 5MB hochladen, auswählen eines encoders bzw Ausgabe-form (mp4,avi,mkv) und dann Ausgabeort auf meinem PC auswählen.
Grundsätzlich hätte ich da 2 Fragen:
1.Welchen Ansatz sollte ich angehen um dieses GUI in meiner HP zu integrieren? Ist es am besten mit Java,Python oder irgendetwas anderem zu realisieren?
2. Wird bei meinem vorhaben die Rechenleistung von meinem web-host genommen oder von meinem PC und kann ich das irgendwie steuern?
Falls euch aus Erfahrung noch irgendwelche anderen Tips, Show-Stopper oder Bedenken dazu einfallen, bitte nur zu....
Vielen Dank erstmal,
Shepherd
ich bin am starten eines Home-Projekts für eine Homepage die ich demnächst mit wordpress aufziehen will.
Dazu möchte ich als Test, ein kleines Programm schreiben, dass in Form einer GUI es mir ermöglicht ffmpeg über diese GUI zu steuern. (Zugriff wird nur mit login von mir aus möglich sein).
Quasi einfach Dateigröße maximal 5MB hochladen, auswählen eines encoders bzw Ausgabe-form (mp4,avi,mkv) und dann Ausgabeort auf meinem PC auswählen.
Grundsätzlich hätte ich da 2 Fragen:
1.Welchen Ansatz sollte ich angehen um dieses GUI in meiner HP zu integrieren? Ist es am besten mit Java,Python oder irgendetwas anderem zu realisieren?
2. Wird bei meinem vorhaben die Rechenleistung von meinem web-host genommen oder von meinem PC und kann ich das irgendwie steuern?
Falls euch aus Erfahrung noch irgendwelche anderen Tips, Show-Stopper oder Bedenken dazu einfallen, bitte nur zu....
Vielen Dank erstmal,
Shepherd
Please also mark the comments that contributed to the solution of the article
Content-ID: 3122827690
Url: https://administrator.de/contentid/3122827690
Printed on: December 13, 2024 at 12:12 o'clock
16 Comments
Latest comment
Eigentlich ist Wordpress deine GUI oder/und willst Du ein "GUI-Programm" in Wordpress implementieren? Du meinst sicherlich sowas hier: https://github.com/ffmpegwasm/ffmpeg.wasm
Generell kannst du sowas natürlich einfach in PHP bauen. Du kannst ja auch bei Wordpress auf der Filesystem-Ebene eigene Ordner erzeugen in denen du eigene Scripte hast - aufruf dann halt mit http://www.meinedomain.de/meinOrdner/meinePHP.php (oder ne index-file reinwerfen über die du das Login steuerst).
Genutzt wird immer die Rechnenleistung des Rechners wo FFMPEG drauf läuft - es wäre auch sinnlos da die Rechenleistung vom Client zu nehmen da die Anbindung deutlich zu lahm wäre.
Generell halt ein einfaches upload-script mit nem php-exec hinterher. Ich würde nur vorsichtig sein was die möglichkeiten einer Injection angeht -> daher nicht den Befehl sondern die Parameter wenn möglich nur als Dropdown. Nicht das jemand nen && rm -rf / hinter schiebt und dein Server meint er führt das mal mit root aus ;)
Genutzt wird immer die Rechnenleistung des Rechners wo FFMPEG drauf läuft - es wäre auch sinnlos da die Rechenleistung vom Client zu nehmen da die Anbindung deutlich zu lahm wäre.
Generell halt ein einfaches upload-script mit nem php-exec hinterher. Ich würde nur vorsichtig sein was die möglichkeiten einer Injection angeht -> daher nicht den Befehl sondern die Parameter wenn möglich nur als Dropdown. Nicht das jemand nen && rm -rf / hinter schiebt und dein Server meint er führt das mal mit root aus ;)
Deine WebGUI - Wordpress - dient nur der Eingabe/Auswahl der Parameter und des Quellstreams...
... das ganze lädst du - per POST z.B. - auf deinen Webserver ..
Dort werden dann im Hintergrund Skripte/Programme angestoßen die deine Verarbeitung mit den Parametern ausführen ...
... und das Ergebnis danach an die WebGUI zurückgeliefert...
... das ganze lädst du - per POST z.B. - auf deinen Webserver ..
Dort werden dann im Hintergrund Skripte/Programme angestoßen die deine Verarbeitung mit den Parametern ausführen ...
... und das Ergebnis danach an die WebGUI zurückgeliefert...
Zitat von @Shepherd81:
Soweit sehen die ersten beiden Antworten ja nach JavaScript aus. Und es als PHP-Script per Link aufzurufen gefällt mir momentan nicht so sonderlich, mal schauen.
Dürfte in so weit Javascript auf der Clientseite benutzt werden, das Parameter und Stream nicht sichtbar als .php Link mit POST Daten verschickt werden, sondern die Kommunikation via "AJAX" - Javascript in dynamisch ... - stattfindet...
letztlich werden aber genauso Links mit POST Daten verwendet, aber eben im Hintergrund dynamisch ....
.
Edit: Wenn du in deinem Browser bei den Seiten das Developer-Fenster öffnest, kannst du machvollziehen. was passiert, wenn du etwas auswählst, erc - sprich, die Kommunikation zwischen Ajax-Client und Server beobachten ...
Edit2: Natürlich gibt es noch eine Reihe anderer Protokolle, wo Client und Server dynamisch Daten austauschen können...
Ein viel verwendetes ist z.B. ws / wss - WebSocket / WebsocketSecure : hier bleibt die Verbindung bestehen, solange sie gebraucht wird und es werden nur die "Nutzdaten" ausgetauscht, dieses auch durch Push, statt Pull... - Requests - http/https - brauchts da normal nur beim Verbindungsaufbau ...
Naja - mit etwas überlegen könnte der TO auch selbst drauf kommen das eine Clientseitige Ausführung keinen Sinn macht. Denn was passiert wenn ich das ganze z.B. hier aufm Tablet aufrufe? Leider gibts hier kein ffmpeg o.ä was ausgeführt werden könnte.
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen. Da kann man dann mit verhältnismässig wenig Aufwand sowohl die Webseite in PHP wie auch ne Applikation dranpacken - da es dem Webinterface natürlich egal ist woher die Daten kommen solang die _passend_ kommen. Wäre zwar meiner Meinung nach nen Overkill für so eine Anwendung, aber wer spass dran hat....
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen. Da kann man dann mit verhältnismässig wenig Aufwand sowohl die Webseite in PHP wie auch ne Applikation dranpacken - da es dem Webinterface natürlich egal ist woher die Daten kommen solang die _passend_ kommen. Wäre zwar meiner Meinung nach nen Overkill für so eine Anwendung, aber wer spass dran hat....
Zitat von @maretz:
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen.
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen.
Irreführend: Tomcat ist eine Server-Applikation, die Java nutzt..., also auch wieder Server-seitig ...
.
Zitat von @MirkoKR:
Irreführend: Tomcat ist eine Server-Applikation, die Java nutzt..., also auch wieder Server-seitig ...
.
Zitat von @maretz:
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen.
Wenn man sowas wirklich bauen will dann würde ich in dem Fall das ganze als Java-Webapplikation im Tomcat laufen lassen.
Irreführend: Tomcat ist eine Server-Applikation, die Java nutzt..., also auch wieder Server-seitig ...
.
natürlich - habe ich was anderes behauptet? Clientseitig macht das eben keinen Sinn wenn es auf ner Webseite (wordpress) eingebunden werden soll... Und natürlich kann man sich die Arbeit auch 5x machen: einmal ne java-applikation für lokal schreiben (was dann wieder vorraussetzt das man den ganzen ffmpeg-kram auch lokal installiert hat, pfade stimmen,...) und dann irgendwas für die webseite was aber eh wieder aufm Server irgendwie ausgeführt werden muss (wenn man annimmt das nicht jeder die Programme installiert hat).
Oder man schreibt eben EINE Applikation aufm Server und hängt die clients ran. Wie erwähnt ist es imo. eh nen völlig sinnloser Overkill - da ich das reine konvertieren mit ner Handvoll Zeilen in PHP bauen kann (was vermutlich für ne WP-Installation eh vorhanden ist). Es wäre also höchstens in der Kategorie "Aus Spass an der Freude programmiert" zu sehen, SINN macht es nicht.
Im Prinzip kann man schon eine pauschale Faustformel vorgeben:
Wenn das, was TO als Beispiel-Sites vorgegeben hat auf einem - sagen wir mal 10 Jahre alten Rechner über eine - sagen wir mal - 10 MBit Leitung geladen würde ...
... bräuchte es > 5 Minuten bis die Javascript-Bibliotheken oder das Java-"Programm" geladen sind um das zu können, was angeboten wird...
...die Bearbeitung würde schon. gar keinen Spass machen - schon weil ein älterer Rechner bis zu Stunden brauchen würde ...
Mal nebenbei bemerkt würden dabei auch die Quellen offen gelegt, was kein Programmierer will...
Die Kommunikation per Request ist dabei auch nicht mehr zeitgemäß, weil der Nutzer heute erleben will. was er macht...
Bleibt also nur AJAX, etc. für kurze Kommunikation oder wss, etc für Interaktion .....
Auf jedenfall benötigt es serverseitige [hoch]performante Programmteile um schnell Benutzeransprüche und gutes Nutzerfeeling zu erfüllen ...
.
Wenn das, was TO als Beispiel-Sites vorgegeben hat auf einem - sagen wir mal 10 Jahre alten Rechner über eine - sagen wir mal - 10 MBit Leitung geladen würde ...
... bräuchte es > 5 Minuten bis die Javascript-Bibliotheken oder das Java-"Programm" geladen sind um das zu können, was angeboten wird...
...die Bearbeitung würde schon. gar keinen Spass machen - schon weil ein älterer Rechner bis zu Stunden brauchen würde ...
Mal nebenbei bemerkt würden dabei auch die Quellen offen gelegt, was kein Programmierer will...
Die Kommunikation per Request ist dabei auch nicht mehr zeitgemäß, weil der Nutzer heute erleben will. was er macht...
Bleibt also nur AJAX, etc. für kurze Kommunikation oder wss, etc für Interaktion .....
Auf jedenfall benötigt es serverseitige [hoch]performante Programmteile um schnell Benutzeransprüche und gutes Nutzerfeeling zu erfüllen ...
.
"Weil nur anhand der vielen unterschiedlichen Antworten hier sieht es danach aus, dass es extrem umständlich umzusetzen sein wird. Aber das is ja die Challenge!"
Nein, wenn du oben mal genau liest ist das eigentlich eben _keine_ challenge, sondern ne handvoll Zeilen in PHP...
Was hast du denn da? Nen simples File-Upload-Form was die Datei irgendwo aufm Server ins Filesystem haut. Ok, is jetzt nix ungewöhnliches... Dann hast du noch nen kleines php-exec - was am ende nur dein ffmpeg-kommando aufruft. Auch nicht weiter wild. Und in deinem Upload-Form noch ne Handvoll Dropdowns was eben bestimmte Parameter an das Exec übergibt.
Eben deshalb ist es völlig überdimensioniert hier mit nem Tomcat und ner Java-Applikation ranzugehen... Es wäre was anderes wenn du z.B. das FFMPeg-Gedöns da auch selbst nachprogrammieren würdest (was auch sinnfrei wäre da es genau das ja schon gibt). Aber wenn es lediglich darum geht ne Datei hochzuladen und eben nen Linux-Shell-Kommando drauf anzusetzen ist das ganze in PHP in ner Stunde oder 2 zusammengenagelt. Da ist also jetzt nix wirklich ne "Challenge"...
Nein, wenn du oben mal genau liest ist das eigentlich eben _keine_ challenge, sondern ne handvoll Zeilen in PHP...
Was hast du denn da? Nen simples File-Upload-Form was die Datei irgendwo aufm Server ins Filesystem haut. Ok, is jetzt nix ungewöhnliches... Dann hast du noch nen kleines php-exec - was am ende nur dein ffmpeg-kommando aufruft. Auch nicht weiter wild. Und in deinem Upload-Form noch ne Handvoll Dropdowns was eben bestimmte Parameter an das Exec übergibt.
Eben deshalb ist es völlig überdimensioniert hier mit nem Tomcat und ner Java-Applikation ranzugehen... Es wäre was anderes wenn du z.B. das FFMPeg-Gedöns da auch selbst nachprogrammieren würdest (was auch sinnfrei wäre da es genau das ja schon gibt). Aber wenn es lediglich darum geht ne Datei hochzuladen und eben nen Linux-Shell-Kommando drauf anzusetzen ist das ganze in PHP in ner Stunde oder 2 zusammengenagelt. Da ist also jetzt nix wirklich ne "Challenge"...