Phpfox Video Uploads in MP4 speichern

Das Video Modul von Phpfox konvertiert alle Videos nach dem Upload ins Flashformat (FLV). Das dies in Zeiten von immer mehr mobilen Usern nicht mehr zeitgemäß ist sollte jedem klar sein. Zwar können Android Besitzer darüber noch lächeln, aber Apples Fangemeinde mit Iphone, Ipad und Ipod bleiben beim Video schauen draußen. Dies betrifft allerdings nur die hochgeladenen Videos und nicht die, die per URL eingefügt wurden, wie etwa die von Youtube oder Vimeo.

Um nun einen eventuellen Wechsel des integrierten Players (installiert ist Flowplayer) auf zum Beispiel JWPlayer Vorschub zu leisten empfiehlt es sich, die Video im MP4 Format abzuspeichern. Um dies zu erreichen ist ein saftiger Core-Edit notwendig. Bearbeitet wird dazu die folgende Datei: /phpfoxroot/module/video/include/service/convert.class.php.

Nachfolgend die bereits geänderte Datei:

 

Nun müssen wir noch die Anweisungen für FFMPEG ändern damit auch die korrekten Parameter zum konvertieren mitgegeben werden. Diese Einstellung wird hier erledigt: http://meinedomain.com/admincp/setting/edit/module-id_video/ (meinedomain.com müsst ihr durch euren Domainnamen ersetzen).

Gute Qualität

-qscale 3 -i {source} -vcodec libx264 -level 12 -b 128kb/s -r 25 -bt 144kb/s -coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 7 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 2 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid+wpred+dct8x8+fastpskip -acodec libfaac -ab 128kb/s -ac 2 -ar 48000 -s {width}x{height} {destination}

Wer bessere Qualität haben möchte muss mit dem String etwas spielen. Hier eine andere Variante:

Bessere Qualität

-i {source} -vcodec libx264 -level 12 -b 128kb/s -r 25 -bt 144kb/s -coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method full -subq 7 -me_range 23 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 16 -refs 4 -directpred 2 -trellis 1 -flags2 +bpyramid+wpred+mixed_refs+dct8x8+fastpskip -acodec libfaac -ab 128kb/s -ac 2 -ar 48000 -s {width}x{height} {destination}

Die Dokumentation liefert Informationen zu den Parametern.
Wer hier einen besseren String findet kann ihn gerne als Kommentar posten.

Wie üblich wird nach einer Änderung der Cache über das AdminCP geleert und dann testweise ein Video hochgeladen. Es sollte so einwandfrei ins MP4 Format konvertiert und abgespeichert werden. Das MP4 Format wird ganz hervorragend mit dem intergrierten Flowplayer abgespielt.

Warum das ganze?

Sollte sich ein Community Betreiber dazu entscheiden den Flowplayer gegen JW-Player auszutauschen, können hochgeladene Videos die im MP4 Format abgespeichert worden auch auf iOS Geräten abgespielt werden. Wird diese Änderung nicht gemacht und die Filme werden wie von Phpfox vorgegeben im Flashformat gespeichert, nützt auch ein JW-Player nichts da die Videos dann nicht auf iOS Geräten sichtbar sind bzw. nicht abgespielt werden können.

Die Änderung ist also eine Investition in die Zukunft und beugt einem eventuellem Playerupdate vor da die Änderung natürlich nur für neue Videos greift.

Wer Videouploads mangels FFMPEG auf dem Server nicht aktiviert hat  oder sie eh nicht erlaubt, braucht diese Änderung überhaupt nicht.

Für Leute die das probieren wollen empfiehlt es sich, dies zuerst auf einer Development Plattform zu ändern und sich das Ergebnis dort anzuschauen. Wie immer gilt: Vorher ein Backup machen!

Hier mal das Ergebnis als Video:

 

4 Kommentare
  1. Pereira
    Pereira says:

    Sorry! I just speak english. I’ve set it and it’s working, but the quality is very bad (i’m using the second option). How do i improve the convert? It’s very grainy…

    phpfox v3.5

    thanks.

    Antworten
  2. admin
    admin says:

    You have to study ffmpeg documentation to understand how to raise up vodeo quality. The provided string has best quality on our servers, but you may end up in other results. Another suggestion is wait for 3.6.0 stable. The new phpfox relase will have HTML5 player and new settings for this.

    Antworten
    • Chris Penning
      Chris Penning says:

      Hallo Daniel, in den neueren Versionen ist MP bereits mit an Board und muss nur noch aktiviert werden. Voraussetzung ist eine ordnungsgemäße Installation von FFMPEG auf deinem Server. Dieser Artikel bezieht sich auf PHPFox Versionen bis 3.6.0

      Antworten

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Bitte Einloggen , um einen Kommentar zu hinterlassen