DE112013001136T5 - Effiziente Abgrenzung und Verteilung von Media-Segmenten - Google Patents

Effiziente Abgrenzung und Verteilung von Media-Segmenten Download PDF

Info

Publication number
DE112013001136T5
DE112013001136T5 DE112013001136.0T DE112013001136T DE112013001136T5 DE 112013001136 T5 DE112013001136 T5 DE 112013001136T5 DE 112013001136 T DE112013001136 T DE 112013001136T DE 112013001136 T5 DE112013001136 T5 DE 112013001136T5
Authority
DE
Germany
Prior art keywords
media
server
media segment
fragment
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112013001136.0T
Other languages
English (en)
Inventor
Anders Odlund
Cedric Fernandes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MobiTv Inc
Original Assignee
MobiTv Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MobiTv Inc filed Critical MobiTv Inc
Publication of DE112013001136T5 publication Critical patent/DE112013001136T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Media, wie z. B. Media-Livestreams, können effizient abgegrenzt und auf eine Vielzahl von Geräten verteilt werden, wobei eine Anzahl unterschiedlicher Einrichtungen verwendet wird. Eine spezielle Media-Sequenz kann durch einen Gerätenutzer ermittelt werden, um es einem Content-Server oder Fragment-Server zu ermöglichen, ein Media-Segment zu erzeugen, das gemeinsam genutzt oder unter Verwendung von Einrichtungen, wie z. B. sozialen Netzwerken, verteilt werden kann. Ein Gerätenutzer kann Markierungsanzeiger, Zeitrahmen, Event-Trigger usw. verwenden, die einem Content-Server anzeigen, wo ein Media-Segment abgegrenzt werden kann. Ein Link zum Media-Segment kann zusammen mit zielorientierter oder inhaltsspezifischer Pre-Roll- und Post-Roll-Werbung einer Vielzahl weiterer Nutzer zur Verfügung gestellt werden.

Description

  • DATEN EINSCHLÄGIGER ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität zur US-Patentanmeldung Nr. 13/403,552 mit dem Titel ”EFFICIENT DELINEATION AND DISTRIBUTION OF MEDIA SEGMENTS”, eingereicht am 23. Februar 2012 (Aktenzeichen Nr. MOPIB090US), deren gesamte Offenbarung hier durch Bezugnahme in jeder Hinsicht einbezogen ist.
  • BEREICH DER TECHNIK
  • Die vorliegende Offenbarung betrifft die effiziente Abgrenzung und Verteilung von Media-Segmenten.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Medien können über eine Vielzahl von Netzwerken auf eine Anzahl unterschiedlicher Geräte verteilt werden. Ein Nutzer kann unter Verwendung verschiedener Einrichtungen das Anschauen und Mitnutzen wählen. In einigen Fällen kann ein Link zu einem Video, das ein Nutzer anschaut, auf andere Nutzer in einem sozialen Netzwerk verteilt werden. In anderen Fällen kann eine Videodatei über E-Mail verteilt oder in einem Forum übermittelt werden.
  • Die Einrichtungen zur gemeinsamen Nutzung von Media-Inhalt sind jedoch beschränkt. Folglich ist erwünscht, verbesserte Einrichtungen für die Abgrenzung und Verteilung von Media-Segmenten bereitzustellen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Offenbarung kann am besten durch Bezugnahme auf die nachfolgende Beschreibung verstanden werden, die in Verbindung mit den beigefügten Zeichnungen zu sehen ist, welche spezielle Ausführungsformen beschreiben.
  • 1 stellt ein Beispiel eines Media-Zustellungssystems dar.
  • 2 stellt ein weiteres Beispiel eines Media-Zustellungssystems dar.
  • 3 zeigt Beispiele von Codierungsstreams.
  • 4 zeigt ein Beispiel eines Austauschs, der mit einem Media-Zustellungssystem verwendet wird.
  • 5 zeigt eine Technik zum Erzeugen eines Media-Segments.
  • 6 zeigt eine Technik zur Auswahl einer Werbung für das Media-Segment.
  • 7 zeigt ein Beispiel eines Systems.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • Es wird nun ausführlich auf spezifische Beispiele der Erfindung einschließlich der besten Verfahren Bezug genommen, die von den Erfindern zum Ausführen der Erfindung in Betracht gezogen wurden. Beispiele für diese spezifischen Ausführungsformen sind in den beigefügten Zeichnungen dargestellt. Obwohl die Erfindung in Verbindung mit diesen spezifischen Ausführungsformen beschrieben wird, ist verständlich, dass nicht beabsichtigt ist, die Erfindung auf die beschriebenen Ausführungsformen zu beschränken. Im Gegenteil, es ist beabsichtigt, Alternativen, Abwandlungen und Äquivalente abzudecken, die in den Grundgedanken und Umfang der Erfindung einbezogen werden können, wie sie durch die beigefügten Ansprüche definiert sind.
  • Zum Beispiel werden die Techniken der vorliegenden Erfindung im Zusammenhang mit Fragmenten, speziellen Servern und Codierungs-Einrichtungen beschrieben. Es sollte jedoch zur Kenntnis genommen werden, dass sich die Techniken der vorliegenden Erfindung auf eine große Vielfalt unterschiedlicher Fragmente, Segmente, Server und Codierungs-Einrichtungen anwenden lassen. In der nachfolgenden Beschreibung werden viele spezifische Details festgelegt, um ein gründliches Verständnis der vorliegenden Erfindung zu erreichen. Spezielle Ausführungsbeispiele der vorliegenden Erfindung können ohne einige dieser spezifischen Details oder ganz ohne sie realisiert werden. In anderen Fällen wurden gut bekannte Verfahrensabläufe nicht im Einzelnen beschrieben, um die vorliegende Erfindung nicht unnötig zu verschleiern.
  • Der Klarheit wegen werden verschiedene Techniken und Einrichtungen der vorliegenden Erfindung manchmal in der Einzahlform beschrieben. Es sollte jedoch zur Kenntnis genommen werden, dass einige Ausführungsformen mehrere Schritte einer Technik oder mehrere Exemplifizierungen einer Einrichtung umfassen, wenn es nicht anders angemerkt ist. Zum Beispiel wird in einem System in einer Vielzahl von Zusammenhängen ein Prozessor eingesetzt. Es ist jedoch einzusehen, dass ein System mehrere Prozessoren verwenden kann, solange es im Umfang der vorliegenden Erfindung bleibt, wenn es nicht anders angegeben ist. Ferner beschreiben die Techniken und Einrichtungen der vorliegenden Erfindung manchmal eine Verbindung zwischen zwei Objekten. Es sollte zur Kenntnis genommen werden, dass eine Verbindung zwischen zwei Objekten nicht notwendigerweise eine direkte, ungehinderte Verbindung bedeutet, da sich zwischen den zwei Objekten eine Vielzahl anderer Objekte befinden kann. Ein Prozessor kann zum Beispiel an einen Speicher angeschlossen sein, es wird aber einzusehen sein, dass eine Vielzahl von Brücken und Controllern zwischen dem Prozessor und dem Speicher vorhanden sein kann. Folglich bedeutet eine Verbindung nicht notwendigerweise eine direkte, ungehinderte Verbindung, sofern es nicht anders angegeben ist.
  • Überblick
  • Media, wie z. B. Media-Livestreams, können effizient abgegrenzt und auf eine Vielzahl von Geräten verteilt werden, wobei eine Anzahl unterschiedlicher Einrichtungen verwendet wird. Eine spezielle Media-Sequenz kann durch einen Gerätenutzer ermittelt werden, um es einem Content-Server oder Fragment-Server zu ermöglichen, ein Media-Segment zu erzeugen, das gemeinsam genutzt oder unter Verwendung von Einrichtungen, wie z. B. sozialen Netzwerken, verteilt werden kann. Ein Gerätenutzer kann Markierungsanzeiger, Zeitrahmen, Event-Trigger usw. verwenden, die einem Content-Server anzeigen, wo ein Media-Segment abgegrenzt werden kann. Ein Link zum Media-Segment kann zusammen mit zielorientierter oder inhaltsspezifischer Pre-Roll- und Post-Roll-Werbung einer Vielzahl weiterer Nutzer zur Verfügung gestellt werden.
  • Ausführungsbeispiele
  • Einrichtungen zur gemeinsamen Nutzung von Medien sind begrenzt. In einigen Fällen kann ein Nutzer ein spezielles Video mitbenutzen, indem der Clip auf spezielle Sites heruntergeladen und/oder heraufgeladen wird. Es können Links verwendet werden, um den Nutzer auf spezielle Videos hinzuweisen. Media-Dateien können auf Seiten sozialer Netzwerke, Foren oder Blogs übermittelt werden. Es kann ein E-Mail verwendet werden, um noch weitere Dateien zu senden. Einrichtungen zur gemeinsamen Videonutzung können jedoch ineffizient sein.
  • Gemäß verschiedenen Ausführungsformen kann ein Nutzer autorisiert sein, einen Media-Stream zu empfangen. In speziellen Ausführungsformen kann der Nutzer autorisiert sein, den speziellen Media-Stream in speziellen Qualitätsstufen für spezielle Geräte zu empfangen. In vielen Fällen kann es einem Nutzer nicht erlaubt sein, einen Media-Stream einfach herunterzuladen oder auf einen lokalen Speicher zu kopieren. Ebenso kann es dem Nutzer aus Lizenzgründen nicht erlaubt sein, einfach auf den Media-Stream zur Verteilung zuzugreifen. In vielen Fällen können andere Personen nicht autorisiert sein, den Media-Stream anzuschauen, oder eine Zeitspanne, die für das Vorführen des Livestreams vorgesehen war, kann bereits abgelaufen sein. Trotzdem kann es erwünscht sein, einem Nutzer eine gewisse Fähigkeit zuzugestehen, an mindestens einem Teil des Media-Streams bei der gleichen oder einer anderen Qualität teilzuhaben. Zum Beispiel kann es erwünscht sein, dass es dem Nutzer ermöglicht wird, an einem einige Minuten dauernden kurzen Clip eines Videos Anteil zu haben. Der Nutzer kann wünschen, ihn auf der Seite eines sozialen Netzwerks gemeinsam zu verwenden oder auf einem Blog einen Link zu versenden.
  • Folglich ermöglichen die Techniken der vorliegenden Erfindung eine gemeinsame Nutzung von zeitlich abgegrenzten Videosegmenten. Ein Nutzer, der Medien, wie z. B. Media-Livestreams anschaut, kann die Start- und Endpunkte und/oder Clip-Laufzeiten, Markierungen oder Events für die gemeinsame Nutzung von Videosegmenten ermitteln. Ein Schnappschuss-Server, wie z. B. ein Content-Server oder ein Fragment-Server, nimmt das Videosegment auf und kann es in einer eigenständigen Datei speichern. In einigen Fällen fordert der Schnappschuss-Server den gleichen Kanal an, den der Nutzer vom Zeitpunkt t – n bis t + m abgespielt hat, wobei n und m vom Nutzer festgelegte Zeiten sind. Entsprechend verschiedenen Ausführungsformen nimmt der Schnappschuss-Server das Videosegment für ein Video-Livestream aus Kanal-Pufferspeichern oder einem Cache am Server auf. Die erzeugte Datei kann als eine Datei an sich oder als ein Link zur Datei hin übermittelt werden.
  • Gemäß verschiedenen Ausführungsformen wird eine Pre-Roll- und Post-Roll-Werbung für das Videosegment erzeugt. In speziellen Ausführungsformen wird die Pre-Roll- und Post-Roll-Werbung erzeugt basierend auf dem Inhalt des Videosegments, auf Kennzeichen, die mit dem Videosegment verbunden sind, oder auf Metadaten, wie z. B. abgeschlossenen Titelinformationen, die mit dem Videosegment verbunden sind. Videoclips können effizient gemeinsam genutzt werden, wobei soziale Medien, zu denen Blogs und Foren und soziale Netzwerke gehören, Verwendung finden. Der Nutzer muss sich nicht um das Aufzeichnen des Inhalts auf einem Gerät oder das Speichern des Inhalts kümmern.
  • In speziellen Ausführungsformen wird ein Videosegment vor irgendeiner Verteilung auf einem sozialen Netzwerk, Forum, Blog usw. mit Copyright-Informationen, einer Nutzerkennung und/oder einer Content-Provider-Kennung usw. als Sicherheitskennzeichen versehen. Ein Nutzer kann ein kurzes Videosegment von dem, was gerade angeschaut wurde oder was zurzeit angeschaut wird, sofort mitnutzen. In einigen Fällen können Videosegmente für eine einfache Mitnutzung gekennzeichnet werden. Der Nutzer kann ein Segment, das ein Gespräch, einen Vortrag, eine Autoverfolgungsjagd, eine Kampfszene usw. enthält, zur Mitnutzung wählen. Alternativ kann der Nutzer den Anfangs- und den Endpunkt auf Zeitbasis auswählen. In anderen Beispielen kann der Nutzer zuvor abgegrenzte Folgen auswählen, bei denen die gemeinsame Nutzung wahrscheinlich ist. Eine beliebige Markierung, Kennzeichnung oder Anzeigeelemente, die einem Schnappschuss-Server, wie z. B. einem Content-Server oder Fragment-Server, zum Ermitteln eines Media-Segments für die Abgrenzung bereitgestellt werden, werden hier als ein Segmentindikator bezeichnet.
  • Gemäß verschiedenen Ausführungsformen ist ein Schnappschuss-Server eine Netzwerk-Digitalvideorecorder-Komponente, die mit einem Content-Server verbunden ist, der diese Segmentindikatoren empfängt und individuelle Media-Dateien erzeugt, die zu diesen Segmentindikatoren gehören. Diese Media-Dateien können standardmäßige Media-Dateien sein, die auf einem beliebigen Gerät abspielbar sind. Die Dateien können unmittelbar durch die Nutzer gemeinsam genutzt werden, oder es können Links zu den Dateien für die gemeinsame Nutzung bereitgestellt werden.
  • Gemäß verschiedenen Ausführungsformen wird die Pre-Roll- und Post-Roll-Werbung für das Videosegment auf Basis von Segmentindikatoren, Metadaten und/oder Kennzeichen ausgewählt. In einigen Beispielen wird die zielorientierte Pre-Roll- und Post-Roll-Werbung ausgewählt auf Basis von Metadaten, wie z. B. Kommentaren oder abgeschlossenen Titelinformationen, die mit dem Videosegment verbunden sind. Gemäß verschiedenen Ausführungsformen kann das Segment unter Verwendung einer Nutzerkennung und/oder einer Content-Provider-Kennung mit einem Sicherheitskennzeichen versehen sein, um eine Überwachung der Verteilung zu ermöglichen.
  • Es wird eine Vielzahl von Einrichtungen verwendet, um Geräten Media-Streams zuzuführen. In speziellen Ausführungsformen erhält ein Server-Computer einen Anschluss für einen Media-Stream, richtet eine Sitzung ein und stellt einem Client-Gerät ein Media-Stream bereit. Der Media-Stream weist Pakete auf, die Frames, wie z. B. MPEG-4-Frames, kapseln. Die MPEG-4-Frames ihrerseits können Schlüssel-Frames oder Differential-Frames sein. Die spezifische Kapselungsmethodik, die von den Servern verwendet wird, hängt von der Art des Inhalts, dem Format dieses Inhalts, dem Format der Nutzdaten und den Anwendungs- und Übertragungsprotokollen ab, die zum Senden der Daten verwendet werden. Nach dem Empfang des Media-Streams durch das Client-Gerät entkapselt das Client-Gerät die Pakete, um die MPEG-Frames zu erhalten, und decodiert die MPEG-Frames, um die aktuellen Media-Daten zu erhalten.
  • Herkömmliche MPEG-4-Dateien verlangen, dass ein Abspielgerät den gesamten Dateikopf parst, bevor irgendwelche Daten decodiert werden können. Das Parsen des gesamten Dateikopfs kann insbesondere bei Geräten mit beschränkten Netzwerk- und Verarbeitungsressourcen eine beträchtliche Zeit in Anspruch nehmen. Folglich stellen die Techniken und Einrichtungen der vorliegenden Erfindung einen fragmentierten MPEG-4-Rahmen bereit, der eine Wiedergabe beim Empfang eines ersten MPEG-4-Dateifragments erlaubt. Ein zweites MPEG-4-Dateifragment kann unter Verwendung von Informationen, die in dem ersten MPEG-4-Dateifragment enthalten sind, angefordert werden. Gemäß verschiedenen Ausführungsformen kann das angeforderte zweite MPEG-4-Dateifragment ein Fragment sein, das zu einem Stream mit einer höheren oder niedrigeren Bitrate gehört als der Stream, der mit dem ersten Dateifragment verbunden ist.
  • MPEG-4 ist ein erweiterbares Containerformat, das keine festgelegte Struktur zur Beschreibung von Media-Typen aufweist. Stattdessen weist MPEG-4 eine Objekthierarchie auf, die es ermöglicht, dass für jedes Format zugeschnittene Strukturen festgelegt werden. Die Formatbeschreibung wird für jeden Stream in dem Abtastwertbeschreibungs('stsd')-Feld gespeichert. Das Abtastwertbeschreibungsfeld kann Informationen umfassen, die nicht bekannt zu sein brauchen, bis alle Daten codiert worden sind. Zum Beispiel kann das Abtastwertbeschreibungsfeld eine mittlere Bitrate enthalten, die vor der Codierung nicht bekannt ist.
  • Gemäß verschiedenen Ausführungsformen werden die MPEG-4-Dateien fragmentiert, sodass ein Livestream aufgezeichnet und nahezu in Echtzeit wiedergegeben werden kann. MPEG-4-Dateien können erzeugt werden, ohne dass man warten muss, bis der gesamte Inhalt geschrieben ist, um die Film-Kopfteile zu erstellen. Um eine MPEG-4-Fragmentierung ohne eine Außerband-Signalisierung zu ermöglichen, wird eine Feldstruktur bereitgestellt, um Synchronisationsinformationen, Dateiende-Informationen und Kapitelinformationen einzubeziehen. Gemäß verschiedenen Ausführungsformen werden die Synchronisationsinformationen verwendet, um Audio und Video zu synchronisieren, wenn die Wiedergabe einen Start in der Mitte eines Streams mit sich bringt. Die Dateiende-Informationen signalisieren, wann das aktuelle Programm oder die Datei zu Ende ist. Diese können Informationen enthalten, um das Streaming des nächsten Programms oder der nächsten Datei fortzusetzen. Kapitelinformationen können für Video-on-Demand-Inhalt verwendet werden, der in Kapitel aufgeteilt ist, die unter Umständen durch Werbeunterbrechungen separiert sind.
  • TOP wird in größerem Umfang verwendet als UDP, und die Netzwerkbetriebstechniken, einschließlich Schalt-, Belastungsausgleich- und Netzwerkkarten-Techniken, sind für TOP weiter entwickelt als für UDP. Folglich werden die Techniken und Einrichtungen für die Lieferung fragmentierter Live-Media über TOP bereitgestellt. Es werden auch Sequenz-Informationen bereitgehalten und/oder modifiziert, um einen unterbrechungsfreien Betrieb des Client-Gerätes zu ermöglichen. Zeitsteuerungs- und Sequenz-Informationen werden in einem Media-Stream bereitgehalten.
  • Anforderungen werden den Clients als separate Dateien freigelegt, und die Dateien sollten auf Abspielgeräten wiedergegeben werden, die mit fragmentiertem MPEG-4 umgehen können. Live- oder Near-Live-, Video-on-Demand(VOD)- sowie Digitalvideoaufzeichnungs(DVR)-Inhalte können alle unter Verwendung der Fragmentierung bearbeitet werden.
  • Gemäß verschiedenen Ausführungsformen wird die Wiedergabeunterbrechung an einem Content-Server oder Fragmentierungsserver ermittelt. In einigen Beispielen sendet ein Gerät eine Wiedergabe-Unterbrechungsanforderung. In anderen Beispielen erkennt ein Content-Server, dass eine Nachfolgefragment-Anforderung nicht erhalten worden ist. Der Content-Server hält Nutzerinformationen und Media-Stream-Positionsinformationen bereit. In einigen Beispielen hält der Content-Server auch Geräteinformationen und Qualitäts- oder Bitraten-Daten bereit. Wenn eine Anforderung eines Fragments oder eine Wiederaufnahmeanforderung von dem gleichen Gerät oder von einem anderen Gerät, das zu dem gleichen Nutzer gehört, empfangen wird, dann bestimmt der Content-Server die Bitrate und den Media-Stream zusammen mit dem geeigneten Fragment, um es an den Nutzer zu senden. Das Fragment kann zu Media-Daten gehören, die in der Vergangenheit als eine Live-Einspielung gesendet wurden und braucht nicht mehr live zu sein, aber der Nutzer ist in der Lage, das Anschauen des Media-Streams in einer unterbrechungsfreien Weise bei einer Auflösung, die für ein aktuelles Betrachtungsgerät geeignet ist, fortzusetzen.
  • Die Anforderung vom Gerät aus kann eine Bitrate und eine Auflösung enthalten, oder ein Content-Server kann eine geeignete Bitrate und Auflösung unter Verwendung von Geräteinformationen bestimmen. Eine Wiederaufnahmeanforderung kann zusammen mit einer gewünschten Bitrate auch von einem anderen Gerät empfangen werden, das einem Nutzer zugeordnet ist. Fragmente, die an einem Content-Server bereitgehalten werden, können verwendet werden, um auf Anforderungen von zahlreichen Nutzern an einer Vielzahl von Geräten zu antworten, die eine Wiedergabe von Media-Streams zu verschiedenen Zeitpunkten und mit unterschiedlichen Qualitätsstufen anfordern. Gemäß verschiedenen Ausführungsformen können Fragmente gleichzeitig in unterschiedlichen Qualitätsstufen bereitgehalten und effizient im Cache gespeichert werden, selbst wenn eine Vielzahl von nicht gleichartigen Anforderungen bezüglich der gleichen oder unterschiedlicher Media-Streams empfangen wird. Abgegrenzte Segmente können auch als Fragmente bei speziellen Qualitätsstufen oder als Media-Dateien in speziellen Qualitätsstufen bereitgehalten werden.
  • 1 ist eine Diagrammdarstellung, die ein Beispiel eines Fragmentierungssystems 101 zeigt, das mit einem Content-Server verbunden ist, der die Techniken und Einrichtungen der vorliegenden Erfindung verwenden kann. Codierer 105 nehmen Media-Daten von einem Satellit, Content-Bibliotheken und anderen Content-Quellen auf und senden RTP-Multicast-Daten an einen Fragment-Schreiber 109. Die Codierer 105 senden auch Session-Announcement-Protocol(SAP)-Ankündigungen an einen SAP-Listener 121. Gemäß verschiedenen Ausführungsformen erzeugt der Fragment-Schreiber 109 Fragmente für das Live-Streaming und schreibt Dateien zur Aufzeichnung auf eine Speicherplatte. Der Fragment-Schreiber 109 empfängt RTP-Multicast-Streams von den Codierern 105 und parst die Streams, um die Audio/Video-Daten als Teil fragmentierter MPEG-4-Dateien umzupacken. Wenn ein neues Programm beginnt, dann erzeugt der Fragment-Schreiber 109 eine neue MPEG-4-Datei auf einem Fragment-Speicher und fügt Fragmente hinzu. In speziellen Ausführungsformen unterstützt der Fragment-Schreiber 109 Live- und/oder DVR-Konfigurationen.
  • Der Fragment-Server 111 beliefert die Caching-Schicht mit Fragmenten für die Clients. Die Entwurfsphilosophie hinter der Client/Server-Schnittstelle zur Anwendungsprogrammierung (API) minimiert Umläufe und verringert die Komplexität so weit wie möglich, wenn es zur Lieferung der Media-Daten an den Client 115 kommt. Der Fragment-Server 111 stellt Livestreams und/oder DVR-Konfigurationen bereit.
  • Der Fragment-Controller 107 ist an die Anwendungsserver 103 angeschlossen und steuert die Fragmentierung der Kanal-Livestreams. Der Fragment-Controller 107 bezieht optional Leitdaten ein, um die Aufzeichnungen für einen Global/Netzwerk-DVR zu betreiben. In speziellen Ausführungsformen baut der Fragment-Controller 107 eine Logik rund um die Aufzeichnung ein, um die Fragment-Schreiber-Komponente 109 zu vereinfachen. Gemäß verschiedenen Ausführungsformen wird der Fragment-Controller 107 nun auf dem gleichen Host wie der Fragment-Schreiber 109 laufen. In speziellen Ausführungsformen realisiert der Fragment-Controller 107 Vorgänge des Fragment-Schreibers 109 und bewerkstelligt eine hohe Verfügbarkeit.
  • Gemäß verschiedenen Ausführungsformen verwendet der Client 115 eine Media-Komponente, die fragmentierte MPEG-4-Dateien anfordert, Trickdarstellungen ermöglicht und eine Bandbreitenanpassung bewerkstelligt. Der Client steht in Verbindung mit Anwendungsdiensten, die mit dem HTTP-Proxy 113 in Verbindung stehen, um Anleitungen zu erhalten und dem Nutzer den aufgezeichneten verfügbaren Inhalt zu übergeben.
  • 2 zeigt ein Beispiel eines Fragmentierungssystems 201, das für einen Video-on-Demand(VOD)-Inhalt verwendet werden kann. Ein Fragger 203 nimmt eine codierte Videoclip-Quelle auf. Der handelsübliche Codierer erzeugt jedoch keine Ausgabedatei mit Dateiköpfen mit minimalem objektorientiertem Rahmen (MOOF) und bettet stattdessen alle Content-Dateiköpfe in die Filmdatei (MOOV) ein. Der Fragger liest die Eingabedatei und erzeugt eine Ersatzausgabe, die mit MOOF-Dateiköpfen fragmentiert und mit zugeschnittenen Dateiköpfen erweitert wurde, welche das Erlebnis optimieren und als Hinweise für die Server wirken.
  • Der Fragment-Server 211 versorgt die Caching-Schicht mit Fragmenten für Clients. Die Entwurfsphilosophie hinter der Client/Server-API minimiert Umläufe und verringert die Komplexität so weit wie möglich, wenn es zur Lieferung der Media-Daten an den Client 215 kommt. Der Fragment-Server 211 stellt VoD-Inhalt bereit.
  • Gemäß verschiedenen Ausführungsformen verwendet der Client 215 eine Media-Komponente, die fragmentierte MPEG-4-Dateien anfordert, Trickdarstellungen ermöglicht und eine Bandbreitenanpassung bewerkstelligt. Der Client steht in Verbindung mit Anwendungsdiensten, die mit dem HTTP-Proxy 213 in Verbindung stehen, um Anleitungen zu erhalten und dem Nutzer den aufgezeichneten verfügbaren Inhalt zu übergeben.
  • 3 zeigt Beispiele von Dateien, die durch den Fragment-Schreiber gespeichert wurden. Gemäß verschiedenen Ausführungsformen ist der Fragment-Schreiber eine Komponente im Gesamt-Fragmentierer. Er ist ein Binärprogramm, das Kommandozeilenargumente verwendet, um ein spezielles Programm entweder auf Basis einer NTP-Zeit aus dem codierten Stream oder einer Ortszeit aufzuzeichnen. In speziellen Ausführungsformen ist dieses als Teil der Argumente konfigurierbar und hängt vom Eingabe-Stream ab. Wenn der Fragment-Schreiber die Aufzeichnung eines Programms abschließt, dann existiert es. Für Livestreams werden Programme künstlich erzeugt, sodass sie kurze Zeitintervalle mit einer Länge von z. B. 5–15 Minuten sind.
  • Gemäß verschiedenen Ausführungsformen sind die Kommandozeilenargumente des Fragment-Schreibers die SDP-Datei des aufzuzeichnenden Kanals, die Startzeit, Endzeit, der Name der aktuellen und der nächsten Ausgabedateien. Der Fragment-Schreiber hört den RTP-Verkehr von den Livevideo-Codierern ab und schreibt die Media-Daten als fragmentiertes MPEG-4 auf eine Speicherplatte um. Gemäß verschiedenen Ausführungsformen werden die Media-Daten als fragmentiertes MPEG-4 geschrieben, wie es in MPEG-4, Teil 12 (ISO/IEC 14496-12) definiert ist. Jede über Rundfunk übertragene Darbietung wird als eine separate Datei, die durch den Darbietungs-ID (aus einem EPG abgeleitet) gekennzeichnet ist, auf eine Speicherplatte geschrieben. Clients weisen die Darbietungs-ID als Teil des Kanalnamens auf, wenn angefordert wird, eine vorher aufgezeichnete Darbietung anzuschauen. Der Fragment-Schreiber braucht jede der verschiedenen Encodierungen auf und speichert sie als ein anderes MPEG-4-Fragment.
  • In speziellen Ausführungsformen schreibt der Fragment-Schreiber die RTP-Daten für eine spezielle Codierung und die Darbietungs-ID in eine einzige Datei. In dieser Datei gibt es Metadaten-Informationen, welche die gesamte Datei (MOOV-Blöcke) beschreiben. Atome werden als Gruppen von MOOF/MDAT-Paaren gespeichert, um zu ermöglichen, dass eine Darbietung als eine einzige Datei gespeichert wird. Am Ende der Datei gibt es Direktzugriffsinformationen, die verwendet werden können, um einen Client zu befähigen, eine Bandbreitenanpassung und eine Trickdarstellungsfunktionalität auszuführen.
  • Gemäß verschiedenen Ausführungsformen schließt der Fragment-Schreiber eine Option ein, bei der Fragmente verschlüsselt werden, um die Stream-Sicherheit während des Aufzeichnungsvorgangs zu gewährleisten. Der Fragment-Schreiber fordert einen Codierungsschlüssel vom Lizenzmanager an. Die Schlüssel werden ähnlich eingesetzt wie diejenigen, die für DRM hergestellt wurden. Wenn MOOF codiert wird, ist das Codierungsformat geringfügig anders. Die Verschlüsselung erfolgt einmal, sodass sie keine unerschwinglichen Kosten während der Lieferung an die Clients erzeugt.
  • Der Fragment-Server antwortet auf die HTTP-Anforderungen nach einem Inhalt. Gemäß verschiedenen Ausführungsformen stellt er APIs bereit, die von Clients genutzt werden können, um die notwendigen Dateiköpfe zu erhalten, die erforderlich sind zum Decodieren des Videos und zum Aufsuchen irgendeines gewünschten Zeitrahmens im Fragment und den APIs, um Kanäle live anzuschauen. Faktisch werden aus den zuletzt aufgezeichneten Fragmenten für die Darbietung auf diesem Kanal Live-Kanäle bedient. Der Fragment-Server gibt den Clients den Media-Dateikopf (erforderlich für die Initialisierung von Decodern), spezielle Fragmente und den Direktzugriffsblock zurück. Gemäß verschiedenen Ausführungsformen ermöglichen die unterstützten APIs eine Optimierung, wobei die Metadaten-Dateikopfinformationen dem Client zusammen mit dem ersten Fragment zurückgegeben werden. Der Fragment-Schreiber erzeugt Reihen von Fragmenten innerhalb der Datei. Fordert ein Client einen Stream an, dann erzeugt er Anforderungen für jedes dieser Fragmente, und der Fragment-Server liest den Teil der Datei, der zu diesem Fragment gehört und gibt ihn dem Client zurück.
  • Gemäß verschiedenen Ausführungsformen verwendet der Fragment-Server eine REST-API, die mit dem Cache verträglich ist, sodass die meisten Anforderungen, die an den Fragment-Server gestellt werden, im Cache gespeichert werden können. Der Fragment-Server verwendet Cache-Steuerungsdateiköpfe und ETag-Dateiköpfe, um den Caches die richtigen Hinweise bereitzustellen. Die API vermittelt auch die Fähigkeit, zu verstehen, wo ein spezieller Nutzer die Wiedergabe abgebrochen hat, und die Wiedergabe von diesem Punkt aus zu starten (zu ermöglichen, dass auf einem Gerät pausiert und auf einem anderen Gerät fortgesetzt wird).
  • In speziellen Ausführungsformen gehen die Client-Anforderungen von Fragmenten nach dem folgenden Format vor:
    http://{HOSTNAME}/frag/{CHANNEL}/{BITRATE}/[{ID}/]{COMMAND}[/{ARG}); zum Beispiel
    http://frag.hosttv.com/frag/1/H8QVGAH264/1270059632.mp4/fragment/42.
  • Gemäß verschiedenen Ausführungsformen wird der Kanalname der gleiche wie der nachgestellte Kanalname sein, der als der Kanalanteil der SDP-Datei verwendet wird. VOD verwendet einen Kanalnamen ”vod”. Die BITRATE sollte dem BITRATE/AUFLÖSUNG-Identifikatorschema folgen, das für RTP-Streams verwendet wird. Die ID wird dynamisch zugewiesen. Für Livestreams kann das der UNIX-Zeitstempel sein; für DVR wird das eine eindeutige ID für die Darbietung sein; für VOD wird das die Asset-ID sein. Die ID ist optional und nicht in den LIVE-Kommandoanforderungen enthalten. Das Kommando und das Argument werden verwendet, um das exakte gewünschte Kommando und beliebige Argumente anzuzeigen. Um zum Beispiel den Block 42 anzufordern, würde dieser Teil ”fragment/42” sein.
  • Das URL-Format macht die Anforderungen verträglich mit dem Content-Lieferungsnetzwerk (CDN), da sich die Fragmente niemals nach diesem Punkt verändern werden, sodass zwei getrennte Clients, die den gleichen Stream anschauen, unter Verwendung eines Caches bedient werden können. Insbesondere die Kopfendarchitektur unterstützt das wirksam, um zu vermeiden, dass zu viele dynamische Anforderungen am Fragment-Server eintreffen, indem ein HTTP-Proxy am Kopfende verwendet wird, um die Anforderungen im Cache zu speichern.
  • Gemäß verschiedenen Ausführungsformen ist der Fragment-Controller ein Daemon, der auf dem Fragmentierer läuft und die Fragment-Schreiber-Prozesse verwaltet. Ein konfiguriertes Filter, das durch den Fragment-Controller realisiert wird, kann verwendet werden, um die Liste von aufzuzeichnenden Übertragungen zu erzeugen. Dieses Filter ist zusammengefasst mit externen Komponenten, wie z. B. einem Anleitungsserver, um zu bestimmen, welche Darbietungen aufzuzeichnen und welche Übertragungs-ID zu verwenden ist.
  • Gemäß verschiedenen Ausführungsformen enthält der Client eine Anwendungslogik-Komponente und eine Media-Renderingkomponente. Die Anwendungslogik-Komponente liefert die Nutzerschnittstelle (UI) für den Nutzer, stellt die Verbindung zum Front-End-Server her, um Darbietungen zu bekommen, die für den Nutzer verfügbar sind, und authentifiziert den Inhalt. Als Teil dieses Prozesses gibt der Server URLs an Media-Assets zurück, die an die Media-Renderingkomponente weitergeleitet werden.
  • In speziellen Ausführungsformen stützt sich der Client auf den Fakt, dass jedes Fragment in der fragmentierten MP4-Datei eine Sequenz-Nummer aufweist. Unter Verwendung dieser Kenntnisse und einer wohldefinierten URL-Struktur für die Kommunikation mit dem Server fordert der Client Fragmente individuell wie bei einem Lesen separater Dateien aus dem Server an, indem einfach die URLs für die Dateien angefordert werden, die mit ansteigenden Sequenz-Nummern verbunden sind. In einigen Ausführungsformen kann der Client Dateien anfordern, die in Abhängigkeit von den Geräte- und Netzwerkressourcen Streams mit einer höheren oder niedrigeren Bitrate entsprechen.
  • Da jede Datei die Informationen enthält, die für die Erzeugung des URL für die nächste Datei benötigt werden, werden keine speziellen Playlist-Dateien benötigt, und alle Tätigkeiten (Einschalten, Kanalwechsel, Suchen) können mit einer einzigen HTTP-Anforderung ausgeführt werden. Nach dem Herunterladen eines jeden Fragments bewertet der Client unter anderem die Größe des Fragments und die Zeit, die zu seinem Herunterladen benötigt wird, um zu bestimmen, ob ein Drosseln erforderlich ist oder ob genug Bandbreite verfügbar ist, um eine höhere Bitrate anzufordern.
  • Da jede Anforderung an den Server wie eine Anforderung einer separaten Datei aussieht, kann die Antwort auf Anforderungen in einem Cache in irgendeinem HTTP-Proxy gespeichert werden, oder sie kann über irgendein HTTP auf Basis des Content-Lieferungsnetzwerks CDN verteilt werden.
  • 4 stellt eine Interaktion für einen Client dar, der einen Media-Stream, wie z. B. einen Livestream, empfängt. Der Client startet die Wiedergabe, wenn das Fragment 41 vom Server her umgesetzt wird. Der Client verwendet die Fragment-Nummer, sodass er das richtige nachfolgende Dateifragment anfordern kann. Eine Anwendung, wie z. B. eine Abspielgerät-Anwendung 407 sendet eine Anforderung an ein Mediakit 405. Die Anforderung kann eine Basisadresse und eine Bitrate enthalten. Das Mediakit 405 sendet eine HTTP-Get-Anforderung an die Caching-Schicht 403. Gemäß verschiedenen Ausführungsformen ist die Live-Antwort nicht im Cache, und die Caching-Schicht 403 leitet die HTTP-Get-Anforderung an einen Fragment-Server 401 weiter. Der Fragment-Server 401 führt eine Verarbeitung aus und sendet das geeignete Fragment an die Caching-Schicht 403, welche die Daten an das Mediakit 405 weiterleitet.
  • Das Fragment kann für einen kurzen Zeitabschnitt an einer Caching-Schicht 403 in einem Cache gespeichert werden. Das Mediakit 405 ermittelt die Fragment-Nummer und bestimmt, ob die Ressourcen zum Abspielen des Fragments ausreichen. In einigen Beispielen sind die Ressourcen, wie z. B. die Verarbeitungs- oder Bandbreite-Ressourcen, unzureichend. Es kann sein, dass das Fragment nicht schnell genug empfangen wurde, oder das Gerät kann Probleme damit haben, das Fragment mit einer ausreichenden Geschwindigkeit zu decodieren. Folglich kann das Mediakit 405 ein nächstes Fragment anfordern, das eine andere Datenrate aufweist. In einigen Beispielen kann das Mediakit 405 ein nächstes Fragment anfordern, das eine höhere Datenrate aufweist. Gemäß verschiedenen Ausführungsformen hält der Fragment-Server 401 Fragmente für Streams unterschiedlicher Dienstqualität mit Zeitablauf-Synchronisationsinformation vor, um eine im Zeitablauf genaue Wiedergabe zu ermöglichen.
  • Das Mediakit 405 fordert ein nächstes Fragment unter Verwendung von Informationen aus dem empfangenen Fragment an. Gemäß verschiedenen Ausführungsformen kann das nächste Fragment für den Media-Stream auf einem anderen Server bereitgehalten werden, kann eine unterschiedliche Bitrate aufweisen oder kann eine unterschiedliche Autorisierung verlangen. Die Caching-Schicht 403 legt fest, dass das nächste Fragment nicht im Cache ist und leitet die Anforderung an den Fragment-Server 401 weiter. Der Fragment-Server 401 sendet das Fragment an die Caching-Schicht 403, und das Fragment wird für einen kurzen Zeitabschnitt im Cache gespeichert. Das Fragment wird dann an das Mediakit 405 gesendet.
  • 5 stellt ein spezielles Beispiel einer Technik zur Erzeugung eines Media-Segments dar. Gemäß verschiedenen Ausführungsformen wird in 501 ein Media-Stream durch ein Gerät angefordert. Der Media-Stream kann ein Livestream, ein Media-Clip, einen Media-Datei usw. sein. Die Anforderung des Media-Streams kann eine HTTP-GET-Anforderung mit einem BaseURL, einer Bitrate und einem Dateinamen sein. In 503 wird das Media-Segment ermittelt. Gemäß verschiedenen Ausführungsformen kann das Media-Segment ein Ausschnitt von 35 Sekunden aus einem eine Stunde langen Media-Livestream sein. Das Media-Segment kann unter Verwendung von Zeitanzeigern, wie z. B. einem Startzeit- und einem Endzeitpunktanzeiger, ermittelt werden. Alternativ können bestimmte Sequenzen Kennzeichnungen aufweisen, wie z. B. Kampfszene, Auto-Verfolgungsjagd, Liebesszene, Monolog usw., die der Nutzer wählen kann, um ein Media-Segment zu bestimmen. In noch weiteren Beispielen kann der Media-Stream Markierungen aufweisen, die der Nutzer wählen kann. In 505 empfängt ein Server einen Media-Segmentindikator, wie z. B. einen oder mehrere Zeitanzeiger, Kennzeichnungen oder Markierungen. In speziellen Ausführungsformen ist der Server ein Schnappschuss-Server, Content-Server und/oder Fragment-Server. Gemäß verschiedenen Ausführungsformen grenzt der Server in 507 das Media-Segment, das im Cache bereitgehalten wird, unter Verwendung des Segmentindikators ab. Der Media-Stream kann nur in einem Kanal-Pufferspeicher verfügbar sein. In 509 erzeugt der Server eine Media-Datei unter Verwendung des Media-Segments, das im Cache bereitgehalten wird. Die Media-Datei kann dann in 511 von einem Nutzer des Gerätes mitgenutzt werden. In einigen Beispielen wird die Media-Datei selbst mitgenutzt, während in anderen Beispielen ein Link zu der Media-Datei mitgenutzt wird.
  • 6 zeigt ein spezielles Beispiel einer Technik zur Auswahl einer Werbung für ein Media-Segment. Gemäß verschiedenen Ausführungsformen wird in 601 ein Media-Segment bestimmt. In speziellen Ausführungsformen werden in 603 Metadaten bestimmt, die mit dem Media-Segment verbunden sind. Die Metadaten können abgeschlossene Titelinformationen, Kommentar-Informationen, Kennzeichnungen usw. enthalten. Gemäß verschiedenen Ausführungsformen werden die Titelinformationen in 605 analysiert, um eine Werbung auszuwählen, die mit den Titelinformationen verknüpft ist. In 607 können Kommentar-Informationen, die von einem Nutzer oder anderen Nutzern bereitgestellt wurden, analysiert werden, um eine zielorientierte Werbung auszuwählen. In 609 können auch Kennzeichnungen, die von einem Content-Provider eingefügt wurden, oder Markierungen, die bestimmte Sequenzen oder Typen von Medien kennzeichnen, zur Auswahl von Werbung verwendet werden. In speziellen Ausführungsformen können in 611 Nutzerprofil-Informationen oder Präferenz-Informationen mit Metadaten kombiniert werden, um Werbung auszuwählen. In 613 wird eine Pre-Roll- und/oder Post-Roll-Werbung in eine erzeugte Media-Datei aufgenommen.
  • 7 stellt ein Beispiel eines Servers dar. Gemäß speziellen Ausführungsformen enthält ein System 700, das zum Implementieren spezieller Ausführungsformen der vorliegenden Erfindung geeignet ist, einen Prozessor 701, einen Speicher 703, eine Schnittstelle 711 und einen Bus 715 (z. B. einen PCI-Bus oder ein anderes Anschlussgebilde) und arbeitet als ein Streaming-Server. Wenn er gesteuert durch eine geeignete Software oder Firmware arbeitet, dann ist der Prozessor 701 für die Modifizierung und Übertragung von Live-Mediadaten an einen Client verantwortlich. Anstelle eines Prozessors 701 oder zusätzlich zum Prozessor 701 können auch verschiedenartige speziell eingerichtete Geräte verwendet werden. Die Schnittstelle 711 ist üblicherweise eingerichtet, Datenpakete oder Datensegmente über ein Netzwerk zu senden und zu empfangen.
  • Spezielle Beispiele von unterstützten Schnittstellen schließen Ethernet-Schnittstellen, Frame-Relay-Schnittstellen Kabel-Schnittstellen, DSL-Schnittstellen, Token-Ring-Schnittstellen und dergleichen ein. Zusätzlich können verschiedenartige Hochgeschwindigkeitsschnittstellen vorgesehen sein, wie z. B. schnelle Ethernet-Schnittstellen, Gigabit-Ethernet-Schnittstellen, ATM-Schnittstellen, HSSI-Schnittstellen, POS-Schnittstellen, FDDI-Schnittstellen und dergleichen. Im Allgemeinen können diese Schnittstellen Anschlüsse enthalten, die für die Kommunikation mit den entsprechenden Media geeignet sind. In einigen Fällen können sie auch einen unabhängigen Prozessor und in einigen Fällen einen nichtpermanenten RAM aufweisen. Die unabhängigen Prozessoren können kommunikationsintensive Aufgaben steuern, wie z. B. Paket-Schalten, Media-Steuerung und -Management.
  • Gemäß verschiedenen Ausführungsformen ist das System 700 ein Fragment-Server, der auch einen Sende-Empfänger, Streaming-Pufferspeicher und eine Programmführer-Datenbank aufweist. Der Fragment-Server kann auch mit einer Abonnementverwaltung, Protokollierung und Berichterzeugung sowie mit Überwachungsressourcen verbunden sein. In speziellen Ausführungsformen kann der Fragment-Server mit einer Funktionalität zum Ermöglichen eines Betriebs mit Mobilgeräten, wie z. B. Mobiltelefonen, verbunden sein, die in einem speziellen zellularen Netzwerk arbeiten und Abonnementverwaltungsfähigkeiten bereitstellen. Gemäß verschiedenen Ausführungsformen verifiziert ein Authentifizierungsmodul die Identität von Geräten, wobei Mobilgeräte eingeschlossen sind. Ein Protokollierungs- und Berichterzeugungsmodul verfolgt die Mobilgerätanforderungen und die dazugehörigen Antworten. Ein Überwachungssystem ermöglicht einem Administrator, den Nutzungsverlauf und die Systemverfügbarkeit zu betrachten. Gemäß verschiedenen Ausführungsformen behandelt der Fragment-Server 791 Anforderungen und Antworten mit Hinblick auf Transaktionen, die Media-Inhalt betreffen, während ein separater Streaming-Server die aktuellen Media-Streams bereitstellt.
  • Obwohl ein spezieller Fragment-Server beschrieben wurde, sollte verständlich sein, dass eine Vielzahl alternativer Konfigurationen möglich ist. Zum Beispiel kann es sein, dass einige Module, wie z. B. ein Berichts- und Protokollierungsmodul und ein Überwachungsgerät, nicht auf jedem Server benötigt werden. Alternativ können die Module auf einem anderen Gerät ausgeführt sein, das mit dem Server verbunden ist. In einem weiteren Beispiel muss der Server keine Schnittstelle zu einer Kurzdarstellungs-Beschaffungsfunktionseinheit aufweisen und kann die Kurzdarstellungs-Beschaffungsfunktionseinheit sogar selbst enthalten. Eine Vielzahl von Konfigurationen ist möglich.
  • In der vorangehenden Beschreibung wurde die Erfindung mit Bezugnahme auf spezifische Ausführungsformen beschrieben. Eine Fachperson wird jedoch anerkennen, dass verschiedene Abwandlungen und Änderungen ausgeführt werden können, ohne vom Umfang der Erfindung abzuweichen, wie er in den nachstehenden Ansprüchen festgelegt ist. Dementsprechend sind die Beschreibung und die Figuren eher in einem veranschaulichenden als einem einschränkenden Sinn zu verstehen, und es ist beabsichtigt, dass alle derartigen Abwandlungen im Umfang der Erfindung enthalten sind.

Claims (20)

  1. Verfahren, umfassend: Empfangen einer Anforderung eines Media-Streams von einem Gerät aus, wobei die Anforderung an einem Server empfangen wird; Übertragen des Media-Streams an das Gerät; Empfangen eines Media-Segmentindikators vom Gerät aus, wobei der Media-Segmentindikator ein Media-Segment kennzeichnet, das im Media-Stream enthalten ist, wobei das Media-Segment von der Länge her kürzer ist als der Media-Stream; und Erzeugen einer Media-Segmentdatei am Server durch Abgrenzen des Media-Segments aus einem Teil des Media-Streams, der im Cache am Server bereitgehalten wird, wobei die Media-Segmentdatei von einem Nutzer des Gerätes über ein Netzwerk mitgenutzt wird.
  2. Verfahren nach Anspruch 1, wobei für die Media-Segmentdatei eine Pre-Roll-Werbung ausgewählt wird.
  3. Verfahren nach Anspruch 2, wobei die Pre-Roll-Werbung unter Verwendung von Megadaten ausgewählt wird, die zu dem Media-Segment gehören.
  4. Verfahren nach Anspruch 3, wobei die Megadaten abgeschlossene Titelinformationen umfassen.
  5. Verfahren nach Anspruch 1, wobei für die Media-Segmentdatei eine Post-Roll-Werbung ausgewählt wird.
  6. Verfahren nach Anspruch 5, wobei die Post-Roll-Werbung unter Verwendung von Megadaten ausgewählt wird, die zu dem Media-Segment gehören.
  7. Verfahren nach Anspruch 6, wobei die Megadaten abgeschlossene Titelinformationen umfassen.
  8. Verfahren nach Anspruch 1, wobei der Segmentindikator eine Kennzeichnung oder Markierung aufweist.
  9. Verfahren nach Anspruch 1, wobei der Segmentindikator einen Startzeitanzeiger aufweist.
  10. Verfahren nach Anspruch 1, wobei der Segmentindikator einen Endzeitpunktanzeiger aufweist.
  11. Verfahren nach Anspruch 1, wobei der Server ein Schnappschuss-Server ist.
  12. Verfahren nach Anspruch 1, wobei der Server ein Fragment-Server ist.
  13. Verfahren nach Anspruch 1, wobei der Media-Stream unter Verwendung von Gerätekenngrößen und der Abonnementebene ausgewählt wird.
  14. System mit: einer Schnittstelle, die betreibbar ist, eine Anforderung eines Media-Streams von einem Gerät aus zu empfangen und den Media-Stream an das Gerät zu senden, wobei die Schnittstelle ferner betreibbar ist, ein Media-Segmentindikator von dem Gerät zu empfangen, wobei der Media-Segmentindikator ein Media-Segment kennzeichnet, das im Media-Stream enthalten ist, wobei das Media-Segment von der Länge her kürzer ist als der Media-Stream; und einem Prozessor, der betreibbar ist, eine Media-Segmentdatei an einem Server durch Abgrenzen des Media-Segments aus einem Teil des Media-Streams zu erzeugen, der im Cache am Server bereitgehalten wird, wobei die Media-Segmentdatei von einem Nutzer des Gerätes über ein Netzwerk mitgenutzt wird.
  15. Verfahren nach Anspruch 14, wobei für die Media-Segmentdatei eine Pre-Roll-Werbung ausgewählt wird.
  16. Verfahren nach Anspruch 15, wobei die Pre-Roll-Werbung unter Verwendung von Megadaten ausgewählt wird, die zu dem Media-Segment gehören.
  17. Verfahren nach Anspruch 16, wobei die Megadaten abgeschlossene Titelinformationen umfassen.
  18. Verfahren nach Anspruch 14, wobei für die Media-Segmentdatei eine Post-Roll-Werbung ausgewählt wird.
  19. Verfahren nach Anspruch 18, wobei die Post-Roll-Werbung unter Verwendung von Megadaten ausgewählt wird, die zu dem Media-Segment gehören.
  20. Computerlesbares Medium mit einem Computer-Code zum Empfangen einer Anforderung eines Media-Streams von einem Geräht aus, wobei die Anforderung an einem Server empfangen wird; Computer-Code zum Übertragen des Media-Streams an das Gerät; Computer-Code zum Empfangen eines Media-Segmentindikators vom Gerät aus, wobei der Media-Segmentindikator ein Media-Segment kennzeichnet, das im Media-Stream enthalten ist, wobei das Media-Segment von der Länge her kürzer ist als der Media-Stream; und Computer-Code zum Erzeugen einer Media-Segmentdatei am Server, wobei die Media-Segmentdatei von einem Nutzer des Gerätes über ein Netzwerk mitgenutzt wird.
DE112013001136.0T 2012-02-23 2013-02-19 Effiziente Abgrenzung und Verteilung von Media-Segmenten Withdrawn DE112013001136T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/403,552 US9462302B2 (en) 2012-02-23 2012-02-23 Efficient delineation and distribution of media segments
US13/403,552 2012-02-23
PCT/US2013/026638 WO2013126320A2 (en) 2012-02-23 2013-02-19 Efficient delineation and distribution of media segments

Publications (1)

Publication Number Publication Date
DE112013001136T5 true DE112013001136T5 (de) 2014-11-06

Family

ID=49004500

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013001136.0T Withdrawn DE112013001136T5 (de) 2012-02-23 2013-02-19 Effiziente Abgrenzung und Verteilung von Media-Segmenten

Country Status (4)

Country Link
US (1) US9462302B2 (de)
DE (1) DE112013001136T5 (de)
GB (1) GB2518527A (de)
WO (1) WO2013126320A2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462302B2 (en) 2012-02-23 2016-10-04 Mobitv, Inc. Efficient delineation and distribution of media segments
US20130346867A1 (en) * 2012-06-25 2013-12-26 United Video Properties, Inc. Systems and methods for automatically generating a media asset segment based on verbal input
US20140156787A1 (en) * 2012-12-05 2014-06-05 Yahoo! Inc. Virtual wall for writings associated with landmarks
US9203813B2 (en) * 2013-03-15 2015-12-01 Panasonic Intellectual Property Management Co., Ltd. Content distribution method, content distribution system, source device, and sink device
US10623821B2 (en) * 2013-09-10 2020-04-14 Tivo Solutions Inc. Method and apparatus for creating and sharing customized multimedia segments
IL231685A (en) * 2014-03-24 2015-09-24 Giraffic Technologies Ltd A system and method for predicting memory reduction and network design
US10257588B2 (en) * 2015-03-16 2019-04-09 Viacom International Inc. Systems and methods for inserting breakpoints and reference links into a media file
US9392324B1 (en) 2015-03-30 2016-07-12 Rovi Guides, Inc. Systems and methods for identifying and storing a portion of a media asset
US11039181B1 (en) 2016-05-09 2021-06-15 Google Llc Method and apparatus for secure video manifest/playlist generation and playback
US11069378B1 (en) 2016-05-10 2021-07-20 Google Llc Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
US10771824B1 (en) 2016-05-10 2020-09-08 Google Llc System for managing video playback using a server generated manifest/playlist
US10595054B2 (en) 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US10785508B2 (en) 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US11032588B2 (en) 2016-05-16 2021-06-08 Google Llc Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US10666690B2 (en) * 2016-07-27 2020-05-26 Visa International Service Association Resource-related content distribution hub
US10469883B2 (en) 2017-09-13 2019-11-05 Amazon Technologies, Inc. Distributed multi-datacenter video packaging system
KR20240033297A (ko) * 2018-09-17 2024-03-12 구글 엘엘씨 매니페스트리스 스트리밍 미디어 콘텐츠를 전달하기 위한 방법들, 시스템들, 및 매체들
CN110278465B (zh) * 2019-06-21 2021-06-18 湖南快乐阳光互动娱乐传媒有限公司 一种视频cdn分布式http全链路数据收集与分析方法及***

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553178B2 (en) * 1992-02-07 2003-04-22 Max Abecassis Advertisement subsidized video-on-demand system
US20010033296A1 (en) * 2000-01-21 2001-10-25 Fullerton Nathan W. Method and apparatus for delivery and presentation of data
WO2001082609A1 (fr) * 2000-04-21 2001-11-01 Sony Corporation Appareil et procede d'enregistrement, appareil et procede de reproduction, support enregistre et programme
US8239445B1 (en) * 2000-04-25 2012-08-07 International Business Machines Corporation URL-based sticky routing tokens using a server-side cookie jar
US6950623B2 (en) * 2000-09-19 2005-09-27 Loudeye Corporation Methods and systems for dynamically serving in-stream advertisements
US8346605B2 (en) * 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
US7614064B2 (en) * 2004-08-23 2009-11-03 Microsoft Corporation Determining program boundaries through viewing behavior
US8661464B2 (en) 2007-06-27 2014-02-25 Google Inc. Targeting in-video advertising
US8424036B2 (en) * 2007-10-05 2013-04-16 Alcatel Lucent Targeted/addressable advertisement insertion into video streams delivered to users
JP5547649B2 (ja) * 2007-11-28 2014-07-16 ソニック アイピー, インコーポレイテッド 部分的に利用可能なマルチメディアコンテンツの再生のためのシステム及び方法
US8055688B2 (en) * 2007-12-07 2011-11-08 Patrick Giblin Method and system for meta-tagging media content and distribution
US8117283B2 (en) * 2008-02-04 2012-02-14 Echostar Technologies L.L.C. Providing remote access to segments of a transmitted program
US8631436B2 (en) 2009-11-25 2014-01-14 Nokia Corporation Method and apparatus for presenting media segments
CA2821790A1 (en) * 2010-12-22 2012-06-28 Ando Media Llc Real-time media stream insertion method and apparatus
US20130290845A1 (en) * 2010-12-22 2013-10-31 Thomson Licensing Method and system for sending video edit information
US9049494B2 (en) * 2011-01-31 2015-06-02 Cbs Interactive, Inc. Media playback control
US9137551B2 (en) * 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
US9462302B2 (en) 2012-02-23 2016-10-04 Mobitv, Inc. Efficient delineation and distribution of media segments

Also Published As

Publication number Publication date
GB2518527A (en) 2015-03-25
US20130227074A1 (en) 2013-08-29
US9462302B2 (en) 2016-10-04
GB201415930D0 (en) 2014-10-22
WO2013126320A3 (en) 2015-06-18
WO2013126320A2 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
DE112013001136T5 (de) Effiziente Abgrenzung und Verteilung von Media-Segmenten
DE112011103333T5 (de) Medienkonvergenzplattform
DE112012001770T5 (de) Auf Echtzeitverarbeitungsfähigkeit basierende Qualitätsanpassung
DE112011101911T5 (de) Fragmentierte Dateistruktur für die Ausgabe von Live-Medien-Streams
US10958865B2 (en) Data segment service
US9787747B2 (en) Optimizing video clarity
US8818021B2 (en) Watermarking of digital video
DE112012002159T5 (de) Kontextsensitive Client-Pufferschwellenwerte
DE112011102879T5 (de) Medienrechteverwaltung auf mehreren Geräten
DE112011101908T5 (de) Qualitätseinstellung unter Verwendung eines fragmentierten Medienstroms
DE112011102878T5 (de) Nutzer- und Vorrichtungsauthentifizierung für Mediendienstleistungen
US9203816B2 (en) Controlling access to copies of media content by a client device
DE112013002247T5 (de) Kombinierte Broadcast- und Unicast-Übermittlung
DE112009000898T5 (de) Dynamische Ersetzung von Werbeströmen
US9819972B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
DE112011101004T5 (de) Medienkonvergenzplattform
US9942578B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
DE112013000995T5 (de) Skalierbare Wasserzeicheneinfügung für fragmentierte Medienstrom-Bereitstellung
KR102247976B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
DE112012004994T5 (de) Verbesserte Bildergruppen-(GOP)-Ausrichtung in Medienstromvarianten
KR102176404B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
DE112012002626B4 (de) Systeme, Verfahren und Datenträger zum Steuern einer Präsentation von Datenbildern in einem Videostrom
DE112014000242T5 (de) Skalierbare digitale Videoaufzeichnungen auf Netzwerkbasis über eine Architektur auf Shard-Basis
US20130135525A1 (en) Fragment boundary independent closed captioning
Rahimi Motem Bookmarking and Seeking Tool for Online Videos

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee