Ankündigung

Einklappen
Keine Ankündigung bisher.

Videoupload: Thumbnail generieren mit ffmpeg. Aber wie?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Videoupload: Thumbnail generieren mit ffmpeg. Aber wie?

    Hallo,

    ich möchte einen Videoupload mit anschließender Auswahl eines Thumbnails realisieren.
    Hierzu soll nach erfolgreichem Upload des Videos mittels ffmpeg automatisch eine bestimmte Anzahl an 'temporärer' Thumbnails aus dem Video generiert werden, von denen man dann eines auswählen kann, welches dann in einem bestimmten Ordener gespeichert wird.

    Nun meine Frage:

    Wie kann ich es geschickt realisieren, das die 'temporären' Tumbnails auch wirklich nur temporär sind, also wieder gelöscht werden.

    Ansätze:

    1. Idee) tmp Thumpnails nach kopieren des gewählten thumbnail auf php-script seite löschen.
    - Aber was wenn der Dialog abgebrochen wird?

    2. Idee) ein Serverseitiges Script, welches regelmäßig den Ordner in dem die tmp Thumbnails hinterlegt werden, bereinigt.
    - Würde wohl funktionieren. Gefällt mir aber nicht wirklich.


    bin für jeden Tip dankbar.

    Gruß
    Tobias

  • #2
    Zitat von KnightRfS Beitrag anzeigen
    Wie kann ich es geschickt realisieren, das die 'temporären' Tumbnails auch wirklich nur temporär sind, also wieder gelöscht werden.
    Wann genau?
    Nach welchem/zwischen welchen zwei Arbeitsschritten?
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      Nachdem das gewünschte Thumbnail selectiert wurde und auf OK geklickt wird.

      Kommentar


      • #4
        Zitat von KnightRfS Beitrag anzeigen
        Nachdem das gewünschte Thumbnail selectiert wurde und auf OK geklickt wird.
        Und wie soll das selektiert werden?
        Und wie lange soll die temporäre Datei dann erhalten bleiben, bzw. wann gelöscht werden?


        Komm' schon, liefere bitte langsam mal ein paar relevante Infos, und lass dir nicht alles einzeln aus der Nase ziehen.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          Ich suche ein grundsätzliches Konzept. Der Punkt ist das per ffmpeg sagen wir 10 mögliche Thumbnails aus dem Video extrairt werden sollen, von denen dann eines gewählt werden kann (per checkbox o.ä.). Die nicht verwendeten Thumbnails sollen aber nicht dauerhaft irgendwo verweilen.

          Kommentar


          • #6
            Na dann könntest du einfach die Namen aller zehn Thumbnails in einer Session ablegen - und nach erfolgter Auswahl des zu behaltenden Thumbnails werden dann die restlichen vom Script selber wieder gelöscht.
            [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

            Kommentar


            • #7
              Ja das war auch meine erste Idee, aber wenn der Nutzer bei der Thumbnail Auswahl (also nachdem sie bereits generiert wurden) seinen Browser beendet, wird ja das Script nicht ausgeführt.

              Kommentar


              • #8
                Und was gefällt dir an deiner 2. Idee nicht?
                [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                Kommentar


                • #9
                  Zitat von fab Beitrag anzeigen
                  Und was gefällt dir an deiner 2. Idee nicht?
                  Ich würde das ganze liebe irgendwie innerhalb des Upload/Auswahl Dialoges lösen anstatt eines zusätzlichen cronjob.

                  Kommentar


                  • #10
                    Leider wartest du dazwischen auf eine User-Eingabe und der ist nunmal nicht immer so freundlich, dir mitzuteilen, dass er das Formular jetzt doch nicht abschickt. Wenn du vor einem separaten Skript per Cronjob zurückschreckst kannst du natürlich auch bei jedem Upload alte Dateien aufräumen aber das ist IMHO unsauber weil schlecht skalierbar. Aber wenn es eine kleine private Anwendung ist oder du nur sehr wenige Uploads erwartest, auch ok.
                    [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                    [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                    Kommentar


                    • #11
                      Zitat von KnightRfS Beitrag anzeigen
                      Hallo,

                      ich möchte einen Videoupload mit anschließender Auswahl eines Thumbnails realisieren.
                      Hierzu soll nach erfolgreichem Upload des Videos mittels ffmpeg automatisch eine bestimmte Anzahl an 'temporärer' Thumbnails aus dem Video generiert werden, von denen man dann eines auswählen kann, welches dann in einem bestimmten Ordener gespeichert wird.

                      Nun meine Frage:

                      Wie kann ich es geschickt realisieren, das die 'temporären' Tumbnails auch wirklich nur temporär sind, also wieder gelöscht werden.

                      Ansätze:

                      1. Idee) tmp Thumpnails nach kopieren des gewählten thumbnail auf php-script seite löschen.
                      - Aber was wenn der Dialog abgebrochen wird?

                      2. Idee) ein Serverseitiges Script, welches regelmäßig den Ordner in dem die tmp Thumbnails hinterlegt werden, bereinigt.
                      - Würde wohl funktionieren. Gefällt mir aber nicht wirklich.


                      bin für jeden Tip dankbar.

                      Gruß
                      Tobias
                      Wie wärs wenn du die Thumbnails garnicht speicherst, sie dynamisch generierst, die einzelnen bilder die der user sich dann angucken kann sind eigentlich nur RND'd oder ein bestimmtes Zahlenmuster ( als Frame-Abstand zueinander ).

                      Theoretisch würd ich 3 auf einmal generieren lassen und per Ajax-Requests durch das video "navigieren" lassen. wobei du da auch nur die jeweiligen url's der bilder von "video-lochkarte.php?frameset=10" auf den nächsten wert setzen wirst.

                      Sucht der user sich dann eins aus -> speichern..
                      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                      Kommentar


                      • #12
                        Wie wärs wenn du die Thumbnails garnicht speicherst, sie dynamisch generierst, die
                        Das klingt sehr interessant, aber wie generiere ich Thumbnails dynamisch ohne sie zu speichern?

                        Kommentar


                        • #13
                          Zitat von KnightRfS Beitrag anzeigen
                          Das klingt sehr interessant, aber wie generiere ich Thumbnails dynamisch ohne sie zu speichern?
                          nun, die lib wird wohl eine function besitzen die als return das bild an den browser sendet, dem ganzen ein ( korrekter ) header vorgestellt und fertig ist das dynamische bild generier-script. als img-tag benutzt du dann:

                          PHP-Code:
                          <img src="path/to/image.gen.php?frameset=100" alt="frame-preview" /> 
                          den $_GET-Index 'frameset' wertest du dann aus und wirfst erst header dann datei(inhalt) dem browser zurück.
                          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                          Kommentar


                          • #14
                            Sinnvoller ist das dynamische Generieren aber nicht... ausser, man verbindet es mit Cachingmechanismen, dann landet man aber wieder eher bei Idee 2.

                            Im Ernst - wen stören ein paar KB Thumbnails auf einer Terrabytegroßen Platte? Lieber ein paar Dateien rumliegen haben, als sich die Performance vom Server in den Keller zu ziehen, weil der nur noch mit Thumbnail-Erstellung beschäftigt ist.
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              Zitat von lstegelitz Beitrag anzeigen
                              Sinnvoller ist das dynamische Generieren aber nicht... ausser, man verbindet es mit Cachingmechanismen, dann landet man aber wieder eher bei Idee 2.

                              Im Ernst - wen stören ein paar KB Thumbnails auf einer Terrabytegroßen Platte? Lieber ein paar Dateien rumliegen haben, als sich die Performance vom Server in den Keller zu ziehen, weil der nur noch mit Thumbnail-Erstellung beschäftigt ist.
                              Du willst Thumbnails cachen von denen sich ein User EINMAL eins aussucht und der Rest eines Videos an Thumbnails niemals wiederverwendet wird ?

                              Wozu das ? Auf die Erklärung bin ich mal gespannt.

                              Edit: Die einzigste Sinnvolle stelle zu cachen ist wenn man dem user die möglichkeit bieten will im Frameset das grad aktiv ist auch wieder rückwärts zu blättern, aber auch nur dann.. und auch nur mit extrem kurzer lebenszeit, maybe sogar nur als Session-Image ( komprimiert ) und auch nur begrenzt..
                              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                              Kommentar

                              Lädt...
                              X