Automatische Video Qualität basierend auf Bandbreite

  • PHP

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von seh.

    Automatische Video Qualität basierend auf Bandbreite

    Hallo,

    ich habe im Moment ein wenig Zeit für ein eigenes privates Projekt und wollte mir selbst so eine kleine Webanwendung schreiben, in der ich Videos hochladen kann und auch von dort wieder streamen kann.
    Hochladen und verwalten der Videos wird alles kein Problem sein, nur sind manche Video Aufnahmen auch 4k Aufnahmen und diese lassen sich, jenachdem welche Internetverbindung man gerade benutzt nicht immer streamen weil die Videodatei zu groß ist.
    Ich hatte da an sowas ähnliches gedacht wie Netflix das macht. Also die Videoqualität an die Bandbreite anpasst, oder wie genau Netflix das macht weiß ich eigentlich garnicht, aber ich denke mir, dass die das so machen.

    Hat da einer eine Idee? Ich meine ich könnte auch das Video für verschieden Qualitäten konvertieren und runterskalieren aber so viel Aufwand für jedes Video wollte ich jetzt ungern betreiben. Gibt es eine Möglichkeit sowas ähnliches wie Netflix zu machen?

    Danke im Voraus
    Hi,

    Gibt es eine Möglichkeit sowas ähnliches wie Netflix zu machen?

    Mal eben so? Nö.

    Das beste Tool dafür ist ffmpeg: ffmpeg.org/documentation.html (oder auch hier github.com/PHP-FFMpeg/PHP-FFMpeg)
    Serverseitig installieren und dann entsprechend der Dokumentation die Argumente übergeben. Musst nur aufpassen dass alles safe ist, weil du mit exec (bzw. shell_exec oder system) arbeitest um externe Programme aufzurufen - nicht dass dort Userinput oder sonstiger Shit drin landet (siehe php.net/manual/de/function.escapeshellarg.php).


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link“ ()

    Ja daran hatte ich auch schon gedacht. Dann lade ich das 4K Video hoch, und lasse es vom Server mit ffmpeg in kleinere Videodateien konvertieren und dann soll man als User einfach auswählen können, welche Qualität gestreamed werden soll.

    Ist denke ich die einfachste und schnellste Lösung.

    danke