[TYPO3-german] FE Video Upload

Stephan Schuler stephan.schuler at netlogix.de
Sat Aug 10 11:53:33 CEST 2013


Hallo Christof.


Was du auf keinen Fall hinbekommen wirst ist, dass die Datei überhaupt
nicht deinen Webserver passiert. Nachdem Youtube diese diese Option nicht
von sich aus bietet würde das erfordern, dass sich deine Benutzer gegenüber
Youtube als du authentifizieren können -- und schon das alleine will kein
Mensch. Das wäre so als würdest du PIN- und TAN-Nummern deines Kontos
veröffentlichen damit deiner Kunden auf deinem Konto selbst nachsehen kann,
ob seine Zahlungen eingegangen sind.

Die post_max_size würde ich mit einem Flashuploader umgehen. Ich verwende
immer den pluploader. Abhängig vom verwendeten Browser läuft auf dem Client
dann Flash, Silverlight oder HTML5 das die Dateien in Chunks teilt. Auf dem
Server musst du dann nur noch die Chunks zusammen in eine Datei schreiben.
Das hat auch den Vorteil, dass du einen netten Ladebalken anzeigen kannst
solange der Benutzer was hoch läd.

Wenn du das nicht möchtest bleibt dir eigentlich nur die Möglickeit, dass
deine Besucher keine Videos hochladen sondern gleich Links zu
Youtube-Videos posten. Das ist aber unschön weil jeder deiner Besucher ein
eigenes Youtube-Konto braucht. Und auch der Marketingeffekt eines spontan
gefüllten eigenen öffentlichen Youtube-Kanals der Webseite ist dahin.


Grüße,
  Stephan Schuler.



Am 10. August 2013 01:12 schrieb HC-Media <office at hc-media.org>:

> Hi Stephan,
>
> das hört sich gut an. - den Teil mit der Freischaltung durch einen BE User
> würde ich sogar benötigen.
> Es soll im Endeffekt eine Videogalerie erstellt werden wo User die Videos
> bewerten können sollen, bevor ein Video veröffentlicht wird muss es noch
> durch einen Redakteur überprüft werden.
>
> Mein Problem bei der Variante mit Zwischenspeicher über meinen Server ist
> die post_max_size.
> Auch aus Performancegründen würde ich meinen Server gerne Außen vor lassen
> und den Upload direkt an Youtube oder Co weiterleiten.
>
>
> Lg Christof
>
> Von meinem iPad gesendet
>
> Am 10.08.2013 um 00:59 schrieb Stephan Schuler <
> stephan.schuler at netlogix.de>:
>
> > Hallo Christof.
> >
> >
> > Ich hab das vor einiger Zeit schon mit Youtube gemacht. Ich kann dir
> leider
> > weder ein Beispiel zeigen noch sagen wo es gerade aktiv ist. Aber schwer
> > war es nicht.
> >
> > Auf der Youtube-Webseite wird selbst die Zend-Lib empfohlen. Aus der hab
> > ich damals der Einfachheit halber den Youtube-Uploader verwendet.
> > https://developers.google.com/youtube/2.0/developers_guide_php
> >
> > Die Geschichte sieht folgendermaßen aus:
> >
> >
> >   - Ich würde dir einen Youtube-Video-Record empfehlen. Da speicherst du
> >   dir den Videonamen sowie den Youtube-Upload-Status.
> >   - Und du brauchst natürlich einen Youtube-Account, dessen
> >   API-Credentials du in TYPO3 eintragen kannst.
> >   - Der Benutzer läd das Video auf deinen Server. Anders ist komplex und
> >   wenig empfehlenswert. Lager die Datei zumindest zeitweise auf deinem
> Server
> >   zwischen. Der Video-Record wird in den Status "neu" gesetzt.
> >   - Per Cronjob gehst du jetzt alle Video-Records durch und lädst die der
> >   Reihe nach hoch. Nachdem manchmal Youtube mit einem "irgend was ist
> schief
> >   gelaufen, versuch es in ein paar Minuten nochmal" antwortet, solltest
> du
> >   dir die Fehler mitzählen. Ich habe mich entschieden, dass ich fünf
> temorary
> >   errors seitens Youtube toleriere.
> >   - Der Cronjob muss sich bei Youtube jedes Mal authentifizieren. Das
> kann
> >   die Zend-Lib für dich übernehmen. Gerade das Youtube-Oauth macht
> wirklich
> >   zu Fuß keinen Spaß. Alleine deshalb ist die Lib empfehlenswert, auch
> wenn
> >   sie nicht gerade das Performancemonster ist.
> >   - Sobald das Video bei Youtube hochgeladen ist, sollte der Video-Record
> >   in den Status "pending" gehen. Jetzt ist das Video zwar bei Youtube in
> der
> >   Liste deines Youtube-Accounts, allerdings muss Youtube noch
> automatisierte
> >   Prüfungen bzg. Dateiformat und Inhalt durchführen. Auch verhindert
> Youtube,
> >   dass du identische Videos in deinem Kanal liegen hast, jedes Video
> darf nur
> >   einmal existieren.
> >   - Ein zweiter Cronjob muss regelmäßig für alle lokalen
> >   "pending"-Video-Records über die Youtube-API prüfen, ob sie von Youtube
> >   abgelehnt oder akzeptiert wurden. Das darf das Video-Record dann in den
> >   Status "uploaded" oder "refused" gehen lassen.
> >
> >
> > Der Cronjob ist aus mehreren Gründen notwendig:
> >
> >   - Wie beschrieben erlaubt das einen Retry-Mechanismus, ohne dass der
> >   Benutzer zu lange die Verbindung offen halten muss.
> >   - Nachdem Youtube Videos eben auch ablehnen kann, insbesondere wenn
> z.B.
> >   urheberrechtlich geschütztes Audiomaterial erkannt wurde, kann die
> Prüfung
> >   bis zu zehn Minuten dauern. So lange willst du deinem Benutzer sicher
> >   keinen Ladebalken anzeigen. Den Benutzer jetzt an den Bildschirm zu
> fesseln
> >   bis Youtube sich entschieden hat ist keine gute Idee.
> >   - Zend ist ganz schön mächtig. Das will ich eigentlich nur ganz ungern
> >   in meinen regulären TYPO3-Seitenaufbauprozessen haben. In einem
> >   Schedulerjob ist das kein großer Stress weil der Cronjob der den
> >   Schedulerjob aufruft ein CLI ist und CLI-PHP auf meinen Servern ganz
> andere
> >   Memory-Settings hat. Aber innerhalb des regulären Seitenaufbaus bei
> Bedarf
> >   zusätzlich ein kleines Zend zu laden würde bedeuten, dass ich nur für
> den
> >   Videoupload mein Memorylimit deutlich erhöhen müsste.
> >
> >
> > Ich hab dann noch eine internens Review-Flag eingeführt, bzw. einen
> > weiteren Video-Record-Zustand. "uploaded" ist zwar schön, aber be_user
> oder
> > höher privilegierte fe_user müssen meine Videos erst von "uploaded" in
> > "public" schalten. Erst jetzt werden Videos auf der Webseite angezeigt.
> Das
> > verhindert, dass meine Webseite Videos anzeigt die ich nicht gut finde.
> >
> > Kombiniert habe ich das damals mit Youtubes privaten und öfentlichen
> > Videos. Das Video ist seitens Youtube zunächst privat, also nur für mich
> > einsehbar wenn ich gleichzeitig in meinem Youtube-Account angemeldet bin.
> > Erst wenn der be_user das Video auf "public" stellt läuft ein weiterer
> > Cronjob los der das Video bei Youtube ebenfalls von "private" auf
> "public"
> > umschaltet, und erst am Ende dieser Prozedur ist das Video auch wirklich
> > auf der Webseite verfügbar.
> >
> > Dieser Schritt verhindert, dass mein Youtube-Kanal Videos enthält die
> nicht
> > meinen Kriterien entsprechen. Immerhin kann ein solcher Youtube-Kanal ja
> > gerne auch ohne die eigene Webseite verwendet werden. Nur dass ich das
> > Video nicht auf meiner Webseite einbinde heißt ja nicht, dass es nicht
> bei
> > Youtube auch unter meinem Namen erscheint.
> >
> >
> > Grüße,
> >  Stephan Schuler.
> >
> >
> > Am 10. August 2013 00:15 schrieb HC-Media <office at hc-media.org>:
> >
> >> Liebe Liste,
> >>
> >> ich suche aktuell eine FE Extension in der Videos hochgeladen werden
> >> können sollen,
> >> anschließend soll das Video mittels Flash oder HTML5 Player eingebunden
> >> werden können.
> >>
> >> Jeder User soll Videos hochladen können die anschließend in einer
> Galerie
> >> präsentiert werden.
> >>
> >> Gerne würde ich auch auf einen externen Anbieter zurückgreifen, der eine
> >> API anbietet.
> >> Gibt's hier Erfahrungen?
> >>
> >> Ist das evtl über die YouTube API möglich? - Hätte hier jemand ein
> >> Tutorial, Beispiel, Demo?
> >>
> >>
> >>
> >> Lg Christof
> >>
> >>
> >>
> >> Von meinem iPad gesendet
> >> _______________________________________________
> >> TYPO3-german mailing list
> >> TYPO3-german at lists.typo3.org
> >> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > _______________________________________________
> > TYPO3-german mailing list
> > TYPO3-german at lists.typo3.org
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>


More information about the TYPO3-german mailing list