# Video konvertierung mittels php & apache wie in youtube



## bensky (10. Januar 2007)

Hallo!

Habe folgende Frage. Falls schon irgendwo beantwortet, bitte nicht steinigen, habe nichts gefunden.

Auf unserem Portal möchten wir gerne, dass die Besucher VIDEOS hochladen können jedes Formates. Diese sollen AUTOMATISCHE KONVERTIERT werden ins Flash während des hochladens von videos auf unseren Portal!
Außerdem sollen diese mit Wasserzeichen versehen werden.

Halt sowas wie youtube.com

Also das hochladen per php/geht schon bis max 100MB allerdings finde ich keine richtige anleitung die videos umwandeln zu lassen!? Wer weiß Rat? bzw. wie ist das hinzubekommen?

gruß


----------



## Kahmoon (10. Januar 2007)

Mit PHP selbst wirst Du da nicht weit kommen. Das ganze läuft vermutlich über einen Flash Streamingserver der diese Arbeit macht. Besser mal im Flashforum nachfragen.


----------



## matdacat (10. Januar 2007)

Wirst nicht gesteinigt, nur zärtlich daraufhingewiesen: Suche nach "youtube" fördert bereits z.B. diesen Thread zu Tage.

// edit: Sorry, sehe gerade, dass Du dort bereits gepostet hast.


----------



## bensky (10. Januar 2007)

Ja schon klar, den hab ich auch schon gelesen, war auch schon im flashforum, die allerdings sagten das ich in nem php/apache Forum fragen soll, weil flash Leute damit selber nix zu tun haben(Designer) sondern PHPler die das Problem schon mal gehabt haben und auf deren apache mit php eingebunden haben 

Also, dann lasst mal hören


----------



## Sirsmoke (10. Januar 2007)

Die Flasher haben insofern damit nix zu tun, weil du wissen willst wie das Video ins FLV (Flash) format konvertiert wird, und nicht wie es auf der Page eingebunden wird. Das passiert serverseitig (Flash ist clientseitig) und hat mit Webdesign als solches eigentlich auch nichts zu tun.
Ich denke dass die bei youtube externe Encoderserver benutzen, die auch bestimmt auf etliche Systeme verteilt sind. Das ganze wird ganz sicher nicht innerhalb des Webservers (als Modul) gemacht, da werden dann externe Prozesse oder eben ganze Serversysteme vom Webserver angesprochen, mit PHP passiert da an den Videos selbst auf jeden fall nichts. PHP ist für *H*ypertext (HTML) gedacht, und nicht für Binärdaten wie Videos, Musik und damit eigentlich auch nicht für Bilder, nur extern über eine Bibliothek. Bibliotheken wirds für Videos aber ziemlich sicher nicht geben, weil es den Rahmen von PHP deutlich sprengt.
Die Technik dahinter ist damit sehr komplex und ich glaube nicht, dass es dafür eine freie bzw. kostenlose Lösung gibt.

stebbi


----------



## Kahmoon (10. Januar 2007)

Daher sagte ich ja..Flash Streaming SERVER. Nix Clientseitig


----------



## Tobias Menzel (10. Januar 2007)

Man braucht nicht unbedingt einen Streaming-Server,um FLV-Videos zu streamen. Genauso wenig wie für die Aufgabe, hochgeladene Videos in beliebigen Formaten ins FLV-Format umzuwandeln (was sicher nicht in Echtzeit während der Wiedergabe, sondern einmalig nach dem Upload geschieht).

Es gibt bestimmte Anwendungen, die serverseitig laufen und diese Aufgabe übernehmen (z.B. FFMPEG) - im Flashforum hat bisher kaum jemand tiefergehende Erfahrung mit derartigen Tools, weshalb ich empfohlen habe, einen Blick in die entsprechenden Foren, die sich mit Servertechnologien befassen, zu werfen.

Gruß

P.S.: @Bensky: Eine Frage in drei verschiedene Threads in zwei unterschiedlichen Foren zu posten, führt nicht unbedingt schneller zu einer Antwort; im Gegenteil riskierst Du eher die Schließung der entsprechenden Themen.
.


----------



## Dr Dau (10. Januar 2007)

Hallo!


Tobias Menzel hat gesagt.:


> .....was sicher nicht in Echtzeit während der Wiedergabe, sondern einmalig nach dem Upload geschieht.....


Ich weiss jetzt zwar nicht mehr auf welcher Seite es war (gibt ja so viele von diesen Videoseiten  ), aber auf einer werden/wurded die Dateien in während der Wiedergabe konvertiert.
Wer sich entsprechend Mühe gibt, kann die Original Dateien runterladen. 

Meiner Meinung nach ist dass aber absoluter Schwachsinn..... schliesslich liegen die Dateien für gewöhnlich länger auf dem Server und werden entsprechend oft aufgerufen.
Dass "on the fly" konvertieren belastet den Server also nur unnötig.

@bensky, evtl. solltest Du erstmal sagen mit welchem System der Server läuft und ob Du überhaupt die Möglichkeit hast Programme zu installieren.
Den Upload kannst Du mit PHP realisieren.
Auch währe es mit PHP evtl. möglich den Konvertiervorgang "anzuschubsen" (z.b. mit exec())..... also das Programm starten und die Datei (bzw. den Pfad zur Datei) an das Programm übergeben.
Ich würde den Konvertiervorgang evtl. auch ausserhalb der Stosszeiten (z.b. nachts) ausführen.

FFMPEG ist schonmal ein gutes Stichwort..... in verbindung mit FLVTool2 (in Ruby geschrieben) kannst Du die Dateien via Kommandozeile umwandeln (also schonmal ideale Voraussetzungen für eine scriptgesteuerte Konvertierung).
Siehe dazu auch hier.
Probiert habe ich es aber nicht..... ich kann Dir also keine Hilfestellung leisten.

Gruss Dr Dau


----------



## mbecker (10. Januar 2007)

Hey,

siehe hier:
http://blog.go4teams.com/?p=56

In dem Artikel wird zwar die Benutzung von Django beschrieben, lässt sich aber auch Ruby bzw. RubyonRails übertragen.

Mit PHP ist die Lösung nicht möglich und ich denke auch nicht, dass es irgendwelche Lösungen geben wird mittels PHP und anderen Tools Videos in FLV umzuwandeln.



> The good thing about ffmpeg is that it is controlled entirely from the command-line and can be run in headless environments — this is vital for using it on an application server.


Wie in dem Artikel beschrieben, wird ffmpeg über die Kommandozeile gesteuert, dies ist aber nicht mit PHP möglich (korrigiert mich, wenn ich falsch lieegn sollte).

Persönlich kann ich dur nur RubyonRails empfehlen, ein wunderbares Framework, dass auf Ruby aufsetzt.

Dennoch viel Glück bei weiteren Recherchen...
(mit PHP hab ich mich seit ich RoR vor nem 3/4 Jahr entdeckte nicht mehr angeguckt, kenn mich daher nicht mehr so tiefgründig damit aus, daher sry, wenn ich falschliegen sollte)

P.S. Generell kann ich bei solchen Recherchen digg.com und del.icio.us sehr empfehlen, da sie sehr oft bei Sachen rund um den PC weiterhelfen (benutzen ja auch nur Nerds und Freaks  )


----------



## Dr Dau (11. Januar 2007)

mbecker hat gesagt.:


> Mit PHP ist die Lösung nicht möglich.....


Nicht möglich würde ich nicht unbedingt sagen..... immerhin ist PHP dazu in der Lage binäre Dateien zu lesen und zu schreiben.
Über den Aufwand lässt sich natürlich streiten. 


mbecker hat gesagt.:


> Wie in dem Artikel beschrieben, wird ffmpeg über die Kommandozeile gesteuert, dies ist aber nicht mit PHP möglich (korrigiert mich, wenn ich falsch lieegn sollte).


Ich habe ja schon exec() erwähnt. 
Grundsätzlich ist es also möglich..... wenn die Funktion nicht deaktiviert ist und ausreichende Zugriffs-/Ausführungsrechte bestehen.

[edit]


mbecker hat gesagt.:


> siehe hier:
> http://blog.go4teams.com/?p=56


Auf der Seite werden ja auch FFMPEG und FLVTool2 verwendet.
Allerdings mit anderen Befehlszeilen.
Ein Blick in die Hillfe der Programme und ein wenig experimentieren könnte also wohl nicht schaden. 
[/edit]


----------



## Sirsmoke (11. Januar 2007)

Dr Dau hat gesagt.:
			
		

> Nicht möglich würde ich nicht unbedingt sagen..... immerhin ist PHP dazu in der Lage binäre Dateien zu lesen und zu schreiben.
> Über den Aufwand lässt sich natürlich streiten.


Das wäre erstens wahnsinnig aufwändig, zweitens kannst du mit PHP so nicht sehr performant arbeiten, ist halt einfach für Hypertext gedacht und nicht für Binaries, auch wenn es eine theoretische Möglichkeit gibt (von kleineren Extensions wie der GD-Lib mal abgesehen).

stebbi


----------



## Dr Dau (11. Januar 2007)

Wie gesagt, über den Aufwand lässt sich streiten. 
Für den einen ist es halt purer Wahnsinn (diese Meinung teile ich auch) und für den anderen ist es eine Herausforderung.
Theoretisch sollte es machbar sein, in der Praxis wird es aber (neben der Performance)  zu Problemen (hardwaretechnische Einschränkungen, max_execution_time, memory_limit etc.) kommen.


----------



## CIX88 (12. Januar 2007)

> Video konvertierung mittels php & apache wie in youtube


Der arme Server der das verkraften muss 
Überhaupt eine Vorstellung, was an Speicher benötigt wird ?

Für solche Geschichten gibt es FFmpeg.
Ja was soll man sonst noch dazu sagen ... das Video wird nach dem Upload in FLV umgewandelt und fertig ist der Spass.
Eine Beschreibung zu FFmpeg findet man auch mit Google.

Habe mir jetzt hier nicht alles genau durchgelesen, aber vergiss PHP, GDlib etc....


----------

