100 gleichzeitige Livestreams auf der Inter High

MID-ROLL-ANZEIGEN IN LIVE-ÜBERTRAGUNGEN

Sports Communications ist das Unternehmen, das das Internet-Sportmedium "SPORTS BULL" (abgekürzt "Spobu") betreibt. Es unterhält Partnerschaften mit über 60 Medien und deckt über 40 Sportarten ab. Dabei handelt es sich nicht nur um Sportarten mit einer großen Fangemeinde, wie Baseball und Fußball, sondern auch um detaillierte Informationen über Sportarten, die derzeit vielleicht noch unbedeutend sind, aber ihre Fangemeinde vergrößern wollen, und die Zahl der Nutzer steigt rapide an. Die Zahl der Zuschauer und Besucher steigt bei Veranstaltungen dramatisch an, und die Zahl der täglich aktiven Nutzer (DAU) für das High-School-Baseball-Turnier im Sommer 2018 überstieg 3 Millionen. Wie der Highschool-Baseball ist auch das Inter-High School Athletic Meet der wichtigste Inhalt des Sommers. Yusuke Kumagai, ein Direktor des Unternehmens, sagt: "Amateursport hat eine sehr breite Zielgruppe. Er ist tief in der lokalen Gemeinschaft verwurzelt und kann von Menschen aller Altersgruppen genossen werden, von der heutigen Generation bis hin zu den Eltern und Großeltern der damaligen Generation. Nur etwa die Hälfte der Menschen in unserem Unternehmen hat die Angewohnheit, Profisport zu sehen. Dennoch fühlen sich alle zum Amateursport hingezogen. Sie üben einen geheimnisvollen Reiz aus, und vielleicht ist es die ursprüngliche Erfahrung vieler Japaner, die in ihrer Schulzeit in einem Verein aktiv waren. Für das Unternehmen, das sich mit der Verbreitung von Informationen über alle Sportarten befasst, und für die Fans von Spobu ist dieses Turnier zur Ermittlung der besten Highschool-Mannschaft Japans ein wichtiges Ereignis.

Der Wunsch, die Inter-High live zu übertragen, veranlasste das Unternehmen, sich für eine Videoplattform zu entscheiden. Seit seiner Gründung hat das Unternehmen mehrere Videoinhalte verbreitet, und die Resonanz bei den Zuschauern war gut. Allerdings war die Belastung für die Content-Manager groß, und für ein Start-up-Unternehmen mit wenigen Mitarbeitern war es schwierig, sich voll und ganz auf Video zu konzentrieren. Wenn es um Live-Übertragungen geht, steigt die Belastung sogar noch mehr, und es ist ein Vollzeitmitarbeiter erforderlich. Als System, das solche Probleme lösen kann, war Brightcove Video Cloud die beste Lösung.

Taiki Kumagai, Manager der Entwicklungsabteilung, erinnert sich: "Brightcove Video Cloud war die einzige Lösung, die für den stabilen Betrieb von Live-Streaming mit Pre-Roll- und Mid-Roll-Werbung verwendet werden konnte. Die Tatsache, dass für den Betrieb keine IT-Kenntnisse erforderlich waren, war ebenfalls attraktiv, und wir waren zuversichtlich, dass wir das Live-Streaming für Inter-High.tv und BIG6.tv (Tokyo Big 6 Baseball League) mit unserem aktuellen System realisieren können.

700 LIVE-ÜBERTRAGUNGEN WURDEN WÄHREND DER ZWISCHENHOCHPHASE ERREICHT

Brightcove wurde im Jahr 2018 gegründet. Zu dieser Zeit gab es etwa 10 Mitarbeiter. Es wurden Tests zur Vorbereitung auf die Inter-High im Sommer durchgeführt und zahlreiche Treffen mit lokalen Partnerunternehmen abgehalten, die die Spiele filmen sollten. Anschließend wurde ein Prozess für das Filmen von Videos, den Import in Brightcove Video Cloud und die Verteilung der Videos eingerichtet. Wir beschlossen, ein spezielles Konto einzurichten und die Videos durch direkten Zugriff auf die Videoplattform vor Ort bereitzustellen, sodass die Videos nicht mehr hoch- und heruntergeladen werden mussten. Auf diese Weise konnten wir den Zuschauern die Spiele mit minimalem Verwaltungsaufwand live zur Verfügung stellen.

Wir werden bald in das 5G-Zeitalter eintreten. Der Bedarf an Videos wird nur noch weiter steigen. Ich denke, dass die Vorbereitung der Plattform und die Rationalisierung des Bereitstellungsprozesses im Vorfeld ein großer Vorteil für unser Unternehmen war.

Yusuke Kumagai

Direktor, Undo Tsushinsha Co.

Die Verbreitung erfolgte in großem Umfang. Mehr als 100 Videos wurden den Zuschauern pro Tag zur Verfügung gestellt. Außerdem wurden Live-Übertragungen für mehrere Sportarten gleichzeitig durchgeführt, wobei 700 Spiele während des Zeitraums live übertragen wurden. Am Ende wurden rund 12 000 Videos unterschiedlicher Länge bearbeitet und als Videoinhalte veröffentlicht.

"Jetzt, da wir unsere gesamte Arbeit auf der Videoplattform erledigen können, haben wir das Gefühl, dass sich der gesamte Arbeitsaufwand um etwa 30 % verringert hat. Ich kann mit Gewissheit sagen, dass wir ohne Brightcove Video Cloudnicht in der Lage gewesen wären, diese Größenordnung der Verbreitung zu erreichen" (Taiki Kumagai).

INHALTE, DIE VON "PASSIONIERTEN NUTZERN" GENOSSEN WERDEN KÖNNEN

Es wird gesagt, dass es im Amateursport viele "Heavy User" gibt. Sie bleiben lange Zeit und sehen sich die Videos ausführlich an. Es gibt auch viele Nutzer, die die Website wiederholt besuchen. Die Zahl der Impressionen ist vielleicht nicht so hoch wie bei den großen Sportarten, aber es gibt definitiv Nutzer, die eine Leidenschaft für den Sport haben. Das Unternehmen versucht, Inhalte zu liefern, die diesen Nutzern noch mehr Freude an der Seite bereiten.

Yusuke Kumagai sagt: "Unser Ziel ist es, eine Präsenz zu werden, die Sport 'sieht', 'spielt' und 'unterstützt'. Im Moment konzentrieren wir uns auf das 'Zuschauen' mit Hilfe von Videos, aber wir versuchen auch, die Schaffung von Erfahrungen durch 'Spielen' zu unterstützen.

In Zukunft wollen wir eine unterstützende Präsenz werden. Unser Ziel ist es, uns direkter an der Verbreitung besserer Informationen zu beteiligen und über Monetarisierungsmethoden zu beraten, während wir das Publikum, das sich für unsere Inhalte interessiert, pflegen und entwickeln. Auf diese Weise können sie vielleicht die Attraktivität hervorragender Videoinhalte und die damit verbundenen Werbeeinnahmen an alle Arten von Sportorganisationen weitergeben.

"Wir stehen kurz vor dem Eintritt in das 5G-Zeitalter. Da die Kommunikationsgeschwindigkeiten zunehmen und es möglich wird, große Datenmengen mit hoher Geschwindigkeit auszutauschen, wird die Nachfrage nach Videos nur weiter steigen. Ich bin der Meinung, dass die Vorbereitung der Plattform und die Rationalisierung des Verteilungsprozesses im Vorfeld ein großer Vorteil für unser Geschäft war", sagt er.

AUFBAU EINER DURCHGÄNGIG VERSCHLÜSSELTEN TRANSCODIERUNGSPIPELINE

Für viele Zencoder-Kunden hat die Sicherheit ihrer Inhalte während des Transcodierungsprozesses oberste Priorität. Da Zencoder nun verschlüsselte Eingaben unterstützt, können Kunden sicherstellen, dass ihre Daten niemals im Klartext gespeichert werden, während sie Zencoder durchlaufen. Kurz gesagt, Zencoder kann verschlüsselte Eingaben akzeptieren, sie für die Transkodierung entschlüsseln und dann die Ausgabevideos erneut verschlüsseln, bevor sie an einen Speicherort geschrieben werden. Die Bedeutung dieses Arbeitsablaufs liegt darin, dass sowohl die Eingaben als auch die Ausgaben geschützt sind. Wenn ein unbefugter Benutzer auf diese verschlüsselten Dateien zugreifen könnte, könnte er sie ohne das zur Verschlüsselung verwendete Schlüssel-IV-Paar nicht anzeigen. Gehen wir einmal durch, wie dieser Prozess aussehen würde. Bevor wir beginnen, benötigen wir eine verschlüsselte Eingabe. In diesem Beispiel verschlüsseln wir eine Datei lokal mit OpenSSL und laden sie dann auf S3 hoch, bevor wir den Transcodierungsauftrag erstellen.

$ openssl aes-256-cbc -k zencoderisawesome -in trailer_test.mp4 -out trailer_test.mp4.enc -p

Die -k Flag ist das Geheimnis, das wir verwenden wollen, in diesem Fall "zencoderisawesome". Die -p Flagge weist OpenSSL an, den Schlüssel auszugeben, wenn es fertig ist, den wir später für die Entschlüsselung benötigen. Für uns sah die Ausgabe wie folgt aus:

salt=9E7E90A964768A2F
key=DAFF64EAE3B3AB9C7905871E407293D4987E16DE76578372E161B1261F39CD66
iv =375FDBBB213C062D544FCB5A6ACBA44E

Jetzt ist die Datei verschlüsselt, du solltest sie also nicht mehr abspielen können, wie du es vorher getan hättest. Jetzt müssen wir die Datei irgendwo auf S3 oder einen FTP-Server hochladen, damit Zencoder darauf zugreifen kann. Wir werden einfach die S3-Upload-Schnittstelle verwenden.S3 UploadZeit, die Anfrage zu erstellen. Wir verwenden die Node.js-Bibliothek um die Anfrage in diesen Beispielen zu senden, aber die gleichen Anfragen könnten auch mit einem anderen Tool wie dem Anfrage Builder. Wir müssen den Verschlüsselungsschlüssel und den IV, den wir oben für die Eingabe verwendet haben, angeben.

var zencoder = require('zencoder')();
zencoder.Job.create({
  input: "s3://zencoder-demo/trailer_test.mp4.enc",
  decryption_method: "aes-256",
  decryption_key: "DAFF64EAE3B3AB9C7905871E407293D4987E16DE76578372E161B1261F39CD66",
  decryption_password: "zencoderisawesome"
}, function(err, data) {
  if (err) {
    console.log("Job wasn't created");
    return console.log(err);
  }
  console.log("Woo!");
  console.log(data);
});

Dies würde ausreichen, um eine standardmäßige h.264-Ausgabe zu erstellen, die jedoch in keiner Weise verschlüsselt wäre. Manchmal ist dies nützlich, weil man eine verschlüsselte Mezzanine-Datei (eine sehr hochwertige Datei, die zur Erstellung anderer, weniger hochwertiger Ausgaben verwendet wird) für Ausgaben mit Wasserzeichen oder geringerer Qualität zur Verteilung verwenden möchte. Nehmen wir an, wir wollen eine Mezzanine-Datei nehmen und sie auf drei verschiedene Dienste hochladen. Eine Ausgabe soll eine unverschlüsselte Version niedriger Qualität mit einem Wasserzeichen sein, die beiden anderen sollen mit zwei verschiedenen Schlüsseln verschlüsselt werden, einer mit und einer ohne Wasserzeichen. Bevor wir diese Anfrage erstellen können, müssen wir jedoch die beiden Schlüssel generieren, die wir verwenden werden. Wir werden wieder OpenSSL verwenden, um diese neuen Schlüssel zu erzeugen:

$ openssl enc -aes-256-cbc -k supersecret -P
salt=12B83BBF81DFA5B7
key=48A9E3FA8A629AEBA5B4F1FAC962920F0D7084E306E0D01A0ED01C920BBCBD08
iv =2B3CABAB503198DB32394245F54E2A34

$ openssl enc -aes-256-cbc -k anothersecret -P salt=DE2DE044EA5FEB2A key=3AAE9D6E5212224BB9F76E328D2BD826F17B4FC292845B6E3B72634D2C28052D iv =169C3DE53C56E74130CDA57BA85F8255

Jetzt können wir diese Schlüssel verwenden, wenn wir die Ausgaben während des Transcodierungsprozesses verschlüsseln.

zencoder.Job.create({
  input: "s3://zencoder-demo/trailer_test.mp4.enc",
  decryption_method: "aes-256",
  decryption_key: "DAFF64EAE3B3AB9C7905871E407293D4987E16DE76578372E161B1261F39CD66",
  decryption_password: "zencoderisawesome",
  outputs: [
    {
      url: 's3://some-bucket/decrypted.mp4',
      quality: 3,
      width: 320,
      watermarks: [{
        url: 's3://zencoder-live/test-job-watermark.png'
      }]
    },
    {
      url: 's3://some-other-bucket/encrypted-watermarked.mp4',
      width: 720,
      watermarks: [{
        url: 's3://zencoder-live/test-job-watermark.png'
      }],
      encryption_method: "aes-256",
      encryption_key: '48A9E3FA8A629AEBA5B4F1FAC962920F0D7084E306E0D01A0ED01C920BBCBD08',
      encryption_iv: '2B3CABAB503198DB32394245F54E2A34'
    },
    {
      url: 's3://some-bucket/encrypted-out.mp4',
      width: 720,
      encryption_method: "aes-256",
      encryption_key: '3AAE9D6E5212224BB9F76E328D2BD826F17B4FC292845B6E3B72634D2C28052D',
      encryption_iv: '169C3DE53C56E74130CDA57BA85F8255'
    }
  ]
}, function(err, data) {
  if (err) {
    console.log("Job wasn't created…");
    return console.log(err);
  }
  console.log("Woo!");
  console.log(data);
});

Die Verschlüsselung einer Ausgabe wegzulassen und zwei andere separat zu verschlüsseln, mag verrückt erscheinen, aber bedenken Sie den Anwendungsfall. Die Ausgabe mit niedriger Qualität könnte als Beispiel verwendet werden (Sie könnten sogar einen kürzeren Clip für diesen Zweck erstellen). Eine der hochwertigen Versionen ist mit einem Wasserzeichen versehen, das die Person identifiziert, für die das Video hochgeladen wurde, so dass Sie ihr den Schlüssel zum Entschlüsseln und Anschauen geben können. Die dritte, nicht mit Wasserzeichen versehene Kopie würde wieder in einen von uns kontrollierten Bucket hochgeladen, damit wir sie später für die Verbreitung verwenden können. Sobald Sie eine dieser verschlüsselten Dateien lokal haben, können Sie sie mit einem ähnlichen Verfahren entschlüsseln, wie wir es ursprünglich zur Verschlüsselung verwendet haben. So entschlüsseln Sie die mit einem Wasserzeichen versehene Datei: $ openssl enc -aes-256-cbc -d -K 48A9E3FA8A629AEBA5B4F1FAC962920F0D7084E306E0D01A0ED01C920BBCBD08 -iv 2B3CABAB503198DB32394245F54E2A34 -in encrypted-watermarked.mp4 -out decrypted-watermarked.mp4 So entschlüsseln Sie die Datei ohne Wasserzeichen: $ openssl enc -aes-256-cbc -d -K 3AAE9D6E5212224BB9F76E328D2BD826F17B4FC292845B6E3B72634D2C28052D -iv 169C3DE53C56E74130CDA57BA85F8255 -in encrypted-out.mp4 -out decrypted-out.mp4 Das war's! Sie haben jetzt eine durchgängig verschlüsselte Verschlüsselungspipeline. Die verschlüsselte Datei, die in diesen Beispielen verwendet wird, ist an diesem Ort verfügbar und wurde tatsächlich mit diesen Anmeldeinformationen verschlüsselt, Sie können sie also gerne als Testdatei verwenden. Nur eine AnmerkungDies ist nicht zu verwechseln mit der digitalen Rechteverwaltung (DRM). Eine richtige DRM-Lösung regelt Dinge wie die Zugriffsrechte auf Inhalte, die sehr viel detaillierter sein können, bis hin zu bestimmten Geräten und Benutzern. Verschlüsselte Dateien können nur mit dem Verschlüsselungsschlüssel und dem zugehörigen Kennwort angesehen werden, aber das ist das einzige Kriterium.

SPIELBUCH: WIE MAN EINE SPORTVIDEO-STRATEGIE ENTWICKELT

Der Wert des Sports geht über ein Spiel, eine Liga, eine Mannschaft oder einen Spieler hinaus. Im Grunde besteht Sport aus Momenten. Und die Menschen erinnern sich nicht nur an einen Moment; sie erinnern sich daran, wo sie waren, mit wem sie zusammen waren und sogar daran, was sie gegessen haben. Sport wächst und gedeiht durch Emotionen. Ob Freude, Verzweiflung oder Neid - Sport ruft in einer Sekunde, einer Hundertstelsekunde oder nach einem Jahrzehnt eine Reihe von Emotionen hervor.

Wenn Verleger über Sport im Zusammenhang mit Video nachdenken, sollten sie die Möglichkeiten erkennen, die Zuschauer einzubinden und ein Erlebnis zu schaffen, das die Spontaneität von Nachrichten, den dramatischen Bogen eines narrativen Films und - mit dem Ablauf jedes Spiels und jeder Saison - eine Fülle von Daten vereint.

Die 4 S des Sports

Für Verlage lassen sich die Möglichkeiten zur Steigerung der Publikumsbindung durch Videos in vier Kategorien einteilen.

  • Statistiken und Ergebnisse
  • Soziales und Teilen
  • Spontaneität
  • Geschichten

Statistiken und Ergebnisse

Statistiken und Ergebnisse sind die Mittel, mit denen wir Sport aufzeichnen, messen, analysieren und verfolgen. Es ist unvermeidlich, dass eine Person oder ein Team ein "W" und mindestens eine Person oder ein Team ein "L" erhält, und gelegentlich gibt es auch ein Unentschieden.

Video kann für jede Art von Echtzeitstatistiken einen Kontext liefern.

Während eines Sportereignisses ist es zwar üblich, die "großen" Spielzüge zu zeigen, aber die Momente, in denen keine Tore fallen, sind genauso effektiv, um die Dynamik eines Spiels, einer Mannschaft oder eines Spielers zu verstehen.

  • Strafen (oder umstrittene oder verpasste Entscheidungen)
  • Scheinbar unbedeutende Momente (z. B. ein Zögern während eines Staffelwechsels, eine Spielerauswechslung)
  • Strategie (z. B. Spielzüge im Fußball, Volleyball)
  • Leistung (z. B. Spielersplits oder Änderungen der Wurfgeschwindigkeit)

Für einige ist der Sport selbst nur ein Vehikel für eine noch größere Leidenschaft, die sich nicht nur auf Spiele, sondern auch auf Jahreszeiten, Arbeitsplätze, Städte und Freundschaften erstreckt.

Am beliebtesten sind Fantasy-Sportspiele in den Bereichen Baseball und Fußball, aber auch Fantasy-Spiele für Fußball, Basketball, Autorennen, Golf und mehr sind nicht selten.

Während der Fantasy-Sport-Saison und während eines einzelnen Spiels können Videos verwendet werden, um die in Echtzeit gesammelten Daten aus den letzten oder laufenden Spielen zu ergänzen und jede Art von Fantasy-Sport-"Scoring" hervorzuheben, von Touchdowns, Toren, Strikeouts, großen Yardage-Gewinnen und mehr.

Aber die Teilnehmer an Fantasy-Sportarten verbringen ihre Zeit auch damit, passiv in einen Strom von Echtzeitdaten zu starren. Verleger können dieses datengesteuerte Erlebnis zu einem Leanback-Videoerlebnis ausweiten, indem sie Video-Highlights zu einer Videogeschichte über ihr Fantasy-Team und ihre Spieler zusammenfassen, konsolidieren und aneinanderreihen - ein virtuelles "Sizzle Reel" mit Statistiken und Spielständen.

Noch überzeugender als die Synchronisierung von Videos mit Echtzeit- oder aktuellen Daten ist die Möglichkeit, Videos zu nutzen, um bei der Recherche von Team- und Spielerstatistiken zusätzlichen Kontext zu schaffen. Verleger können überzeugende Erlebnisse schaffen, indem sie es den Verbrauchern ermöglichen, nicht nur Statistiken anzusehen, sondern auch per Video zu recherchieren.

Soziales und Teilen

Sport ist in der Regel eine soziale Aktivität, an der man teilnimmt, der man beiwohnt und bei der man zuschaut.

Video kann über das eigentliche Spiel hinaus eine wichtige Rolle spielen.

Ob über ein persönliches Netzwerk (E-Mail oder SMS) oder ein soziales Netzwerk (Facebook oder Twitter), Sport lebt über den Moment hinaus und erhöht den Wiederholungswert.

Mit sozialen Medien können Verlage Videos nutzen, um:

  • Beginnen Sie Gespräche über einen bestimmten Moment (ein Tor, ein "Beinahe-Tor", ein überschwänglicher Fan oder ein frustrierter Trainer)
  • Ermöglichen Sie es den Zuschauern, ein Gespräch über einen bestimmten Moment zu beginnen, ihre eigene Reihe von Momenten zu "remixen" oder ihre eigene Zusammenfassung im Stil von SportsCenter zu erstellen.
  • Schaffen Sie neue Möglichkeiten für die Monetarisierung mit gesponserten Themen von Inhalten

Sportvereine und Ligen können Video nutzen, um:

  • Ankündigung von Änderungen im Stadion, um Dauerkarteninhaber oder Besucher anzulocken (z. B. Essensmöglichkeiten, Ausblicke von Tribünen und Suiten sowie Vorschauen auf besondere Veranstaltungen am Spieltag oder Werbegeschenke)
  • Nutzung von nutzergenerierten Inhalten zur Stärkung der Fangemeinde und zur Mobilisierung dieses Publikums für den Aufbau eines dauerhaften Markenwerts (z. B. die "besten" Beispiele für Schilder, Anfeuerungsrufe, "Zuhause"-Fans, Grillfeste und Essen)

Spontaneität

Die Verleger sollten sicherstellen, dass alle Videoerlebnisse, vom Desktop über das Handy bis hin zu Connected TVs, dem Wunsch des Zuschauers nach Entdeckung von Inhalten entsprechen. Sportinhalte haben die einzigartigen Eigenschaften:

  • Sowohl live als auch zeitversetzt und als Aufzeichnung konsumiert
  • Aus der Sicht von Ligen, Mannschaften, Spielern und Fans
  • Untrennbar mit Daten verbunden

Mit all diesen Facetten haben die Verlage die Möglichkeit, die Entdeckung und Werbung zu optimieren, um das Engagement und die Monetarisierung zu steigern.

Im Leanback-Modus des Videokonsums sollten die Herausgeber den Inhalt spontan wirken lassen. Ein Zuschauer könnte sich zunächst eine Wiederholung des Goldmedaillengewinns von Michael Phelps ansehen, der nur um eine Hundertstelsekunde verpasst wurde. Ausgehend von der Vorstellung eines "knappen Zieleinlaufs" in dem Video könnte das Videoerlebnis automatisch eine dynamische Wiedergabeliste mit ähnlichen Inhalten programmieren: Christian Laettners Sprungwurf gegen Kentucky, Jimmie Johnsons 0,0002-Sekunden-Sieg in Talladega oder der Last-Minute-Sieg der Blackhawks im Pokalwettbewerb.

Geschichten

Videos können eine Geschichte in sechs Sekunden oder sechs Stunden erzählen. Für Verlage, die sich auf Sportinhalte konzentrieren, erzählt jedes Video eine Geschichte: eine Geschichte über eine Liga, ein Team, einen Spieler, einen Trainer oder einen Fan. Da Sportgeschichten jedoch eine beliebige Anzahl von Faktoren umfassen können, können sie über die traditionellen Ligen hinausgehen.

Mit einer GoPro bewaffnet können wir einem Angler beim Kampf mit einem 950 Pfund schweren Marlin zusehen, Bergsteigern beim Erklimmen des El Capitan, Spielern beim Geocaching oder Stadtforschern, die unter dem Kopfsteinpflaster von Paris hindurch huschen.

Die Verleger haben die einzigartige Möglichkeit, an die Emotionen der Verbraucher zu appellieren. Während Nachrichteninhalte vergänglich sind und ihren Wert sowohl aus ihrer Unmittelbarkeit als auch als historisches Archiv beziehen, kann ein Sportmoment immer und immer wieder mit dem gleichen Maß an Dramatik angesehen werden.

Sport ermöglicht es den Menschen, ihrer Leidenschaft nachzugehen, sei es als Teilnehmer oder als Fan, wobei Videos eine wichtige Rolle spielen, die das Erlebnis bei jedem Sieg, jeder Niederlage oder jedem Unentschieden noch steigern können.

WIE LUXEMBURGER WORT DIE TOUR DE FRANCE STREAMT

Vergleicht man die Einwohnerzahl Luxemburgs mit den erfolgreichen Tour-de-France-Teilnehmern, versteht man sofort, warum der Radsport zum Nationalsport des kleinen Landes geworden ist. Seit der ersten "Grand Boucle", die vor 100 Jahren begann, haben 15 luxemburgische Radsportgrößen 70 Etappensiege bei der Tour gefeiert. Fünf Luxemburger haben das berühmteste Radrennen der Welt bereits gewonnen und durften am Ende der dreiwöchigen Tortur das Gelbe Trikot mit nach Hause nehmen. Kein Wunder also, dass der Radsport auch für eine der wichtigsten Tageszeitungen des Landes, das Luxemburger Wort, eines der heißesten Themen dieser Tage ist.

Mit einem eigenen Team von Journalisten und Fotografen vor Ort bietet das Nachrichtenportal des Luxemburger Wortes, wort.lu, seinen Lesern eine täglich aktualisierte Videoberichterstattung. Mithilfe von Brightcove verwaltet ein kleines Team den gesamten Video-Content der Website direkt aus der wort.lu-Redaktion und stellt Online-Videos, kleinere Videoberichte von einer bis fünf Minuten und andere Formate wie längere Videointerviews bereit. Während der gesamten Tour können sich die Radsportfans mit dem Tour-Liveticker auf wort.lu auf dem Laufenden halten und haben jeden Abend Zugriff auf die offiziellen Videozusammenfassungen des Veranstalters, der Amaury Sport Organization (ASO), auf der Website. Und natürlich hofft die Zeitung, die vom Verlag Saint-Paul Luxembourg S.A. mit einer täglichen Auflage von 85.000 Exemplaren herausgegeben wird, dass die Luxemburger Radsportler auch im Tour-Jubiläumsjahr wieder ganz vorne mit dabei sind.

Einer der wichtigsten Faktoren für die Entscheidung des Verlags, Brightcove im Jahr 2012 zu implementieren, war die Tatsache, dass Luxemburg eine der höchsten Mobilfunknutzungsraten in Europa aufweist. In einem Land, in dem die Einwohner zunehmend von unterwegs auf Nachrichten zugreifen, ist eine zuverlässige und hochwertige Videobereitstellung auf einer Vielzahl von Plattformen unerlässlich. Mit unserem Video Cloud SDK war das wort.lu-Entwicklungsteam in der Lage, bereits kurz nach der zweiwöchigen Implementierung mobile Anwendungen für die wort.lu-Website zu entwickeln. Die reibungslose Implementierung erfolgte auf der Grundlage unserer umfangreichen Dokumentation und in Zusammenarbeit mit unserem Support-Team.

Die Lokalisierung machte die Verlagsentscheider auf der DMEXCO 2012 auch deshalb auf Brightcove aufmerksam, weil wort.lu sowohl seine Tour de France-Berichterstattung als auch seinen gesamten redaktionellen Content in Deutsch, Französisch, Englisch und Portugiesisch anbietet. Das bedeutet, dass das Redaktionsteam Brightcove nutzen kann, um Beschriftungen oder andere Standardtexte für ihren Videocontent, wie z. B. Untertitel, in mehreren Sprachen zu automatisieren.

Für Marc Thill, Chefredakteur des Luxemburger Wortes, ist die strategische Ausrichtung von wort.lu im Videobereich klar: "Unsere Online- und Print-Redaktion wachsen langsam zusammen, und dafür brauchten wir eine Lösung wie Brightcove, die mit unserem zukünftigen, sicherlich steigenden Videobedarf wachsen kann. Insbesondere was die Traffic-Generierung für unser Internet-Nachrichtenportal wort.lu angeht, ist die jährliche Tour de France-Berichterstattung ein fester Höhepunkt des Jahres für unsere traditionell radsportbegeisterten Leser."

Der Verlag ist sich bewusst, dass sich sein digitales Angebot auch jenseits solcher sportlichen Großereignisse täglich im wachsenden Wettbewerb um die Internetdominanz bewähren muss, um die führende Position von wort.lu auf dem Luxemburger Nachrichtenmarkt zu halten und auszubauen. Mit Brightcove, so Marc Thill, hat das Verlagshaus die notwendigen technischen Voraussetzungen geschaffen. Das Newsroom-Team von wort.lu kann seinen Online-Video-Content nun ohne großen technischen Aufwand täglich dynamisch und zuverlässig für die verschiedenen mobilen und Online-Nutzergruppen bereitstellen. Auch auf die stetig steigende Nachfrage der wort.lu-Werbepartner nach einer engen Zusammenarbeit im Online-Bereich kann der Verlag durch den Einsatz von Brightcove mit einem neuen Angebot an Videowerbung reagieren. Die für eine erfolgreiche Monetarisierung im Videomarkt wichtige Analysefunktion ist im Brightcove-Paket enthalten.

MPEG-DASH: SCHAFFUNG EINES STANDARDS FÜR INTEROPERABILITÄT UND END-TO-END-ÜBERTRAGUNG

Wenn Sie in der Medienbranche arbeiten, haben Sie den Begriff MPEG-DASH sicher schon oft gehört. MPEG-DASH ist weder ein Codec noch ein Protokoll, ein System oder ein Format. Vielmehr handelt es sich um einen Standard für die Interoperabilität, d. h. für die End-to-End-Übertragung von Videos über HTTP.

Eines der Hauptziele von MPEG-DASH und angeblich der Hauptnutzen für die Anbieter ist die Möglichkeit, die Kosten und den Aufwand für die Bereitstellung von Live- und aufgezeichneten Premium-Videos unter Verwendung offener Standards auf der bestehenden Infrastruktur zu reduzieren. Heutige Premium-Videos beinhalten in der Regel Anforderungen an Werbung, Sicherheit (z. B. DRM), adaptive Bitratenwiedergabe, Untertitel und Unterstützung für mehrere Sprachen. Die Anwendung dieser Anforderungen für Live- und aufgezeichnete Inhalte in einer fragmentierten Gerätelandschaft führt zu Komplexität (sprich: Kosten) für die Codierungs-, Verpackungs-, Speicher- und Bereitstellungs-Workflows der Verlage.

Mit MPEG-DASH versuchen die Akteure der Branche, drei De-facto-Protokolle für die Videoübertragung (HTTP Live Streaming von Apple, HTTP Dynamic Streaming von Adobe und Smooth Streaming von Microsoft) zu einem gemeinsamen Standard zu entwickeln. Das macht Sinn. Diese drei Protokolle ähneln sich alle sehr in Bezug auf das, was sie zu erreichen versuchen: effiziente und sichere Bereitstellung von Inhalten für die Wiedergabe mit adaptiver Bitrate über ein HTTP-Netzwerk. Sie sind jedoch nicht miteinander kompatibel.

Heutzutage streben die meisten Verlage nach der Allgegenwärtigkeit von Inhalten und unterstützen eine Reihe von Geräten: Desktop, Mobilgeräte, Connected TVs, Spielkonsolen usw. Wenn Verlage das Streaming mit adaptiver Bitrate unterstützen wollen, müssen sie entweder mehrere Formate, Protokolle und Optionen für den Schutz von Inhalten unterstützen, um eine breitere Unterstützung auf allen Geräten und Plattformen zu gewährleisten, oder sie müssen ihre Geräte- und Plattformauswahl standardisieren und begrenzen.

Beides ist unattraktiv. Alle arbeiten ineffizient, angefangen bei der Erstellung von Inhalten (Kodierung für mehrere Formate und Sprachen, Verpackung für mehrere Inhaltsschutzsysteme), über doppelte Speicherung, mehrere Protokolle für die Bereitstellung von Inhalten, mehrere Abspielgeräte mit unterschiedlichen Fähigkeiten und uneinheitliche Werbeformate.

Das Ziel von MPEG-DASH ist es, den Video-Workflow zu rationalisieren, so dass Verlage ihren Video-Workflow effizient verwalten und auf jeder Plattform und jedem Gerät bereitstellen können.

Ist MPEG-DASH ein Allheilmittel?

MPEG-DASH legt die Einzelheiten der Implementierung nicht fest, sondern überlässt die folgenden Aufgaben und Entscheidungen der gesamten Branche.

  • End-to-End-DRM
  • Codecs
  • Dateiformate und Abwärtskompatibilität
  • Überlegungen zu Lizenzgebühren und Fragen im Zusammenhang mit aktuellem und künftigem geistigem Eigentum

Es besteht immer noch die Möglichkeit, dass die Technologie- und Workflow-Entscheidungen der Verlage bei einer überstürzten Migration von der begrenzten oder uneinheitlichen Unterstützung durch einzelne Anbieter im Ökosystem und der mangelnden Interoperabilität zwischen den Anbietern innerhalb des Ökosystems bestimmt werden. Die Verleger müssten dann alle Teile ihres Stacks - Inhaltsbereitstellung, Werbung, Analyse, Kodierung, DRM-Verpackung und Lizenzmanagement sowie Wiedergabe - zusammensetzen, um den End-to-End-Workflow wirklich zu lösen.

Die Fragmentierung, die wir beim HTML5-"Standard" gesehen haben, könnte sogar ein Hinweis darauf sein, was uns bei MPEG-DASH erwartet.

Was springt für Apple dabei heraus?

Es ist auch nicht klar, warum Apple MPEG-DASH fördern sollte, wenn man bedenkt, dass das Unternehmen enorme Anstrengungen für HLS unternommen und es zu einem De-facto-Standard erhoben hat. Viele Systeme und Unternehmen bauen auf diesem Protokoll auf. Meiner Meinung nach wird es schwierig sein, Apple davon zu überzeugen, den Vorteil, den es mit HLS hat, zu opfern und stattdessen auf die Standardisierung einer Alternative zu seinem Angebot zu drängen.

Die Geschichte wiederholt sich... oder doch nicht?

Bei der Beurteilung der Realisierbarkeit eines neuen Standards oder Prozesses ist es hilfreich, ihn durch eine historische, vergleichende Linse zu betrachten.

Denken Sie daran, wie Unternehmen früher Waren transportiert haben. Vor den 1950er Jahren gab es keine einfache und effiziente Möglichkeit, dies zu tun. Doch Mitte der 50er Jahre wurde das Konzept des intermodalen Güterverkehrs und der Container eingeführt. Durch die Möglichkeit, Waren per Schiff, Bahn oder Lkw in einem einheitlichen Format zu transportieren, wurde die moderne Lieferkette geboren. Die Einigung auf eine Standardisierung des Prozesses war der entscheidende erste Schritt. MPEG-DASH versucht, einen ähnlichen Wandel herbeizuführen, aber da die Details der Implementierung nicht berücksichtigt werden, besteht ein erhebliches Risiko, dass es zu einer Fragmentierung kommt.
Hier sind die Probleme, auf die wir stoßen könnten.

  • Wenn MPEG-DASH-Implementierungen nicht abwärtskompatibel sind, müssen sowohl MPEG-DASH als auch HLS unterstützt werden. Wenn HLS (oder sogar HDS und Smooth) einen Weg einschlägt, der die Abwärtskompatibilität ineffizient macht, sind die Herausgeber gezwungen, MPEG-DASH und HLS sowie Smooth Streaming und HDS zu berücksichtigen.
  • Wenn client-seitige Player (Desktop, Mobile, Connected TVS, Spielkonsolen) MPEG-DASH nicht umfassend unterstützen können, werden die Herausgeber weiterhin mit einer Fragmentierung der Player konfrontiert sein. Dies bedeutet, dass der gesamte Content-Workflow - von der Wiedergabe über die Bereitstellung und Verpackung bis hin zur Kodierung - eine Duplikation des MPEG-DASH-Workflows ist. Für viele Verlage sind die Kosten der Einführung die zusätzlichen Vorteile möglicherweise nicht wert.

Die Meinung von Brightcove

Die Unterstützung mehrerer Formate und zugehöriger Bereitstellungsprotokolle ist für unsere Verlage bereits eine komplexe Aufgabe. Wir werden unsere Fähigkeiten weiter verbessern, um die Reibung und den Aufwand für alle Schritte im Arbeitsablauf zu reduzieren: Aufnahme von Inhalten in mehreren Formaten, Transkodierung und Paketierung für mehrere Wiedergabeversionen und Formate, die für die plattformübergreifende Wiedergabe und plattformübergreifendes DRM benötigt werden, sowie Streaming mit adaptiver Bitrate für Desktop, mobiles Web, mobile Apps und Connected TVs.

Wir unterstützen zwar das Konzept der Standardisierung, sind aber noch nicht an einem Punkt, an dem wir zugunsten eines durchgängigen MPEG-DASH-Szenarios auf jede andere Unterstützung verzichten können. Da MPEG-DASH nicht die gesamte Breite und Tiefe des Video-Ökosystems berücksichtigt, könnte eine frühzeitige Einführung zu einer Abhängigkeit von Anbietern oder zu einem Stillstand führen, was für unsere Kunden nachteilig wäre.

Letztendlich hoffen wir, dass MPEG-DASH und die Anbieter innerhalb des Ökosystems ihre Fähigkeiten schnell verbessern, um den Verlagen mehr Flexibilität zu bieten, anstatt eine proprietäre Implementierung zu erzwingen, die zu einer Anbieterabhängigkeit oder zu einer unvollständigen Implementierung des Standards führt. In der Zwischenzeit krempeln wir die Ärmel hoch und arbeiten mit Hochdruck an unserer digitalen Rolle innerhalb des MPEG-DASH-Ökosystems.

VIDEO.JS 4.0 VERBESSERT LEISTUNG UND STABILITÄT

Video.js 4.0 wurde 2013 veröffentlicht und stand auf Github zum Download zur Verfügung. Zum Hintergrund: Video.js ist ein Open-Source-HTML5-Videoplayer, der vom Team von Zencoder entwickelt wurde, das 2012 von Brightcove übernommen wurde.

Video.js hat den Markt für Open-Source-Videoplayer-Technologie auf den Kopf gestellt und in nur wenigen Jahren eine enorme Akzeptanz und Marktanteile erreicht. Der kostenlose Video.js-Player wird von Zehntausenden von Unternehmen genutzt, darunter Montblanc, Dolce & Gabbana, Diesel, Illy, Applebee's, Mattel, Kellogg's, Les Echos, US Navy, Aetna, Transamerica, Washington State University und viele andere.

Version 4.0 wurde von der Community am stärksten unterstützt, was für die wachsende Stärke der JavaScript-Community, die wachsende Beliebtheit von HTML5-Video und die zunehmende Nutzung von Video.js spricht. Von 2012 bis 2013 hat sich die Zahl der Websites, die Video.js verwenden, mehr als verdoppelt, und jeden Monat gibt es mehr als 200 Millionen Zugriffe allein auf die im CDN gehostete Version.

Video.js 4.0 enthält viele neue Funktionen.

  • Verbesserte Leistung durch eine 18%ige Größenreduzierung mit Google Closure Compiler im erweiterten Modus
  • Höhere Stabilität durch eine automatisierte Cross-Browser/Geräte-Test-Suite mit TravisCI, Bunyip und Browserstack.
  • Neue Plugin-Schnittstelle und Plugin-Liste zur Erweiterung von Video.js
  • Neues Standard-Skin-Design mit Schriftart-Symbolen für mehr Anpassungsmöglichkeiten
  • Responsive Design und Unterstützung für Retina-Displays
  • Verbesserte Zugänglichkeit durch bessere ARIA-Unterstützung
  • Umstellung auf Apache 2.0 Lizenz
  • 100 % JavaScript-Entwicklungstoolsatz einschließlich Grunt

2013 wird ein aufregendes Jahr für Video.js, mit weiteren Verbesserungen der Leistung, der Stabilität auf mehreren Plattformen und der Anpassbarkeit durch Plugins und Skins. Mitglieder der Community haben bereits mit der Arbeit an Plugins für einige der am meisten nachgefragten Funktionen begonnen, wie Wiedergabelisten, Analysen und Werbung.

7 Video-SEO-Best-Practices, die den Traffic steigern

Möchten Sie Ihre Video-SEO verbessern und mehr Besucher auf Ihre Website leiten? Hier sind 7 schnelle Tipps, die helfen können.

1. Schreiben Sie den Titel und die Beschreibung Ihres Videos für Menschen

Google legt Wert darauf, "für Menschen zu schreiben", und missbilligt das Ausfüllen von Schlüsselwörtern im Titel und in der Beschreibung Ihres Videos. Vergewissern Sie sich, dass Sie Titel und Beschreibungen schreiben, die für Ihr Publikum ansprechend und relevant sind, und stopfen Sie keine Schlüsselwörter hinein.

2. Tags hinzufügen, wenn Sie eine Video-Site-Map haben

Das Hinzufügen von Tags zu Ihren Videos ist eine gute Möglichkeit, den Content innerhalb der Brightcove-Onlinevideoplattform zu organisieren, und kann die Suchmaschinenoptimierung unterstützen - allerdings nur, wenn Sie über eine Videositemap verfügen, die diese Tags für die Suchmaschinen sichtbar macht. Wenn Sie über die Entwicklungsressourcen für die Erstellung einer einfachen Video-Sitemap verfügen, lohnt sich die Investition auf jeden Fall.

3. Schema-Auszeichnung verwenden

Schema ist eine Sammlung von HTML-Tags, die Webmaster verwenden können, um ihre Seiten so zu kennzeichnen, dass sie von den großen Suchanbietern erkannt werden. Suchmaschinen stützen sich auf diese Schema-Tags, um die Anzeige ihrer Suchergebnisse zu verbessern und es den Nutzern zu erleichtern, die richtigen Webseiten zu finden. Wenn Sie das itemscope-Attribut verwenden, um Ihren Inhalt für die Suchmaschinen als Video zu kennzeichnen, wird dies Ihre SEO-Ergebnisse verbessern. Schema bietet eine Erklärung zur Verwendung des itemscope-Attributs und allgemeine Anweisungen zur Verwendung von HTML-Tags zur Identifizierung von Videos.

4. Wählen Sie qualitativ hochwertige Vorschaubilder

Die redaktionelle Qualität Ihres Thumbnails hat Vorrang vor der Bildqualität. Anders ausgedrückt: Wenn Sie überzeugende Miniaturansichten für Ihre Inhalte auswählen, können Sie die Zahl der Klicks erhöhen. Ein höheres Nutzerengagement wird sich auf Ihre SEO-Ergebnisse auswirken. Es ist auch erwähnenswert, dass ein Bild-Thumbnail immer bessere Traffic-Ergebnisse erzielt als ein generisches Videosymbol oder ein Textlink "Hier klicken für Video".

5. Top-Suchbegriffe einbeziehen, die Videoergebnisse liefern

Auch wenn Sie Ihre Videotitel und -beschreibungen nicht mit Schlüsselwörtern vollstopfen sollten, erhöhen bestimmte Wörter die Wahrscheinlichkeit, von den Suchmaschinen gefunden zu werden. Wörter wie "Video", "Show", "How to", "Review" und "About" sind allesamt Top-Begriffe, die die Wahrscheinlichkeit erhöhen, dass Ihr Inhalt ein Video-Thumbnail-Ergebnis liefert. Tun Sie nichts Unnatürliches, aber wenn Sie diese Wörter in Ihren Titel oder Ihre Beschreibung einbauen können (z. B. "Video tour of Aloft Brooklyn"), kann das einen Unterschied machen.

6. Optimieren Sie Ihre Website

Die beste Video-SEO ist wertlos, wenn Ihre Website nicht optimiert ist. Es ist immer eine gute Praxis, sicherzustellen, dass die SEO Ihrer Website optimiert ist, bevor Sie Ihre Videoeinstellungen optimieren.

7. Videos am Anfang der Seite platzieren

Wenn Sie ein Video haben, stellen Sie es an den Anfang der Seite. So können die Suchmaschinen erkennen, dass es sich um Videoinhalte handelt. Es ist erstaunlich, welche Ergebnisse Sie mit dieser kleinen Änderung erzielen können.

DYNAMISCHE MANIFESTE UND DIE FLEXIBILITÄT VON HLS-PLAYLISTS

Jahrelang gab es zwei grundlegende Modelle für das Internet-Streaming: serverbasierte, proprietäre Technologie wie RTMP oder progressiver Download. Das serverbasierte Streaming ermöglicht die Bereitstellung von Streams mit mehreren Bitraten, die bei Bedarf umgeschaltet werden können, erfordert aber die Lizenzierung teurer Software. Der progressive Download kann über Apache durchgeführt werden, aber der Wechsel der Bitrate erfordert ein Anhalten der Wiedergabe.

Das Aufkommen von HTTP-basierten Streaming-Protokollen wie HLS und Smooth Streaming bedeutete, dass die Streaming-Bereitstellung über Standard-HTTP-Verbindungen unter Verwendung von Standard-Servertechnologie wie Apache möglich war; nahtloses Umschalten der Bitrate wurde alltäglich und die Bereitstellung über CDNs war einfach, da es im Grunde dasselbe war wie die Bereitstellung jeder Datei über HTTP. HTTP-Streaming hat die Bereitstellung von Streaming-Medien geradezu revolutioniert und die Kosten und die Komplexität von qualitativ hochwertigem Streaming erheblich reduziert.

Bei der Entwicklung einer Videoplattform gibt es unzählige Dinge zu beachten. Eine der wichtigsten und oft übersehenen Entscheidungen ist jedoch, wie HTTP-basierte Manifestdateien behandelt werden sollen.

Statische Manifestdateien

Wenn Sie in der physischen Welt ein Video kaufen, sehen Sie sich die Verpackung an, nehmen die Schachtel, gehen zur Kasse, bezahlen, gehen nach Hause und legen das Video in Ihren Player ein.

Die meisten Videoplattformen sind recht ähnlich aufgebaut. Grundsätzlich wird eine Gruppe von Metadaten (die Box) mit einem abspielbaren Medienelement (dem Video) verknüpft. Die meisten Videoplattformen beginnen mit dem Konzept einer einzigen URL, die die Metadaten mit einem einzelnen mp4-Video verbindet. Wenn eine Videoplattform komplexer wird, können mehrere URLs mit den Metadaten verbunden sein, die mehrere Bitraten, Auflösungen oder vielleicht andere Medien mit dem Hauptelement wie Vorschauen oder Sonderfunktionen darstellen.

Komplizierter wird es, wenn man versucht, das physische Modell auf eine Online-Streaming-Welt auszudehnen, die HTTP-basierte Streaming-Protokolle wie HLS umfasst. HLS basiert auf vielen Fragmenten einer Videodatei, die durch eine Textdatei namens Manifest miteinander verbunden sind. Bei der Implementierung von HLS besteht die einfachste Methode darin, einfach eine URL hinzuzufügen, die auf das Manifest oder die m3u8-Datei verweist. Dies hat den Vorteil, dass es extrem einfach ist und im Grunde in das bestehende Modell passt.

Der Nachteil ist, dass HLS nicht wirklich mit einem statischen Medienelement vergleichbar ist. Ein MP4 beispielsweise ist einem Videotrack auf einer DVD sehr ähnlich; es handelt sich um ein einzelnes Video mit einer einzigen Auflösung und Bitrate. Das HLS-Manifest besteht höchstwahrscheinlich aus mehreren Bitraten, Auflösungen und Tausenden von fragmentierten Videostücken. HLS kann so viel mehr als ein MP4, warum sollte es also gleich behandelt werden?

HLS-Wiedergabelisten

Eine HLS-Wiedergabeliste enthält einige Metadaten, die grundlegende Elemente des Streams beschreiben, sowie eine geordnete Reihe von Links zu Fragmenten des Videos. Durch das Herunterladen der einzelnen Fragmente oder Segmente des Videos und deren Wiedergabe nacheinander kann sich der Nutzer scheinbar ein einziges, fortlaufendes Video ansehen.

  • EXTM3U
  • #EXT-X-PLAYLIST-TYPE:VOD
  • #EXT-X-TARGETDURATION:10
  • #EXTINF:10,
  • datei-0001.ts
  • #EXTINF:10,
  • datei-0002.ts
  • #EXTINF:10,
  • datei-0003.ts
  • #EXTINF:10,
  • datei-0003.ts
  • #EXT-X-ENDLIST

Oben sehen Sie eine einfache m3u8-Wiedergabeliste. Sie verweist auf vier Videosegmente. Um diese Daten programmatisch zu generieren, werden nur der Dateiname des ersten Elements, die Zieldauer der Segmente (in diesem Fall 10) und die Gesamtzahl der Segmente benötigt.

HLS-Manifeste

Ein HLS-Manifest ist eine ungeordnete Reihe von Links zu Wiedergabelisten. Es gibt zwei Gründe für das Vorhandensein mehrerer Wiedergabelisten: um verschiedene Bitraten bereitzustellen und um Sicherungswiedergabelisten zu erstellen. Hier ist eine typische Wiedergabeliste, bei der jede der .m3u8-Dateien ein relativer Link zu einer anderen HLS-Wiedergabeliste ist.

  • #EXTM3U
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2040000
  • datei-2040k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1540000
  • datei-1540k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1040000
  • datei-1040k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=640000
  • datei-640k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=440000
  • datei-440k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=240000
  • datei-240k.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000
  • file-64k.m3u8

Die Wiedergabelisten weisen unterschiedliche Bitraten und Auflösungen auf, um eine reibungslose Wiedergabe unabhängig von den Netzwerkbedingungen zu gewährleisten. Zur Erstellung eines Manifests werden lediglich die Bitraten der einzelnen Wiedergabelisten und ihre relativen Pfade benötigt.

Ausfüllen der Lücken

Es gibt viele weitere wichtige Informationen, die eine Online-Videoplattform für jedes kodierte Video-Asset erfassen sollte: Video-Codec, Audio-Codec, Container und Gesamtbitrate sind nur einige davon. Die für ein einzelnes Videoelement gespeicherten Daten sollten für den Betrachter aussagekräftig sein (Beschreibung, Bewertung, Besetzung), für die Plattform aussagekräftig (Dauer, Aufrufe, Engagement) und für Anwendungen aussagekräftig (Format, Auflösung, Bitrate). Anhand dieser Daten kann der Zuschauer entscheiden, was er sehen möchte, das System kann entscheiden, wie es programmiert werden soll, und die Anwendung kann entscheiden, wie die Wiedergabe erfolgen soll.

Durch die Erfassung der Daten, die für die programmatische Erstellung einer Wiedergabeliste, eines Manifests und der Codec-Informationen für jede Wiedergabeliste erforderlich sind, wird ein System möglich, bei dem Manifeste und Wiedergabelisten pro Anfrage erstellt werden.

Beispiel - Die erste Wiedergabeliste

Die HLS-Spezifikation legt fest, dass die Wiedergabeliste, die im Manifest an erster Stelle steht, auch als erste für die Wiedergabe ausgewählt wird. Im Beispiel des vorherigen Abschnitts war der erste Eintrag in der Liste auch der Titel mit der höchsten Qualität. Für Benutzer mit einer schnellen, stabilen Internetverbindung ist das in Ordnung, aber für Personen mit langsameren Verbindungen dauert es einige Zeit, bis die Wiedergabe beginnt.

Es wäre besser, festzustellen, ob das Gerät eine gute Internetverbindung zu haben scheint, und dann die Wiedergabeliste entsprechend anzupassen. Glücklicherweise ist das System mit der dynamischen Manifesterstellung genau dafür eingerichtet.

Für die Zwecke dieser Übung nehmen wir an, dass eine Anfrage für ein Manifest mit einer geordneten Anordnung von Bitraten gestellt wird. Zum Beispiel würde die Anfrage [2040,1540,1040,640,440,240,64] eine Wiedergabeliste zurückgeben, die mit der im vorherigen Abschnitt identisch ist. Unter iOS lässt sich feststellen, ob der Benutzer eine WiFi- oder eine Mobilfunkverbindung nutzt. Da zu jeder Wiedergabeliste Daten wie Bitrate, Auflösung und andere Parameter erfasst wurden, kann eine App auf intelligente Weise entscheiden, wie das Manifest angeordnet werden soll.

So kann zum Beispiel festgelegt werden, dass es am besten ist, mit 800-1200kbps zu beginnen, wenn der Benutzer eine WiFi-Verbindung hat, und mit 200-600kbps, wenn der Benutzer eine Mobilfunkverbindung hat. Bei einer WiFi-Verbindung würde die App ein Array anfordern, das etwa so aussieht: [1040,2040,1540,640,440,240,64]. Würde die App nur eine Mobilfunkverbindung erkennen, würde sie [440,2040,1540,1040,640,240,64] anfordern.

Beispiel - Das Legacy-Gerät

Unter Android ist die Videounterstützung eine Art Blackbox. Jahrelang unterstützte die offizielle Android-Dokumentation nur die Verwendung von 640×480 baseline h.264 mp4 Videos, obwohl bestimmte Modelle 1080p verarbeiten konnten. Im Falle von HLS ist die Unterstützung sogar noch fragmentierter und schwer zu verstehen.

Glücklicherweise wird Android von einer Handvoll bedeutender Geräte dominiert. Mit dynamischen Manifesten kann die App nicht nur die beste Wiedergabeliste für den Anfang auswählen, sondern auch Wiedergabelisten ausschließen, die als inkompatibel eingestuft werden.

Da unsere Medienelemente auch Daten wie Auflösung und Codec-Informationen erfassen, kann die Unterstützung gezielt auf bestimmte Geräte ausgerichtet werden. Eine App könnte beschließen, alle Wiedergabedaten zu senden: [2040,1540,1040,640,440,240,64]. Oder ein älteres Gerät, das nur bis zu 720p unterstützt, könnte die höchste Wiedergabeversion entfernen: [1540,1040,640,440,240,64]. Wenn es sich bei der App um ein Connected TV-Gerät handelt, könnte sie darüber hinaus die niedrigsten Qualitätswiedergaben entfernen: [2040,1540,1040,640].

Dynamisch oder statisch

Die Entscheidung für ein statisches Manifestmodell ist völlig in Ordnung. Es geht zwar etwas Flexibilität verloren, aber gegen Einfachheit ist nichts einzuwenden. Viele Anwendungsfälle, insbesondere in der Welt der nutzergenerierten Inhalte, erfordern nicht die Komplexität der dynamischen Generierung, aber die dynamische Manifestgenerierung öffnet viele Türen für diejenigen, die bereit sind, den Sprung zu wagen.

Die Art und Weise, wie Manifeste behandelt werden, hat einen erheblichen Einfluss auf die langfristige Flexibilität einer Videoplattform und sollte mit dem zuständigen Komprimierer besprochen werden.

HOCHLADEN UND KODIEREN VON VIDEOS MIT FILEPICKER

Wie man Videos hochlädt, ist eine der häufigsten Fragen, die wir von neuen Kunden erhalten. Für Entwickler ist die Implementierung von Datei-Uploads etwas, das sie wahrscheinlich schon ein paar Mal gemacht haben, aber es ist immer ein Problem.

Filepicker eingeben

Filepicker (jetzt Filestack) macht das Hochladen von Dateien einfach. Und zwar wirklich einfach. Sie sind auch nicht nur auf lokale Dateien beschränkt, sondern unterstützen eine breite Palette von Quellen, von Dropbox und Google bis hin zur Aufnahme eines Videos direkt von Ihrer Webcam. Das Beste daran ist, dass Sie all dies tun können, ohne das Frontend zu verlassen.

Bevor wir etwas anderes tun, müssen Sie sich für ein Filepicker-Konto anmelden. Erstellen Sie anschließend eine neue App in Ihrem Dashboard, falls noch keine vorhanden ist. Notieren Sie sich den API-Schlüssel, den Sie sehen, denn wir werden ihn später verwenden. Filepicker stellt netterweise einen S3-Bucket für den Anfang zur Verfügung, aber nehmen Sie sich eine Sekunde Zeit, um einen S3-Ziel-Bucket für Ihre Uploads einzurichten.

Beginnen wir auf derselben Seite mit einer einfachen HTML5-Vorlage. Wir werden jQuery verwenden, um die Dinge einfach zu machen, also werden wir das in unsere Boilerplate zusammen mit der Filepicker-Bibliothek aufnehmen.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Zencoder Dropzone</title>

    <!-- jQuery Include -->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <!-- Filepicker.io Include -->
    <script type="text/javascript" src="//api.filepicker.io/v1/filepicker.js"></script>
</head>

<body>
    <div id="content">
        <h1>Upload all the things!</h1>
    </div>
</body>
</html>

Jetzt können wir die Filepicker JavaScript-API verwenden, um unseren Nutzern die Möglichkeit zu geben, eine Datei auszuwählen und sie in unserem S3-Bucket zu speichern. Wir müssen dies auch mit einem Link im Textkörper verknüpfen, damit der Benutzer etwas zum Klicken hat. Fügen Sie diesen unterhalb des Filepicker-JavaScript-Includes hinzu. Fügen wir zunächst den Upload-Link hinzu. Da wir bereits ein großes, prominentes h1 Tag, fügen wir einfach den Link dazu hinzu.

<h1><a href="#" id="upload-link">Upload all the things!</a></h1>

Jetzt wollen wir diesen Link verwenden, um die filepicker.pickAndStore wenn Sie darauf klicken. Hier wird der API-Schlüssel verwendet, den Sie sich zuvor notiert haben. Platzieren Sie dieses Snippet unterhalb des Filepicker-JavaScript-Includes im Kopf der Seite.

<script type="text/javascript">
    $(function() {
      filepicker.setKey('The_Key_From_Your_Dashboard');

      $('a').click(function(e) {
        e.preventDefault(); // This keeps the normal link behavior from happening

        filepicker.pickAndStore({},{location: 's3'},function(fpfiles){
            console.log(JSON.stringify(fpfiles));
        });
      });
    });
</script>

Sie müssen eine Art Webserver verwenden, um den HTML-Code bereitzustellen, sonst können Sie die externen JavaScript-Dateien nicht laden. Sie können etwas wie http-server verwenden, aber es gibt auch eine einfache Node-Anwendung, die statische Dateien im GitHub-Repository bereitstellt.

Wählen Sie eine beliebige Datei (am besten eine relativ kleine) und laden Sie sie hoch. Momentan wird bei einem erfolgreichen Upload nur die fpfiles Objekt in die Konsole übertragen. Nachdem Sie also eine Datei hochgeladen haben, werfen Sie einen Blick auf die Konsole. Wenn alles nach Plan gelaufen ist, sollten Sie ein Objekt mit einigen Informationen über Ihre neu hochgeladene Datei haben.

Sie haben soeben eine Datei von Ihrem Computer mit insgesamt nur 27 Zeilen Code hochgeladen, einschließlich einfacher HTML-Auszeichnung. Dateien einfach nur hochzuladen und dort zu belassen, ist jedoch nicht sinnvoll. Also sollten wir es so gestalten, dass Nutzer Videos hochladen und kodieren können.

Hinzufügen von Zencoder

Zunächst müssen wir unseren Uploader so ändern, dass er nur Videodateien akzeptiert. Filepicker erlaubt es uns, nach Mimetyp einzuschränken, wenn Sie also wie ich sind, könnten Sie versucht sein, zu versuchen {mimetype: 'video/*'}. In Chrome funktioniert dies einwandfrei, aber Ihre Safari-Benutzer sehen eine viel kleinere Teilmenge von Dateien, die sie hochladen können. Bei Videos ist es viel zuverlässiger, sie über die Erweiterung einzuschränken, also lassen Sie uns diesen Weg gehen.

$('a').click(function(e) {
  e.preventDefault(); // This keeps the normal link behavior from happening
  var acceptedExtensions = ['3g2','3gp','3gp2','3gpp','3gpp2','aac','ac3','eac3','ec3','f4a','f4b','f4v','flv','highwinds','m4a','m4b','m4r','m4v','mkv','mov','mp3','mp4','oga','ogg','ogv','ogx','ts','webm','wma','wmv'];
  filepicker.pickAndStore({extensions: acceptedExtensions},{location: 's3'},function(fpfiles){
      console.log(JSON.stringify(fpfiles));
  });
});

Du kannst diese Menge an akzeptierten Dateien einschränken oder weitere hinzufügen, aber ich habe den einfachen Weg gewählt und einfach die Liste der gültigen Ausgabeformate aus der Zencoder-Formatdokumentation verwendet. Darunter sind auch einige Audiodateien, aber da Zencoder nur die Audiokodierung unterstützt, können wir sie drin lassen. Wenn Sie nun auf den Link klicken und Ihre lokalen Dateien durchsuchen, sollten Sie feststellen, dass Sie nur Dateien mit einer Erweiterung in der Liste auswählen können. Wenn Sie versuchen, eine inakzeptable Datei zu ziehen und abzulegen, erhalten Sie eine Fehlermeldung.

Da wir nun wissen, dass wir nur Dateien hochladen werden, die Zencoder unterstützt, müssen wir dafür sorgen, dass ein erfolgreicher Upload die Datei zur Kodierung an Zencoder sendet. Bevor wir das tun können, müssen wir unseren Zencoder-API-Schlüssel festlegen. Du kannst diesen einfach direkt unter deinem Filepicker-Schlüssel einfügen.

filepicker.setKey('The_Key_From_Your_Dashboard');
var zenKey = 'Zencoder_API_Key';

Jetzt werden wir jQuery's $.ajax um unsere API-Anfrage nach erfolgreichem Upload an Zencoder zu senden.

filepicker.pickAndStore({extensions: acceptedExtensions},{location: 's3'},function(fpfiles){
  // This is the simplest Zencoder API call you can make. This will output an h.264 mp4 with AAC audio and
  // save it to Zencoder's temporary storage on S3.
  var request = {
    "input": fpfiles[0].url
  }
  // Let's use $.ajax instead of $.post so we can specify custom headers.
  $.ajax({
      url: 'https://app.zencoder.com/api/v2/jobs',
      type: 'POST',
      data: JSON.stringify(request),
      headers: { "Zencoder-Api-Key": zenKey },
      dataType: 'json',
      success: function(data) {
        $('body').append('Job created! <a href="https://app.zencoder.com/jobs/'+ data.id +'">View Job</a>')
      },
      error: function(data) {
        console.log(data);
      }
  });
});

Aktualisieren Sie nun Ihre Seite und laden Sie ein Video hoch. Wenn alles nach Plan verlaufen ist, sollten Sie eine Erfolgsmeldung mit einem Link zu Ihrem neu erstellten Job sehen.

Nur 47 Zeilen Code später haben Sie eine Webseite, mit der Sie ein Video hochladen und zur Kodierung senden können.

Hinweise und Warnungen

Es ist eine schlechte Idee, deinen Zencoder-API-Schlüssel im Klartext innerhalb von JavaScript zu verwenden. Nur um das noch einmal zu wiederholen: Verwende ihn nicht in Code, auf den andere Personen möglicherweise zugreifen könnten. Nichts würde andere davon abhalten, deinen API-Schlüssel zu nehmen und alle Videos zu kodieren, die sie wollen.

Eine viel bessere Idee wäre es, Filepicker wie beschrieben zu verwenden, aber den Zencoder-API-Aufruf in deinem Backend durchzuführen, wo dein API-Schlüssel vor neugierigen Blicken sicher ist.

Einen Schritt weiter gehen

Drag and Drop ist wirklich cool, deshalb wollten wir eine ganze Seite erstellen, die Filepicker's makeDropPane. Die Nutzer müssen ihren API-Schlüssel eingeben, bevor sie etwas tun können, und er ist nicht im Code gespeichert, so dass die Demo sicher online gestellt werden kann.

Diese Version validiert den API-Schlüssel, enthält einen Verlauf Ihrer letzten Zencoder-Aufträge und ermöglicht Ihnen, die Anforderungsvorlage zu ändern. Alle diese Einstellungen werden im localStorage Ihres Browsers gespeichert, damit Sie bei einer Aktualisierung nicht alles verlieren.