Logo Logo
/// 

Eigene Webseite mit eigenen Videos - Streaming als HLS anbieten - HLS-Files & Struktur erstellen



Noch was unklar? Dann in unserem Forum nachfragen
Zum Original-Thread / Zum Videoschnitt Allgemein-Forum

Frage von DAF:


Hallo Forum,

leider sind meine Kenntnisse bzgl. anbieten/bereitstellen von (eigenen) Videos auf einer eigenen Homepage bei .swf & Flashplayer stehengeblieben.

Nun gibt es ja neue Systeme die das Videofile nicht mehr als Ganzes, sondern "stückchenweise" aufgeteilt übertragen. Und teils auch schon so, dass die bereits angesehenen Teile dann gleich wieder aus dem Cache gelöscht werden. Klar, auch damit wird es sicher nicht unmöglich, einen unberechtigten/unkontrollierten Download zu verhindern - aber doch deutlich schwerer.

Können mich die Wissenden bitte mal schlau machen

- nach was ich mich da umsehen muss?
- ob diese Aufteilung dann serverseitig (extra Software?) stattfindet?
- und/oder mir schildern wie das alles funktioniert (ggf. auch mit Links wo ich es nachlesen kann)

Danke schonmal...

Ach ja, publizieren auf Plattfomen wie YT oder Vimeo kommt nicht in Frage, ebenfalls DRMDRM im Glossar erklärt nicht.

EDIT = Überschrift geändert



Antwort von dienstag_01:

Videos werden immer *stückchenweise* übertragen. Was du meinst, ist wahrscheinlich adaptives StreamingStreaming im Glossar erklärt, z.B. Dash.
Downloads verhindert das aber nicht.



Antwort von beiti:

Direkt ein Video im Browser runterladen kann man eh nicht; das ist nicht wie bei Fotos, wo man nur einen Rechtsklick macht und dann speichert. Also ein bisschen mehr Mühe muss sich der Videodieb schon machen.

Es gibt allerdings mittlerweile tolle Downloadprogramme, die auch ggfs. die Fragmente wieder zu ganzen Videos zusammenbauen sowie Bild und Ton verbinden. Wenn jemand sowas benutzt, helfen meines Wissens auch keine Gegenmaßnahmen.





Antwort von DAF:

Also ich kenn das noch so:
Das Videofile wurde übertragen, und hatte sich dann im Browser-Cache als ganzes (ggf. unter anderem Namen/Endung) wiedergefunden. Umbenennen - fertig war das gdownloadete Video.
Das es wahrscheinlich zu jeder neuen Technoligie immer Programme geben wird, die einen Downloadschutz umgehen ist mir klar. In letzter Konsequenz dann halt mit dem Screen-Recorder.
Aber ich möchte es halt so modern (= auch so schwer als möglich für Hobby-Downloader) anlegen.

Über die Begriffe DASH & HLS bin ich auch schon gestoplpert.

Was mir bei beiden nicht klar ist:
Werden die zu übertragenden Segmente auf dem Server "Hergestellt"/bereitgestellt, oder macht das der Client am PC/Tablet/Smartphone die stataische Datei auf dem Server zu "zerlegen"???



Antwort von beiti:

Das Videofile wurde übertragen, und hatte sich dann im Browser-Cache als ganzes (ggf. unter anderem Namen/Endung) wiedergefunden. Umbenennen - fertig war das gdownloadete Video. Das funktioniert schon lange nicht mehr, weder bei YouTube & Co. noch in den Mediatheken; die streamen nur noch Segmente. Allenfalls bei selbergehosteten Videos mag es noch komplette Files geben.

So wie ich das sehe, kannst Du ruhig auch ganze Files hosten. Das ist nun mal am wenigsten Aufwand.
Auf Leute, die sich Videos aus dem Cache fischen, brauchst Du keine Rücksicht nehmen. Das wäre für die meisten User schon viel zu kompliziert. Die Verwendung von Downloadsoftware bzw. -PlugIns ist für Otto Normalnutzer viel einfacher und komfortabler - aber dann spielt es keine Rolle mehr, ob das Video segmentiert ist.

Die Segmentierung der Videos hat übrigens nichts mit Downloadschutz zu tun, sondern dient dem automatischen Bandbreitenmagament. So kann der Server immer wieder neu bestimmen, in welcher Qualität er das nächste Segment überträgt.



Antwort von mash_gh4:


leider sind meine Kenntnisse bzgl. anbieten/bereitstellen von (eigenen) Videos auf einer eigenen Homepage bei .swf & Flashplayer stehengeblieben.

ich hab darüber erst kürzlich im AV1 thread ein bisserl was geschrieben, aber es schadet sicher nicht, wenn man es nocheinmal geordneter in einem eigenen thread zusammenfasst.

aber gleich vorweg: alles was mit flash zu tun hat, kannst' mittlerweile wirklich vergessen! ;)

ich würde bei der auslieferung mittlerweile nichteinmal mehr kompatibilitätslösungen einbeziehen, wie man es ein paar jahre lang gemacht hat, um uralt-clients via flash doch noch den zugriff zu gewähren. wer heute noch einen flash player installiert hat od. keinen ausreichend aktuellen browser benutzt, um die gängigen html5-video-zugiffstechniken nutzten zu können, dem kann man ohnehin nicht mehr helfen.

Nun gibt es ja neue Systeme die das Videofile nicht mehr als Ganzes, sondern "stückchenweise" aufgeteilt übertragen.

die verteilung selbst erfolgt über ganz normale HTTP mechanismen -- ganz gleich also, wie bei allen anderen zugriffen im web.

das besondere bei diesen heutigen formen der video-auslieferung besteht allerdings darin, dass man gewöhnlich mehrere varianten der videofiles mit unterschiedlicher auflösung bzw. gestaffeltem übertragungsbandbreitenbedarf vorbereitet und dann während der übertragung, je nach tatsächlich vorhandener übertragungskapazität, automatisch zw. diesen qualitätsvarianten gewechselt werden kann. das ist das einzig wirklich wichtige, damit es auch in der praxis ungefähr so zufriedenstellen wie bei youtube und co. funktioniert.

man spricht hier von "adaptivem streaming". dafür gibt's zwei gängige lösungen: HLS von Apple und den MPEGMPEG im Glossar erklärt DASH standard.

eigentlich ist letzteres der technisch wesentlich überzeugendere ansatz, der im gegensatz zu apple lösung auch offen spezifiziert ist, und auf den sich lange jahre alle hoffnung und freien entwicklungsbemühungen konzentriert haben. irgendwann haben dann aber wieder div. verwertungsgesellschaften festgestellt, dass sie über damit verbundene patente verfügen und die nutzung bzw. lizensierung plötzlich von einem tag auf den nächsten für kostenpflichtig erklärt. damit war diese wunderschöne lösung praktisch augenblicklich tod bzw. schläft seit diesem zeitpunkt einen tiefen dornröschenschlaf. alle haben also wieder auf das deutlich weniger attraktive und von apple ziemlich willkürlich geregelte HLS umgeschwenkt (es kann ja gut sein, dass apple in wahrheit durchaus ein gewisses interesse an dieser entwicklung gehabt hat bzw. möglicherweise nicht ganz unverantwortlich dafür war, dass diese lizenforderungen auf der anderen seite plötzlich den offen standard derart unattraktiv erscheinen ließen.)

im wesentlichen erfüllt aber HLS in etwa den selben zweck wie DASH, nur dass es halt in puncto unterstützter video formate und vor allen dingen auch im hinblick auf die verwendeten DRMDRM im Glossar erklärt (digital right managment) methoden einige unterschiede gibt.

jedenfalls wird man zum gegenwärtigen zeitpunkt der einfacheithalber vermutlich eher zu HLS greifen.

ein wesentlicher unterschied zwischen den beiden lösungen besteht auch darin, in welcher weise die aufbereiteten files am server vorliegen. beide benutzen ein zentrales manifest-file, das als erstes heruntergeladen wird und in dem sich die verweise auf die verschiedenen video-varianten, tonspuren, untertitel usw. befinden. bei HLS werden alle weiteren daten in ganz winzige MPEG-TS fragmente zerlegt, die jeweils als eigene datei vorliegen und übertragen werden -- od. zumindest war das bis vor ganz kurzer zeit noch so. mittlerweile beherrschen die neuesten apple geräte auch bereits eine andere form, die eher dem gleicht, was bei DASH schon lange üblich war. hier liegen die verschieden video-varianten, tonspuren etc. jeweils als ganzes file am server -- auch wenn es speziell aufbereitet files sind, wo die keyframes und synchronisationspunkte an ganz bestimmten stellen zu liegen kommen, und die clients schicken bei der HTTP-anfrage eine bereichsangabe mit, die signalisiert, welchen teil dieser files sie als nächtes benötigen.
in wahrheit macht's natürlich keinen besonders großen unterschied, welche der beiden varianten zum einsatz kommt. die durchgängigen files sind halt ein bisserl praktischer zu handhaben als riesige ordner mit tausenden von fragmenten.

lange zeit war es ziemlich umständlich und eine mittlere geheimlehre, die videofiles für eine derartige auslieferung aufzubereiten, in fragmente zu zerteilen und die notwendigen strukturen im filesystem vorzubreiten. mittlerweile gibt's dafür diverse hilfsmittel (bspw. das python-script: video2hls, die einem den größten teil der mühe abnehmen, und mit einem befehl aus einem ganz gewöhnlichen videofille alle nötigen auflösungsvarianten und das ganze drum herum für die auslieferung vorberieten. man muss dann nur mehr den fertigen ordern mit den HLS dateien auf den webserver kopieren.

um das ganze auch noch benutzerfreundlich abspielen zu können, braucht es natürlich noch eine kleine web-page als frontend.
dort bindet man bspw. video.js als html5 player componente in die seite ein, das mittlerweile ohnehin bereits von haus aus mit dem plugin http-streaming für den zugriff auf HLS und DASH quellen ausgeliefert wird. man kann aber natürlich auch mit irgendeinem beliebigen video player (mpv, VLC usw.) den URL des entsprechenden zentralen manifest-files öfnen, und das video damit abspielen u. ggf. natürlich auch zu speichern. natürlich muss man das nicht zulassen und kann zu diesem zweck div. verschlüsselungs-, authentifizierungs- und DRMDRM im Glossar erklärt methoden zusätzlich nutzen, wenn man sich das leben und den potentiellen kunden den zugriff besonders schwer machen will.

jedenfalls kommt man bei der ganzen sache ohne irgendwelche besondern server od. ä. aus, weil alles ausschließlich über ganz normale webzugriffe und statisch vorliegenden content am webserver abgewickelt werden kann.

das ist jetzt natürlich nur das aller wichtigste ganz grob zusammengefasst, aber ich kann dir bei bedarf natürlich gerne noch mehr dazu erklären bzw. hoffentlich auch einige jene weiterführenden fragen beantworten, die sich im zuge praktischer bemühungen stellen könnten. wenn nötig kann ich es dir manches auch gerne an irgendeinem einfachen beispiel praktisch illustrieren.



Antwort von dienstag_01:

Der Server.
Hierbei geht es ja grundsätzlich nicht um Schutz vor Download, sondern um StreamingStreaming im Glossar erklärt, was der vorhandenen BandbreiteBandbreite im Glossar erklärt angepasst wird. Es werden also auch mehrere Versionen eines einzelnen Videos erstellt, diese dann noch in kleinen Schnipseln, damit der Server automatisch während des Streams die Qualität und damit die Dateigröße auswählen kann.

Oh, naja, ich lass es mal stehen ;)



Antwort von Jott:

Download blocken? Was im Web ist, ist "draußen". Wenn dein Content so exclusiv und wichtig ist, mach ein Logo oder "Wasserzeichen" rein.



Antwort von DAF:

@ all:
Vielen lieben Dank für die ganze Hilfe!

Grundsätzlich ist mir wie im TO geschrieben natürlich klar das

...
Klar, auch damit wird es sicher nicht unmöglich, einen unberechtigten/unkontrollierten Download zu verhindern - aber doch deutlich schwerer.
...

Wasserzeichen/Logos o.ä. einbinden ist mir bekannt. Das wird sowieso gemacht. Vielleicht habe ich mit mit dem "blocken" zu restriktiv ausgedrückt.

@ mash:
Danke speziell für deine Mühe & die ausführliche Schilderung!!!

Die ganze Installation wird unter WP laufen. Der Player wird der FV Player. Der kann alles was benötigt wird - auch HLS. Wo es bei mir noch Wissens- und Verständnislücken gibt, ist hier:

...
ein wesentlicher unterschied zwischen den beiden lösungen besteht auch darin, in welcher weise die aufbereiteten files am server vorliegen...
...
lange zeit war es ziemlich umständlich und eine mittlere geheimlehre, die videofiles für eine derartige auslieferung aufzubereiten, in fragmente zu zerteilen und die notwendigen strukturen im filesystem vorzubreiten. mittlerweile gibt's dafür diverse hilfsmittel (bspw. das python-script: video2hls, die einem den größten teil der mühe abnehmen, und mit einem befehl aus einem ganz gewöhnlichen videofille alle nötigen auflösungsvarianten und das ganze drum herum für die auslieferung vorberieten. man muss dann nur mehr den fertigen ordern mit den HLS dateien auf den webserver kopieren.
...

Ganz konkret ist mir der Bereitstellungsvorgang bzw. dessen (nötige) Abläufe noch nicht so wirklich klar:

- Man hat ein Video fertig, und rendert das aus dem NLE raus...

- Dann schubst man local das (z.B. von dir genannte Script) Tool an, es wird eine Ordnerstruktur generiert und mit Video-Files der verschiedenen Auflösungen befüllt...

- Diese fertige Ordnerstruktur lädt man (per FTP) auf den Server, und bindet das Video via Player-Componente auf die Webseite ein (z.B. indem man dem Player das Stammverzeichnis des Videos mitteilt)...

- Die Player-Componente "holt" sich beim Abspielen die benötigten Teile des Videos und setzt sie beim Abspielen auf dem User-Client zusammen...

Hab ich das soweit richtig verstanden?



Antwort von beiti:

Vielleicht habe ich mit mit dem "blocken" zu restriktiv ausgedrückt.
Blocken im eigentlichen Sinne geht eh nicht. Aber ich habe auch den Eindruck, dass Du die Fähigkeiten typischer Internetsurfer überschätzst.
Was glaubst Du, wieviel Prozent der User es technisch überhaupt fertigbringen, Videos runterzuladen (sofern es dafür nicht ausdrücklich ein Download-Button Deinerseits gibt)? Das sind ganz wenige, also im untersten einstelligen Prozentbereich. Wenn sich Deine Seite an ein allgemeines Publikum und nicht gerade an IT-Spezialisten wendet, ist der Download von Videos kein wirkliches Thema.
Das Suchen der Videofiles im Cache dürfte dabei noch eine weit geringere Rolle spielen. Frag mal im Freundeskreis (außerhalb der besagten IT-Spezis), wer überhaupt weiß, dass ein Browser einen Cache hat. Da wirst Du in viele fragende Augen schauen. ;)

Ein bisschen anders sieht das mit Fotos aus. Da hat es sich inzwischen rumgesprochen, dass man die per Rectsklick und "Foto speichern unter..." sehr leicht speichern kann. Wenn man hier irgendwelche Scripts verwendet, die den Rechtsklick unterdrücken, erzielt man tatsächlich eine effektive Reduzierung der unerwünschten Downloads.

alles was mit flash zu tun hat, kannst' mittlerweile wirklich vergessen! ;)

ich würde bei der auslieferung mittlerweile nichteinmal mehr kompatibilitätslösungen einbeziehen, wie man es ein paar jahre lang gemacht hat, um uralt-clients via flash doch noch den zugriff zu gewähren. wer heute noch einen flash player installiert hat od. keinen ausreichend aktuellen browser benutzt, um die gängigen html5-video-zugiffstechniken nutzten zu können, dem kann man ohnehin nicht mehr helfen. Das dachte ich eigentlich auch. Allerdings habe ich eine Beobachtung gemacht, die mich etwas irritiert:
Ich betreibe eine Webseite, auf der man einige Vorträge als Audiofiles abspielen kann. Anfangs lief das mit MP3-Dateien über Flash-Player. Später habe ich die Wiedergabe mit HTML5 (MP3 und OGG) eingebaut und nutze den alten Flashplayer jetzt nur noch als Fallback innerhalb des Audio-Tags. Eigentlich dürfte der Flash-Zugriff heute keine Rolle mehr spielen. Aber wenn ich die Zugriffsstatistik anschaue, wird die Flash-Player-Datei immer noch von jedem vierzehnten Besucher der Seite geladen. Geht man davon aus, dass längst nicht jeder Seitenbesucher auch Audiodateien abspielt, ist der Anteil in Wahrheit noch deutlich höher.



Antwort von mash_gh4:


Wasserzeichen/Logos o.ä. einbinden ist mir bekannt. Das wird sowieso gemacht. Vielleicht habe ich mit mit dem "blocken" zu restriktiv ausgedrückt.

es gibt schon auch "richtige" DRMDRM im Glossar erklärt lösungen, die deutlich mehr möglichkeiten bieten. das ist mit ein ganz wesentlicher grund, warum hier um die definitionsmacht bzw. die verwenden techn. umsetzungen solche gefechte ausgetragen werden. mit diesem detailproblem kenne ich mich persönlich aber auch nicht so gut aus, weil ich mich im allgemeinen eher darum bemühe, zugänge offen zu halten, statt irgendjemenden auszusperren od. großes geld zu machen. ;)

recht gute infos zu diesen fragen findet man aber immer wieder in den vorträgen bzw. präsentationsfolien und büchern von jan ozer (https://streaminglearningcenter.com), auch wenn seine website mittlerweile nicht mehr ganz so ergibig ist wie früher bzw. alles zusehends unter seinen verwetungsbemühungen leidet.

Die ganze Installation wird unter WP laufen. Der Player wird der FV Player. Der kann alles was benötigt wird - auch HLS.

ja -- das sollte problemlos gehen...

Ganz konkret ist mir der Bereitstellungsvorgang bzw. dessen (nötige) Abläufe noch nicht so wirklich klar:

- Man hat ein Video fertig, und rendert das aus dem NLE raus...

- Dann schubst man local das (z.B. von dir genannte Script) Tool an, es wird eine Ordnerstruktur generiert und mit Video-Files der verschiedenen Auflösungen befüllt...

- Diese fertige Ordnerstruktur lädt man (per FTP) auf den Server, und bindet das Video via Player-Componente auf die Webseite ein (z.B. indem man dem Player das Stammverzeichnis des Videos mitteilt)...

- Die Player-Componente "holt" sich beim Abspielen die benötigten Teile des Videos und setzt sie beim Abspielen auf dem User-Client zusammen...

Hab ich das soweit richtig verstanden?

ja -- ich denke, du hast das perfekt zusammengefasst. da gibt's kaum etwas daran zu ergänzen.

nur dem player teilt man nicht das stammverzeichnis mit, sondern den url des manifests -- also ungefähr so:


<video ...>
<source src="/hls/forum.m3u8" type="application/vnd.apple.mpegurl">
</video>

evtl. gäb's noch die möglichkeit den zweiten schritt deiner aufählung automatisch am server bzw. aus dem wordpress heraus ausführen zu lassen, wenn ein video eingebunden/hochgeladen wird. da müsst man halt vermutlich ein bisserl was basteln, oder zumindest kenne ich keine fertige lösung dafür. im grunde ist das aber auch eher nur eine verhältnismäßig triviale aufgabe.

ich wundere mich immer wieder darüber, warum keiner der mir bekannten NLEs in der lage ist, derartige ausgabemöglichkeiten direkt aus dem videoprogramm heraus zu generieren -- ungefähr so, wie ja auch die meisten fotebearbeitungsprogramme bzw. RAW-entwickler die funktion bieten, mehere ausgewählte bilder als fertige web-bildergalerie mit vorschau thumbnails und all dem anderen bipapo zu exportieren, die man nur mehr auf einen eigene webserver hochzuladen braucht.

ein punkt, denn ich meiner schilderung oben ausgeklammert habe, der aber in der praxis ausgesprochen wichtig ist, ist die unterstützung möglichst vieler endgeräte bzw. der dort abspielbaren formate.

so lange man hier, wie es das verlinkte HLS-aufbereitungs-script tut, nur h.264 verwendet, ist das ohnehin ziemlich einfach bzw. der gegenwärtig kleinste nenner, der überall funktionieren sollte. da aber natürlich all erwarten, dass es wirklich gleich gut wie bei youtube aussehen sollte, muss man mittlerweile fast auch zusätzlich VP9 für den großteil der browser und H.265 für die apple benutzer zusätzlich einbeziehen.

das ist ist leider bei der einfachen progressiven auslieferung, wo man dazu bloß mehrere alternativen source-angaben im betreffenden html video-tag angeben muss, deutlich einfacher als bei diesen adaptiven auslieferungsverfahren. gerade bei HLS lässt hier apple natürlich wieder seine musken spielen, um alles unerwünschte bzw. die eigenen einnahmen schmälernde aus dem markt zu drängen. aber auch diese hürden kann man mit der nötigen anstrengung überwinden. ;)



Antwort von dosaris:


...
Aber ich möchte es halt so modern (= auch so schwer als möglich für Hobby-Downloader) anlegen.

versteh ich nicht:

wenn Du nicht willst, dass es gesehen wird, dann stell es nicht in's Netz!

Wenn es gesehen werden soll, dann willst Du den Leuten etwa
vorschreiben, wann, wie u wo sie es sich ansehen sollen/können?

Ich hatte bei längeren AUslandsaufenthalten oft gehabt, dass der
downlink viel zu schwach war, um ein Video anzusehen.
Dann ging halt nur,
den Stream zuerst runterzuladen und danach anzusehen.



Antwort von mash_gh4:


alles was mit flash zu tun hat, kannst' mittlerweile wirklich vergessen! ;)

ich würde bei der auslieferung mittlerweile nichteinmal mehr kompatibilitätslösungen einbeziehen, wie man es ein paar jahre lang gemacht hat, um uralt-clients via flash doch noch den zugriff zu gewähren. wer heute noch einen flash player installiert hat od. keinen ausreichend aktuellen browser benutzt, um die gängigen html5-video-zugiffstechniken nutzten zu können, dem kann man ohnehin nicht mehr helfen. Das dachte ich eigentlich auch. Allerdings habe ich eine Beobachtung gemacht, die mich etwas irritiert:
Ich betreibe eine Webseite, auf der man einige Vorträge als Audiofiles abspielen kann. Anfangs lief das mit MP3-Dateien über Flash-Player. Später habe ich die Wiedergabe mit HTML5 (MP3 und OGG) eingebaut und nutze den alten Flashplayer jetzt nur noch als Fallback innerhalb des Audio-Tags. Eigentlich dürfte der Flash-Zugriff heute keine Rolle mehr spielen. Aber wenn ich die Zugriffsstatistik anschaue, wird die Flash-Player-Datei immer noch von jedem vierzehnten Besucher der Seite geladen. Geht man davon aus, dass längst nicht jeder Seitenbesucher auch Audiodateien abspielt, ist der Anteil in Wahrheit noch deutlich höher.

das ist natürlich eine interessante beobachtung.

ich wäre mir allerdings in dem fall nicht sicher, ob nicht ein großteil der browser unabsichtlich das falsche wählt?
es ist nämlich ziemlich schwierig, verschiedene formate so zu reihen, dass wirklich das vernünftigste genommen wird.

z.b. haben die browser der hier schon so oft genannten besonders liebenswürdigen und um offene standards bemühten firma, die wunderbare eigenschaft, nur dann richtig zu funktionieren, wenn ihre vorstellungen von der richtigen wahl der mittel als erstes genannt wird -- damit sind aber wieder alle anderen varianten, die für den weitaus größten zuseherkreis viel vernünftiger wären, von haus aus ausgebremst.

diesen umständen ist es geschuldet, dass ich in diesen dingen möglicht rigeros wirklich nur das nötigste und zum gegeben zeitpunkt sinnvollste verwenden würde, weil zu viel alternativen und rückwärtskompatibilität leider nichts als undurchsichtige schwierigkeiten bzw. unbefriedigende auslieferungsqualität nach sich zieht.

ich persönlich überleg momentan in diesem zusammenhang, selbst die h.264 unterstützung fallen zu lassen und nur mehr das deutlich effektivere und in den resultaten deutlich hübschere VP9 zu nutzen, auch wenn das dann die paar apfel und jesusPhone benutzer nur mehr mit ziemlich unbefriedigen javascipt/wasm krücken abzuspielen vermögen, was besonders auf mobilen geräten leider ziemlich viel strom frist...



Antwort von beiti:

ich wäre mir allerdings in dem fall nicht sicher, ob nicht ein großteil der browser unabsichtlich das falsche wählt? Ja, möglich. Theoretisch wäre auch denkbar, dass manche Browser den Alternativ-Player schon mal runterladen (wodurch er in der Statistik auftaucht), ihn dann aber gar nicht benutzen. Leider fällt mir kein Weg ein, das rauszufinden.

ich persönlich überleg momentan in diesem zusammenhang, selbst die h.264 unterstützung fallen zu lassen und nur mehr das deutlich effektivere und in den resultaten deutlich hübschere VP9 zu nutzen Ich hätte sogar Bedenken, ob H.264 überall abgespielt wird. Unter Linux gibt es da wohl noch lizenzbedingte Lücken. Mit VP9 schließt man die Nutzer von IE, einen Teil der Edge-Nutzer sowie die Nutzer von Apple Safari aus.
Darauf, dass die Leute von sich aus Einstellungen am Browser vornehmen oder gar Zusatzsoftware installieren, kann man nicht bauen.



Antwort von dienstag_01:


ich wäre mir allerdings in dem fall nicht sicher, ob nicht ein großteil der browser unabsichtlich das falsche wählt? Ja, möglich. Theoretisch wäre auch denkbar, dass manche Browser den Alternativ-Player schon mal runterladen (wodurch er in der Statistik auftaucht), ihn dann aber gar nicht benutzen. Leider fällt mir kein Weg ein, das rauszufinden.

ich persönlich überleg momentan in diesem zusammenhang, selbst die h.264 unterstützung fallen zu lassen und nur mehr das deutlich effektivere und in den resultaten deutlich hübschere VP9 zu nutzen Ich hätte sogar Bedenken, ob H.264 überall abgespielt wird. Unter Linux gibt es da wohl noch lizenzbedingte Lücken. Mit VP9 schließt man die Nutzer von IE, einen Teil der Edge-Nutzer sowie die Nutzer von Apple Safari aus.
Darauf, dass die Leute von sich aus Einstellungen am Browser vornehmen oder gar Zusatzsoftware installieren, kann man nicht bauen.

h264 geht/ging z.B. nicht im Firefox, nur mit Plugin.
Deshalb sollte man im Video Tag immer 3 verschiedene Versionen einbinden.

Das war ja der Auslöser, dass Google mit VP8 (oder wie das hieß) eingestiegen ist.



Antwort von mash_gh4:



Ich hätte sogar Bedenken, ob H.264 überall abgespielt wird. Unter Linux gibt es da wohl noch lizenzbedingte Lücken. Mit VP9 schließt man die Nutzer von IE, einen Teil der Edge-Nutzer sowie die Nutzer von Apple Safari aus.
Darauf, dass die Leute von sich aus Einstellungen am Browser vornehmen oder gar Zusatzsoftware installieren, kann man nicht bauen.

h264 geht/ging z.B. nicht im Firefox, nur mit Plugin.
Deshalb sollte man im Video Tag immer 3 verschiedene Versionen einbinden.

nein -- h.264 geht mittlerweile wirklich überall.
selbst unter firexox/linux ist es schon ewigkeiten her, dass sich das erledigt hat. wenn ich mich recht erinnere, hat damals cisco eine h.264 implementierung freigegeben, die jeder ohne kosten clientseitig nutzen durfte...

hier findet man jedenfalls ständig aktualisierte übersichten zu den unterstützen formaten der div. programme und plattformen:

https://caniuse.com/#search=h.264
https://caniuse.com/#search=vp9

Das war ja der Auslöser, dass Google mit VP8 (oder wie das hieß) eingestiegen ist.

wie gesagt, das ist längst geschiche.

mittlerweile geht es eher um das problem, dass das deutlich überlegenere VP9 von apple ganz gezielt nicht unterstützt wird, während dort einige geräte browser mittlerweile h.265 können, was aber der rest der welt aus lizenzkostengründen ganz bewusst nicht nutzen will.

allerdings gibt es für VP8/9 schon länger eine javascript/wasm-lösung, die ein decodieren direkt im browser ohne zusätzlich zu installierende software auf den betroffenen apple produkten erlaubt: https://github.com/brion/ogv.js
diesen lösung benutzt z.b. wikipedia, um alle videos ausschließlich in VP8/9 auszuliefern und trotzdem alle geräte zu unterstützen.



Antwort von DAF:

Also, auch von mir (nach dem jetztigen Stand meines Wissens & dem Thread hier) zusammengefasst:

- Video im NLE bearbeiten, und exportieren.

- Dann das File durch ein Tool schicken, welches die HLS Struktur & Files generiert.

- Die entstandene Ordnerstruktur inkl. beinhalteter Files hochladen (FTP).

- In meinem Fall im HLS-fähigen Player auf der Wordpress-Seite einbinden.

- Am (derzeit) universellsten ist h264 (das von video2hls) unterstützt wird.

Soweit (hoffe ich) noch so richtig.

Wenn ja, gibt"s bzw. kennt jemand Tools die gleichzeitig auch nach VP9 umwandeln/bzw. bereitstellen?

Oder - wie oben ja schon angedeutet - gibt"s bzw. hört man schon was von z.B. Plugin-Tools, dass das alles aus dem NLE heraus geht (in meinem Fall PP in der CC 2018)?
Denn ansonsten überlässt man ja die Qualität der Ausgabevideos einem externen Tool?!?



Antwort von beiti:


allerdings gibt es für VP8/9 schon länger eine javascript/wasm-lösung, die ein decodieren direkt im browser ohne zusätzlich zu installierende software auf den betroffenen apple produkten erlaubt: https://github.com/brion/ogv.js
diesen lösung benutzt z.b. wikipedia, um alle videos ausschließlich in VP8/9 auszuliefern und trotzdem alle geräte zu unterstützen.
Aber da erscheint es mir doch praktikabler, als Fallback noch eine H.264-Version vorzuhalten.

Pauschale Aussagen über die Qualität von H.264 sind schwierig. Gerade bei knappen Bitraten hängt das ja stark vom Encoder ab. Da lohnt es durchaus, einige zu testen und ggfs. auch mal längere Renderzeiten in Kauf zu nehmen.
Ob bei Verwendung eines guten H.264-Encoders der Unterschied zu VP9 noch so drastisch ist, müsste man erst noch rausfinden.

Inwieweit HLS und dergleichen noch eine freie Wahl des Encoders erlauben, ist wieder eine andere Frage. Da kenne ich mich zu wenig aus.



Antwort von dienstag_01:



h264 geht/ging z.B. nicht im Firefox, nur mit Plugin.
Deshalb sollte man im Video Tag immer 3 verschiedene Versionen einbinden.

nein -- h.264 geht mittlerweile wirklich überall.
selbst unter firexox/linux ist es schon ewigkeiten her, dass sich das erledigt hat. wenn ich mich recht erinnere, hat damals cisco eine h.264 implementierung freigegeben, die jeder ohne kosten clientseitig nutzen durfte...

hier findet man jedenfalls ständig aktualisierte übersichten zu den unterstützen formaten der div. programme und plattformen:

https://caniuse.com/#search=h.264
https://caniuse.com/#search=vp9

Das war ja der Auslöser, dass Google mit VP8 (oder wie das hieß) eingestiegen ist.

wie gesagt, das ist längst geschiche.

mittlerweile geht es eher um das problem, dass das deutlich überlegenere VP9 von apple ganz gezielt nicht unterstützt wird, während dort einige geräte browser mittlerweile h.265 können, was aber der rest der welt aus lizenzkostengründen ganz bewusst nicht nutzen will.

allerdings gibt es für VP8/9 schon länger eine javascript/wasm-lösung, die ein decodieren direkt im browser ohne zusätzlich zu installierende software auf den betroffenen apple produkten erlaubt: https://github.com/brion/ogv.js
diesen lösung benutzt z.b. wikipedia, um alle videos ausschließlich in VP8/9 auszuliefern und trotzdem alle geräte zu unterstützen.

Ist sicher richtig, aber ich denke, dieses ganze hin und her mit Firefox und h264 war ein wesentlicher Sargnagel für Firefox. Obwohl das einzige Problem bei Firefox war, dass es kostenlos war/ist und sie keine CodecCodec im Glossar erklärt Lizenz bezahlen wollten/konnten. Von daher ist das vielleicht gar nicht so Geschichte ;)



Antwort von beiti:

Aber wenn ich mich richtig erinnerte, funktionierte es auch in Firefox, wenn auf dem System schon ein geeigneter H.264-Decorder installiert war - und das war bei den allermeisten der Fall. Es betraf eigentlich nur frisch installierte Systeme, auf denen noch kaum andere Software drauf war.



Antwort von dienstag_01:


Aber wenn ich mich richtig erinnerte, funktionierte es auch in Firefox, wenn auf dem System schon ein geeigneter H.264-Decorder installiert war - und das war bei den allermeisten der Fall. Es betraf eigentlich nur frisch installierte Systeme, auf denen noch kaum andere Software drauf war.

Nö, nö, nö ;)



Antwort von mash_gh4:


Pauschale Aussagen über die Qualität von H.264 sind schwierig. Gerade bei knappen Bitraten hängt das ja stark vom Encoder ab. Da lohnt es durchaus, einige zu testen und ggfs. auch mal längere Renderzeiten in Kauf zu nehmen.
Ob bei Verwendung eines guten H.264-Encoders der Unterschied zu VP9 noch so drastisch ist, müsste man erst noch rausfinden.

natürlich verwendet man für solche sachen ausschließlich x264, der qualitativ ohnehin nicht zu schlagen ist, trotzdem ist der codec mittlerweile einfach in die jahre kommen und mit den formaten der nachfolgenden generation, gerade bei den relativ bandbreiten, wie man sie zur auslieferung im netz benötigt, einfach nicht mehr konkurrenzfähig. VP9 und h.265 schauen da wirklich deutlich besser aus.



Antwort von DAF:

So, jetzt habe ich mal versucht das video2hls Script auszuprobieren. Aber direkt gesagt:
Ich bin zu blöd u/o habe keine Ahnung wie!

Läuft das lokal unter WIN 10, läuft das auf dem Server, muss ich unter WIN 10 was installieren (Phyton selbst) usw.?

Könnte mir da mal jemand helfen?



Antwort von mash_gh4:


Läuft das lokal unter WIN 10, läuft das auf dem Server, muss ich unter WIN 10 was installieren (Phyton selbst) usw.?

ja -- python und ffmepg brauchst auf alle fälle... -- wie weit es sonst sauber plattforunabhängig geschrieben ist, hab ich mir noch nie angesehen...

kann mich leider erst am späten abend wieder draum kümmern, wenn du probleme damit hast.



Antwort von DAF:


...
ja -- python und ffmepg brauchst auf alle fälle... -- wie weit es sonst sauber plattforunabhängig geschrieben ist, hab ich mir noch nie angesehen...

kann mich leider erst am späten abend wieder draum kümmern, wenn du probleme damit hast.

Das wäre total super. Habe python und ffmepg geholt & installiert. Was jetzt zu tun ist
- keine Ahnung, aber davon viel ;)



Antwort von mash_gh4:


Habe python und ffmepg geholt & installiert. Was jetzt zu tun ist
- keine Ahnung, aber davon viel ;)

super! -- ich hoffe, du hast ein aktuelles python > 3.6 installiert. bei python gibts nämliche viele, die noch mit 2.7 arbeiten, dass ich in vielen details doch deutlich unterscheidet, und dieses script ist definitiv nur für das neuere python geeignet.

ansonsten beschränkt sich der bedarf an externen programmen wirklich auf ffmpeg, ffprobe und "mp4file" -- letzteres findet man hier:
https://code.google.com/archive/p/mp4v2/downloads

in einem terminalfenster (eingabeaufforderung od. powershell) überprüft man nun vorsichtshalber, ob auch tatsächlich alle benötigten externen programme vorhanden sind und über den systemweiten ausführungspfad erreichbar sind:


python3 -V
ffprobe -version
ffmepeg -version
mp4file --version

alle vier programme sollten ihre versionsnummer zurückmelden

sollte eines der programme nicht gefunden werden, muss man die systemweite PATH variable um den jeweiligen installationsort erweitern, um die programme vernünftig von der kommandozeile aus nutzen zu können. man kann aber alternativ auch die voll ausgeschriebenen pfade als parameter ( --mp4file=..., --ffprobe=..., --ffmpeg=...) explizit beim programmstart übergeben...

damit sollte eigentlich alles vorbereitet sein und das umwandeln eines videos in folgender weise möglich sein:

python3 video2hls videofile.mov

in dem fall werden für die umwandlung einfach die defaulteinstellungen herangezogen. es gibt aber jede menge einstellungen, die man bei expliziter angabe entsprechenden optionen auch anders setzten kann. mehr über diese möglichkeiten erfährt man mit:

python3 video2hls --help

ich hoffe, es klappt alles!
ich hab hier leider keinen windows rechner, um es darauf auch praktisch durchprobieren zu können.



Antwort von DAF:

WOW - danke für die Anleitung!

Ein paar Anmerkungen für die, die es (auf einem WIN 10 Rechner) nachmachen wollen:

- Python 3.7 spuckt seine Versionsnummer nur mit dem Befehl "python" aus (die 3 weglassen)
- bei der Installation von Python 3.7 (= die neueste von https://www.python.org/) wird bei der Installation gefragt, ob der Systempfad in"s Python Installationsverzeichnis gelegt werden soll = JA
- habe ffmpeg (Ordnerstruktur aus dem Zip) in"s Unterverzeichnis "Programme" - dort in den Ordner "ffmpeg" installiert und folgende Pfade in Systemsteuerung > System > Erweiterte Systemeinstellungen > Umgebungsvariablen > Systemvariablen > Path ergänzt:
--- C:\Programme\ffmpeg\presets\
--- C:\Programme\ffmpeg\bin\
--- C:\Programme\ffmpeg\

Wenn ihr das File "video2hls" in "video2hls.py" umbenennt und in einen der im Pfad aufgenommenen ffmpeg-Ordner legt (z.B. C:\Programme\ffmpeg\bin) könnte ihr in der Eingabeaufforderung das Script vom Ordner aus wo das zu transcodierende Video-File liegt mit

video2hls.py beispielvideo.mov o. mp4

aufrufen. Es legt seine erzeugten Unterverzeichnisse in dem Ordner an, von wo ihr es aufgerufen habt = bei mir der Ordner wo ich das Ursprungs-Testvideo hingelegt hatte.

Probiert es mit nem kleinen Video-File. Da kommt ne Menge Zeug raus ;)



Antwort von mash_gh4:

danke, dass du die notwendigen windows-anpassungen so kompetent zusammengefasst hast!

und prima, dass es funktioniert. :)



Antwort von DAF:


danke, dass du die notwendigen windows-anpassungen so kompetent zusammengefasst hast!
...

Selbstredend - und danke dir, du hast mir gesagt wie"s bzw. mit was es überhaupt geht und dazu nen halben Tag (wenn"s reicht) Python-Dokumentation lesen erspart!

Jetzt werd ich das mal versuchen, ein Testvideo von nem Server via FV Player auszuliefern. Mal schauen, was dann für Fragen aufkommen...

Klar ist ffmpeg & seine Komponenten sicher qualitativ in Ordnung. Nur die Fragen
- warum gibt"s da noch nix als Export-Plugin für gängige NLEs - oder hat das bestimmte Gründe die ich nicht sehe???
- muss das heutzutage noch via Kommandozeile sein oder gibt"s da was für mausgewohnte User als Komplett-Tool?
(mich störts nicht sooo sonderlich, bin Kommandozeile seit DOS Ver. 2.0 gewohnt ;)
- wie machen das Anwender/Webseitenbetreiber die sich nicht so tief reinarbeiten (sondern anwenden) wollen?



Antwort von mash_gh4:

deine fragen sind natürlich höchst berechtigt.

- warum gibt"s da noch nix als Export-Plugin für gängige NLEs - oder hat das bestimmte Gründe die ich nicht sehe???

ich sehe auch keinen grund, warum das nicht in ganz gleicher weise wie z.b. beim web-galerie-export in foto-programmen gehandhabt wird. vermutlich würden es zwar nur von sehr wenigen benutzern wirklich geschätzt werden, weil die breite masse halt irgendwelchen noch viel einfacheren web-services (bei bildern bspw. instagram etc.) den vorzug gibt, aber für diejenigen von uns, die die kontrolle über ihre daten und werke nicht gerne aus der hand geben, wäre es natürlich schon eine spürbare erleichterung.

am ehesten gibt's noch ein paar fertige lösungen dafür, die für größere web-anbieter gedacht sind -- also z.b. amazons elastic encoder, bitmovin encoding serice od. der VOD repacker im kaltura. die sind aber alle auch nicht wirklich einfach handzuhaben, sondern eher als relativ ausgereifte lösungen zu verstehen, um auch größere projekte mit derartigen bausteinen abzuwicklen, ohne dafür das rad ständig neu erfinden zu müssen.

für noch praktischer als exportmöglichkeiten in NLEs, würde ich aber die direkte unterstützung in Owncloud / Nextcloud finden, die am ehesten eine praktische alternative zu den angeboten der großen monopolisten darstellen. mir ist in dieser richtung allerdings bisher noch keine HLS/DASH unterstützung untergekommen, obwohl man sie bestimmt mit relativ wenig aufwand basteln könnte.

- muss das heutzutage noch via Komandozeile sein oder gibt"s da was für mausgewohnte User als Komplett-Tool?

natürlich berührt auch diese frage durchaus berechtigte interessen und erwartungen heutiger anwender.

ich glaub es gibt dafür mindestens zwei vernünftige antworten/erklärungen:

a.) das programmieren sauberer GUIs, die tatsächlich auf allen plattformen befriedigend funktionieren und evtl. sogar eine nutzung auf entfernten rechnern zulassen, ist mit einem derartigen mehraufwand verbunden, dass sich das niemand freiwillig antut, wenn er nicht ein kommerziell erfolgreiches produkt auf den markt bringen will od. sich sonst irgendwas beweisen muss. ein einfaches commadline script/programm dagegen ist schnell geschrieben, einfach abzuändern und tatsächlich eine ziemlich effektive form, derartige, sich ständig wiederholende, aufgaben zusammenzufassen und effizient abzuwickeln.

das führt über zu

b.) diejenigen, die tatsächlich in der lage sind, mit einem derartigen lösungen etwas anzufangen bzw. mit webservern u.ä. vertraut sind, haben in der regel längst die vorzüge einer einfachen und effektiven bedienung über die kommandozeile zu schätzen gelernt.

das ist ungefähr so, wie sich ja auch niemand darüber beschwert, dass richtig gute und teuere profi-kameras in die regel auch ohne autofokus und andere fürchterlich praktische automatismen daherkommen, die doch jeder von seiner fotoknipse od. dem handy her kennt und als geradezu zwingende arbeitserleichterung empfindet. für die leute, die mit derartigem profi equipment einmal umzugehen gelernt haben, spielt das aber trotzdem keine rolle. denen ist es durchwegs deutlich lieber, wenn ihnen möglichst wenig undurchschaubare eigendynamik bzw. automatisierte hilfestellung seitens der kamera in die quere kommt, aber dafür die tatsächlich notwendigen und nützlichen bedienungselement auch wirklich dort sitzen, wo man sie erwartet bzw. sie effizient bedienen kann, statt ständig umständlich durch irgendwelche komplizierten bedienungs-menues navigieren zu müssen. in dem sinne, sind diese spartanisch einfachen lösungen oft die viel erstrebenswerte umsetzung im hinblick auf das praktische arbeiten in anspruchsvollerem umfeld.

(mich störts nicht sooo sonderlich, bin Kommandozeile seit DOS Ver. 2.0 gewohnt ;)

das hab ich deinem obigen beitrag entnommen und mich darüber auch wirklich sehr gefreut! :)
es ist immer wieder wohltuend zu sehen, dass es kollegen gibt, die mit ihrem arbeitsgerät tatsächlich kompetent umzugehen wissen.
welches betriebssytem man verwendet, spielt dann ohnehin keine große rolle mehr, weil man normalerweise auf windows. mac os und linux genau das selbe zu bewerkstelligen vermag, wenn man die gegeben plattform ausreichend gut kennt und souverän zu bedienen versteht. darum kommt man halt heute bei vielen aufgabenstellungen kaum mehr herum -- auch wenn man natürlich manche komplizierteren dinge durchaus in arbeitsteiliger weise abwickeln od. bereitstellen kann.

- wie machen das Anwender/Webseitenbetreiber die sich nicht so tief reinarbeiten (sondern anwenden) wollen?

ich fürchte, dass es leider nur ein sehr kleiner kreis von kollegen sein dürfte, der sich über solche anforderungen gedanken macht bzw. ernsthaft versucht, derartige sachen nicht einfach über die services der paar wenigen großen monopolisten abzuwickeln.

es ist nach wie vor ausgesprochen schwierig, gute informationen, taugliche werkzeuge und hilfestellungen zu dieser thematik zu finden. "video2hls" ist in diesem sinne fast schon eine ausnahmeerscheinung, obwohl es ja im grunde auch nur ein ganz einfaches script ist, wie es viele von uns irgendwann einmal für den hausgebrauch geschrieben haben, um diese abläufe ein bisserl strukturierter handzuhaben. das ganze ist halt eher auch eine aufgabenstellung, die weniger irgendwelche privaten endanwender berührt, als vielmehr kollegen, die sich um solche anforderungen beruflich kümmern. dort hat man in der regel gelernt, wie man derartiges mit vertretbarem aufwand bewältigt bzw. dabei die orientierung nicht völlig verliert. ;)



Antwort von DAF:

Ja, das ist schon richtig. Nur muss man ehrlich sagen, dass es sowas wie Kommandozeile heutzutage "eigentlich nicht mehr gibt". Klar, wenn du dir wie ich 1987 nen gebrauchten XT mit DOS 2.0 gekauft hattest, ging"s nicht anders.
Und wenn man dann z.B. das videoshls script blanko (ohne Parameter & Quell-Video) aufruft, kommen folgende Definitionen:

usage: video2hls.py


]

]
]
]
]
]














Nun, an sich natürlich erst mal schön das es das gibt. Und der Großteil ist ja mit etwas hirnen auch selbsterklärend. Aber eben nicht alles.
Was beispielsweise der ist, kapier ich offen gestanden nicht. Ebenso
Natürlich kann man das ausprobieren und so "erforschen". Aber dazu habe ich inzwischen weder die Zeit und auch den Ehrgeiz irgendwie nicht mehr. Ebenso wenig wie jetzt für eine einzelnen Aufgabe selbst ne moderne Scriptsprache zu lernen.
Noch dazu kommt, dass man da quasi jedes Mal irgendwie wieder von vorne (oder der Mitte) aus anfängt, wenn man damit nicht tgl. oder zumindest wöchentlich zu tun hat. Da hilft dann nur eine eigene Dokumentation zu schreiben. Diese Zeit würde ich aber gerne jemandem anderen überlassen, und ein kleines Programm dafür z.B. per Donation honorieren oder als PluginPlugin im Glossar erklärt kaufen.

Denn es wäre von meiner Sicht aus schön, wenn es für Anwender die über der Instagram-Liga aber eben noch nicht im Bereich einer eigenen Anwendungsentwicklung (s-Abteilung) angesiedelt sind etwas gäbe, das die Arbeit einfacher/unkomplizierter macht. Natürlich sehe ich auch die ganzen Faktoren wie sich laufend ändernde Standarts, verschiedenste Plattformen usw. usf.

Zumal man solche Lösungen wie hier oben dann auch jemandem anderen schlecht zur Selbstverwaltung/Selbstnutzung mit "verkaufen" kann. In meinem Fall bekomme ich zwar nichts, weil das für eine Bekannte ist. Aber ich klemm mich da auch so rein, weil es mir für künftige eigene Projekte wichtig ist. Und das dann jemandem übertragen die/der aus einer Generation "nach Kommandozeile" stammt, halte ich für wenig zielführend. Heutzutage wird gwischt oder nach Google/Alexa/Siri oder sonstwas geschrien. Und ganz ehrlich, das würde ich wahrscheinlich auch, wenn ich 30 Jahre später geboren wäre :)

Aber mei - wie man in Bayern sagt - hilft ja alles nix. Ois isi ;)

Werde dann mal weiter berichten wie sich das alles auf dem Server unter WP darstellt. Wobei ich nach der Dokumentation des FV Players eigentlich keine Probleme erwarte.



Antwort von mash_gh4:


Ja, das ist schon richtig. Nur muss man ehrlich sagen, dass es sowas wie Kommandozeile heutzutage "eigentlich nicht mehr gibt".

das gilt nur für typische desktop-arbeit. sobald du mit größeren servern zu tun hast, ist die bedienung/wartung über ssh-termial-verbindungen nach wie vor das gängigste mittel, weil der fernzugriff damit viel einfacher zu bewerkstelligen ist als mit irgendwelchen grafischen mitteln.

aber selbst am desktop ist es weiterhin fast unumgänglich, wenn du irgendwelche abläufe mit einfachen mittel -- also per script -- automatisieren willst.

Klar, wenn du dir wie ich 1987 nen gebrauchten XT mit DOS 2.0 gekauft hattest, ging"s nicht anders.

wie gesagt -- mit irgendwelcher antiquiertheit hat das nicht viel zu tun, eher schon mit der tatsache, das früher einmal die meisten leute, die computer bedient haben, auch tatsächlich ein bisserl ahnung von der materie hatten, während ja heute die meisten von uns wirklich nur mehr passive sklaven einer maschinerie sind, die sie nichteinmal in ansätzen durchschauen, geschweige denn irgendwie auch aktiv gestalterisch zu nutzen od. zu modifizieren (=programmieren) verstehen.

darin sehe ich nicht unbedingt einen sonderlich erfreulichen fortschritt.

Und wenn man dann z.B. das videoshls script blanko (ohne Parameter & Quell-Video) aufruft, kommen folgende Definitionen:

usage: video2hls.py

...

wenn du das programm, wie oben schon empfohlen, mit dem der dafür üblichen option: '--help' aufrufst, bekommst du sogar eine noch längere rückmeldung ausgespuckt, die dafür bei jeder option auch noch eine kurze erläuterung enthält. ;)

Nun, an sich natürlich erst mal schön das es das gibt. Und der Großteil ist ja mit etwas hirnen auch selbsterklärend. Aber eben nicht alles.
Was beispielsweise der ist, kapier ich offen gestanden nicht. Ebenso


mit --help, würdest dazu lesen:

--video-bitrate-factor: "factor to apply to provided bitrates" (default: 1.0)
--hls-time DURATION: "HLS segment duration (in seconds)" (default: 6)

das sind jetzt natürlich auch nur sehr spärliche hinweise, die man nur richtig deuten kann, wenn man den sinn des werkzeugs einigermaßen kennt. ganz unverständlich, rätselhaft und unnachvollziehbar erscheinen sie mir persönlich aber nicht.

Natürlich kann man das ausprobieren und so "erforschen". Aber dazu habe ich inzwischen weder die Zeit und auch den Ehrgeiz irgendwie nicht mehr. Ebenso wenig wie jetzt für eine einzelnen Aufgabe selbst ne moderne Scriptsprache zu lernen.
Noch dazu kommt, dass man da quasi jedes Mal irgendwie wieder von vorne (oder der Mitte) aus anfängt, wenn man damit nicht tgl. oder zumindest wöchentlich zu tun hat. Da hilft dann nur eine eigene Dokumentation zu schreiben. Diese Zeit würde ich aber gerne jemandem anderen überlassen, und ein kleines Programm dafür z.B. per Donation honorieren oder als PluginPlugin im Glossar erklärt kaufen.

kein problem -- solche jobs übernehme ich immer wieder gerne.

es ist nur wichtig, dass die auftraggeber sich auch wirklich darüber im klaren sind, was sie in einem solchen zusammenhang zu erwarten haben bzw. welche kosten tatsächlich mit ihren wünschen in verbindung gebracht werden müssen.

irgendwas ohnehin bereits fertiges anzuwenden -- so wie hier --, geht natürlich in der regel ganz schnell. da ist es dann meistens mehr aufwand, das ganze so zu dokumentieren, dass es auch andere kollegen später nachvollziehen und ggf. weiter nutzen können.

irgendwelche einfachen scripts zu schreiben, um derartige abläufe ein klein wenig zu automatisieren, ist auch kein großer auftrag und gehört gewissermaßen zum alltäglichen geschäft bei der server-wartung.

wenn du dagegen wirklich von software träumst, die mit dem selben grafischen oberflächen-schnickschack daherkommt, wie du es von deinem desktop oder mobiltelefon her kennst, dürften dich die zu erwartenden kosten bzw. der dafür notwendige arbeitsaufwand vermutlich eher abschrecken. derartiges macht in der regel wirklich nur sinn, wenn man damit entweder ein verkaufbares produkt schaffen will, oder es aber für einen großen auftraggeber entwickelt, der daraus dann wirklich den nötigen nutzen zieht, um die kosten zu rechtfertigen.

dort aber, wo es für einzelpersonen, kleine betrieb od. ä. einfach nur darum geht: "wie komme ich mit vertretbarem aufwand von A nach B?", bilden diese ganz einfach gehaltenen lösungen in der praxis oft eine deutlich zweckmäßigere lösung -- selbst wenn man dafür evtl. eine zu entlohnende person im näheren umfeld braucht, die derartiges nicht weiter schreckt bzw. damit effizent umzugehen weiß.



Antwort von DAF:

Also, erstes größeres Zwischenfazit:
Es funktioniert - und damit meine ich
a. das Bereitstellen wie hier beschrieben
b. das Ausliefern unter Wordpress mit dem FV Player
funzt gut!

Getestet mit Edge (WIN10), Firefox (WIN10), Firefox (div. Android-Geräte & Versionen), dem Samsung-Browser auf Samsung A3 & TAB 10.1, auf einem IPhone 5S ("serienmäßig" - keine Ahnung, wahrscheinlich Safari), dem integrieten Browser in einer XORO 260 IP-Box (Android 6.0), Chrome (WIN10 & Android).
Es wird je nach Verbindungsgeschwindigkeit eine passende Auflösung & DatenrateDatenrate im Glossar erklärt gewählt, die Auflösung (bei mir 1080, 720, 640, 480, 240) lässt sich im Player umschalten usw. usf.

In wie weit ich da auf
@ mash
dich nochmal zukomme, um evtl. was zu bauen das einen Upload eines "Ur-Videos" (z.B. 1920x1080) und anschließendes automatisiertes Bereitstellen der HLS-Daten & Struktur serverintern ermöglicht, weiß ich noch nicht.
Denn dazu muss ich selbst erst schauen was aus dem ganzen Projekt wird, und Erfahrungen sammeln damit ich überhaupt definieren kann/könnte was die Anforderungen sind.

Bis hier erst mal danke an alle!



Antwort von mash_gh4:

kling ja recht ermutigend!

wie gesagt: wenn ich dir helfen kann, ganz egal ob hier im forum od. in ernsteren arbeitszusammenhängen -- immer, gerne!

ein punkt, den ich evtl. nocheinmal anbringen möchte, betrifft die ausschließliche verwendung von h.264, so wie es das hier thematisierte script nutzt. das ist zwar sicher die variante, die gegenwärtig am wenigstens probleme mit sich bringt bzw. auf allen endgeräten gut unterstützt wird, aber eben trotzdem schon als weitestgehend überholt angesehen werden muss. mit VP9 und h.265 ist das leider gegenwärtig noch ein bisserl schwieriger. trotzdem macht das einen spürbaren qualitätsunterschied aus. für die meisten ist das nur aus dem bauch heraus zu erfassen, wenn sie feststellen, dass gegenwärtig das selbe video auf youtube halt besser ausschaut und weniger oft stecken bleibt als auf vimeo. aber genau dieses vage gefühl bzw. die damit verbundenen maßstäbe und erwartungshaltungen sind es dann letztlich, an denen die dinge gemessen werden bzw. die tatsächlich zufriedenheit der benutzer gebunden ist. mit h.264 und höheren bandbreiten ist dem leider nicht beizukommen, weil in wahrheit die tatsächlichen auslieferungsbandbreiten bzw. damit verbundene schwankungen und engpässe noch immer viel gravierender sind als man das gerne in der theoretischen betrachtung wahrhaben will. um effinzentere komprimierung kommt man also fast nicht herum. der rest ist dann eigentlich nur mehr ein kampf gegen all die hürden, die sich in diesem zusammenhang aus der unglaublich aufreibenden rivalität konkurierender lösungen bzw. daran gegnüpfter lizenzeinnahmensinteressen ergeben. trotzdem, wenn man eine befriedigende lösung für die tatsächlich betroffenen endkunden sucht, muss man da leider durch.



Antwort von DAF:

Na ja, klar sind oft Technologien eigentlich schon überholt, wenn sie dann man weit gestreut verfügbar sind. Aber für 1080 wird H.264 ja auch in Zukunft reichen. Denn die Bandbreiten werden ja nicht schrumpfen und Player die das heute können werden es in ein paar Versions-Generationen auch noch können... (?)
(Von dem Daten-Einsparpotential H.264 > H.265/VP9 mal abgesehen)

Und wenn ich das richtig verstehe, ist "HLS" an sich ja nicht an nen CodecCodec im Glossar erklärt gebunden. Sollte dann VP9 u/o H.265 in ein-zwei-drei Jahren state of the art sein, auch weil dann in 4K ausgeliefert wird, ist der Vorgang ja der Gleiche:
- ffmpeg muss H.265 u/o VP9 codieren können
- das Script muss das ansprechen & umsetzen
- der Player (der Website) muss es wiedergeben können

Oder versteh ich das was falsch bzw. übersehe was?



Antwort von mash_gh4:


Na ja, klar sind oft Technologien eigentlich schon überholt, wenn sie dann man weit gestreut verfügbar sind. Aber für 1080 wird H.264 ja auch in Zukunft reichen. Denn die Bandbreiten werden ja nicht schrumpfen und Player die das heute können werden es in ein paar Versions-Generationen auch noch können... (?)

naja -- die tatsächliche bandbreitenentwicklung draußen in der wirklichkeit ist ziemlich kompliziert. die alten kupferanbindungen, mit ihren vorgegeben bandbreitenbeschränkungen, verschwinden natürlich langsam, aber dafür kommen immer mehr drahlose verbindungen dazu, die gerade in den ballungsräumen oft heillos überlastetet sind bzw. ganz schwer einzuschätzenden schwankungen in den tasächlich erzielbaren übertragungskapazitäten aufweisen. das ist jetzt für die bloße auslieferung von videos meistens nicht wirklich das große problem, aber bei mobilen uplinks für das live-streaming stellt es sich leider immer wieder als ein gravierendes hindernis heraus.

wir haben hier in der stadt sehr lange ein eigenes standleitungsnetzwerk betrieben, über das fast alle größeren kulturinstitutionen indrekt an das staatliche wissenschaftsnetzwerk angebunden waren. mittlerweile sind die dabei eingesetzten symmetrischen anbindungen über kupferleitungen natürlich einfach nicht mehr konkurrenzfähig, und unser netz in seiner physikalischen gestalt löst sich zusehends auf. der schwerpunkt der heute noch immer sinnvollen dienstleistungen für dieses klientel, verlagert sich also immer mehr auf den betrieb diverser angebote auf unseren servern, die man weiterhin nicht unbedingt den paar großen monopolisten überlassen will. von daher kenne ich diese entwicklung doch ganz gut aus der praxis. deshalb auch dieses einleitende: "naja". denn so sehr diese alten symmetrischen anbindungen in ihrer übertragungskapazität begrenzt waren (je nach leitungslänge), so stabil und zuverlässig konnte man damit in der praxis arbeiten. das hat sich nun geändert. in der praxis hat sich damit auch eine deutliche ausdiffernzierung eingestellt: die paar großen, die es sich leisten können, nutzen nun relativ gute business anbindungen, die natürlich wirklich zuverlässig ganz andere übertragungsraten bieten, während es für jene anderen, die aus kostengründen auf angebote für private endkunden zurückgreifen mussten, nicht unbedingt so rosig aussieht. was dieser weniger zahlungskräftigen kundschaft zugemutet wird, ist aus technischer sicht oft ausgesprochen unbefriedigend. so bekommt man auf diesem umweg bzw. den praktischen problemen, die sich in diesem zusammenhang regelmäßig zeigen, wenigstens auch immer wieder realistischer vor augen geführt, wie sich die sache im größeren rahmen außerhalb unserer priviligierten arbeitsplätze darstellt.

trotzdem -- all diese technischen dinge interessieren ja niemanden!
in der praxis bekommst du höchstens zu hören: "aber bei youtube schaut das viel besser aus!" -- also solltest halt einfach auch versuchen, es mindestens so gut wie die hinzubekommen, wenn du die leute glücklich machen willst.

(Von dem Daten-Einsparpotential H.264 > H.265/VP9 mal abgesehen)

ja -- bei den großen ist das natürlich der springende punkt, weil dort mit entsprechenden bandbreiteneinsparungen natürlich auch die realen kosten massiv gesenkt werden können.

im überschaubar kleinen rahmen spielt das aber in der regel keine so große rolle. hier geht's wirklich nur darum, wie man eine möglichst befriedigende bildqualität und zuverlässigkeit der übertragung bis ans andere ende durchreichen kann.

aber auch das ist in der praxis leider nicht ganz so einfach.

wenn du dich ein bisserl mit DASH und speziell HLS herumspielst, wirst du schnell bemerken, dass es hier ziemliche viele vorgaben und konventionen gibt, die man nicht so einfach varieren kann, ohne damit sofort ungute begleiterscheinungen und inkompatibilitäten heraufzubeschwören.

selbst so etwas simples, wie das erhöhen der bandbreiten für die einzlenen qualitätsstufen bzw. ein abweichen von den betreffenden apple, youtube etc. vorgaben, kann sich bereits als reichlich störend bemerkbar machen. das hat u.a. auch damit zu tun, dass man mit den entsprechenden HTML5 player komponenten ja immer nur einen teil der endgeräte einigermaßen kontroliert im griff hat, während andere wieder, gerade bei HLS, auf die geräteinterne native verarbeitung derartiger streams zurückgreifen, die sich dann plötzlich wieder völlig anders verhält...

Und wenn ich das richtig verstehe, ist "HLS" an sich ja nicht an nen CodecCodec im Glossar erklärt gebunden. Sollte dann VP9 u/o H.265 in ein-zwei-drei Jahren state of the art sein, auch weil dann in 4K ausgeliefert wird, ist der Vorgang ja der Gleiche:

ja -- theoretisch sollte man mittlerweile all diese verschiedenen codecs benutzen können, und seit einiger zeit sogar aus einheitlichen fMP4 files heraus, so dass man am server nicht mehr unterschiedliche versionen für die HLS und DASH auslieferung bereithalten muss. in der praxis wird dir aber trotzdem jeder apple client auch weiterhin einfach nur die kalte schulter zeigen, wenn du einen derart verpackten VP9 stream an ihn auszuliefern versuchst. dabei ist das ja durchaus standardisiert (mittlerweile ist das sogar für AV1 bereits offiziell geregelt -- der entsprechende standard wurde genaue einen tag bevor youtube seinen entsprechenen AV1-auslieferungstestbetrieb gestartet hat offiziell verabschiedet). in der praxis muss man hier also tlw. auf DASH ausweichen, um diese apple vorgaben und blockademaßnahmen zu umschiffen.

- ffmpeg muss H.265 u/o VP9 codieren können
- das Script muss das ansprechen & umsetzen
- der Player (der Website) muss es wiedergeben können

Oder versteh ich das was falsch bzw. übersehe was?

im prinzip ist es so einfach!

ich bin mir allerdings nicht ganz sicher, ob der ffmpeg muxer mittlerweile tatsächlich bereits in der lage ist, alle dafür notwendigen fMP4 bzw MPEG4v2 spezifischen vorgaben ganz eigenständig abzuwicklen? früher hat man dafür zusätzlich mp4box od. eben "mp4v2" heranziehen müssen, aber das könnte sich in der zwischenzeit bereits geändert haben.

ganz trivial ist es halt trotzdem nicht, die notwendigen einzelschritte der aufbereitung so durchzuführen, dass alle clients damit klar kommen, aber im prinzip es eine durchaus nachvollziehbarer prozess, denn man mit relativ geringem aufwand an die eigenen bedürfnisse anpassen können sollte.




Noch was unklar? Dann in unserem Forum nachfragen
Zum Original-Thread / Zum Videoschnitt Allgemein-Forum

Antworten zu ähnlichen Fragen:
eigene Blende erstellen
Zwei Videos (Sprecher und Präsentation) gleichzeitig steuern auf einer Webseite
Ultra HD 4K Timelapse / Zeitraffer mit kostenloser Software erstellen (VirtualDub & x264vfw)
IDX-Files erstellen (wie avidemux)
Zeitraffer mit mehr als 1 Bild/ Sekunde erstellen
Premiere Proxy - eigenen Proxy erstellen
HPX 600 - Scene files & Auflösung
Will Digitalisierung von Super 8 / 8mm Filmen mit Ton anbieten
Mehrere Videos / AVI Files synchron abspielen
AVCHD Videos (von Panasonic Camcorder) wie umwandeln in mpg.files ?
180 Grad VR Videos erstellen
Grafikkarte benutzen um von analogen Quellen Videos zu erstellen?
Samsung 360 Round -- 17-äugige Kamera für sphärische 3D-Videos und Live-Streaming
Tool zum automatischen Erstellen von Screenshots aus Videos
GH4 - eigene Erfahrung mit Schärfe
Link: kostenlose-Videos & AE Vorlagen-Anbieter
Audiosync korrigieren innerhalb DVD-Struktur
F&V SpectraHD 4 als EVF
Dolby Digital Encoder zur Erzeugung von AC3-Files aus wav-Files
Was tun mit "2x HK Audio Lucas XT & Laney theater 1300 & LT 61
Programm um Struktur einer Video DVD zu überprüfen
Q: Panasonic *.mov-Files in DV *.avi-Files Konvertieren
Nikon bringt eigene XQD-Karten Serie - 64 und 120 GB mit 400 MB/s
Schneider-Kreutznach wird keine MFT-Objektive anbieten
Webseite scrollen?
2,7 K Videos als O Datei exportieren für PS 4 Mediaplayer

















weitere Themen:
Spezialthemen


16:9
3D
4K
ARD
ARTE
AVCHD
AVI
Adapter
Adobe After Effects
Adobe Premiere Pro
After effects
Akku
Akkus
Apple Final Cut Pro
Audio
Aufnahme
Aufnahmen
Avid
Band
Bild
Bit
Blackmagic
Blackmagic DaVinci Resolve
Blackmagic Design DaVinci Resolve
Blende
Book
Brennen
Cam
Camcorder
Camera
Canon
Canon EOS 5D MKII
Canon EOS C300
Capture
Capturing
Cinema
Clip
ClipKanal
Clips
Codec
Codecs
DSLR
Datei
Digital
ENG
EOS
Effect
Effekt
Effekte
Export
Fehler
Festplatte
File
Film
Filme
Filmen
Filter
Final Cut
Final Cut Pro
Firmware
Format
Formate
Foto
Frage
Frame
GoPro
HDMI
HDR
Hilfe
Import
JVC
Kabel
Kamera
Kanal
Kauf
Kaufe
Kaufen
Kurzfilm
Layer
Licht
Live
Lösung
MAGIX video deLuxe
MPEG
MPEG-2
MPEG2
Mac
Magix
Magix Vegas Pro
Menü
Mikro
Mikrofon
Mikrophone
Monitor
Movie
Musik
Musikvideo
NAB
Nero
News
Nikon
Objektiv
Objektive
PC
Panasonic
Panasonic GH2
Panasonic HC-X1
Panasonic S1 mit V-Log
Pinnacle
Pinnacle Studio
Player
Plugin
Plugins
Premiere
Projekt
RAW
RED
Recorder
Red
Render
Rendern
Schnitt
Software
Sony
Sound
Speicher
Stativ
Stative
Streaming
Studio
TV
Test
Titel
Ton
USB
Umwandeln
Update
Vegas
Video
Video-DSLR
Videos
Videoschnitt
Windows
YouTube
Zoom