ES2976132T3 - Método, sistema y aparato para la entrega de contenido multimedia a operadores de televisión por cable y satélite - Google Patents
Método, sistema y aparato para la entrega de contenido multimedia a operadores de televisión por cable y satélite Download PDFInfo
- Publication number
- ES2976132T3 ES2976132T3 ES15874332T ES15874332T ES2976132T3 ES 2976132 T3 ES2976132 T3 ES 2976132T3 ES 15874332 T ES15874332 T ES 15874332T ES 15874332 T ES15874332 T ES 15874332T ES 2976132 T3 ES2976132 T3 ES 2976132T3
- Authority
- ES
- Spain
- Prior art keywords
- media
- multicast
- content
- stream
- screenshots
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000032258 transport Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 230000015654 memory Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- YWXYYJSYQOXTPL-SLPGGIOYSA-N isosorbide mononitrate Chemical compound [O-][N+](=O)O[C@@H]1CO[C@@H]2[C@@H](O)CO[C@@H]21 YWXYYJSYQOXTPL-SLPGGIOYSA-N 0.000 description 3
- 239000011435 rock Substances 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000068988 Glycine max Species 0.000 description 1
- 206010065042 Immune reconstitution inflammatory syndrome Diseases 0.000 description 1
- 208000008498 Infantile Refsum disease Diseases 0.000 description 1
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229920003045 dextran sodium sulfate Polymers 0.000 description 1
- 235000019329 dioctyl sodium sulphosuccinate Nutrition 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6118—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6143—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8106—Monomedia components thereof involving special audio data, e.g. different tracks for different languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/8133—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
- H04N21/8153—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Se divulgan sistemas, métodos y medios legibles por computadora para entregar contenido multimedia desde la nube a operadores de cable. Un dispositivo ubicado en la cabecera del cable o implementado en la nube puede recibir una solicitud de al menos un flujo de medios para su reproducción en un canal de medios de transmisión. El contenido correspondiente a una pluralidad de archivos multimedia en el flujo de medios se puede obtener de Internet o de un servicio basado en la nube. El contenido se puede utilizar para generar archivos multimedia en un formato que sea compatible con el operador de cable. Los archivos multimedia se pueden usar para ensamblar al menos un flujo de medios que se puede proporcionar al operador de cable para su transmisión en el canal de medios de transmisión. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método, sistema y aparato para la entrega de contenido multimedia a operadores de televisión por cable y satélite
Referencia cruzada a solicitud relacionada
Esta solicitud reclama prioridad a la Solicitud Provisional de los Estados Unidos 62/095,504, presentada el 22 de diciembre de 2014.
Campo de la descripción
La presente descripción proporciona un mecanismo para entregar contenido multimedia desde un sistema basado en la nube a proveedores de contenido por cable o satélite.
La descripción describe un método y un sistema novedosos para la entrega continua de medios y la sincronización segura de archivos multimedia que se transmiten a decodificadores o unidades de suscriptores en el campo que están conectados a sistemas de IPTV o cable. La presente tecnología puede conectarse de forma segura a una plataforma basada en la nube (por ejemplo, OpenStack, Amazon EC2, Mediamplify Cloud, etc.), crea un conjunto de archivos multimedia (por ejemplo, películas MPEG4) en un repositorio seguro (por ejemplo, Sistema de Archivos Seguro, Linux/Windows, etc.), modifica esos archivos de acuerdo con ciertas reglas definidas por el método aquí descrito, y reproduce esas señales a través de una transmisión de vídeo de multidifusión (por ejemplo, multidifusión de Protocolo de Datagramas de Usuario (UDP), etc.) encapsulada en un marco de Flujo de transporte (TS) que puede ser un transporte múltiple (varios transportes en un marco TS) o un transporte único (un transporte según la Especificación de la Parte 1 de MPEG-2 o similar) de transmisión multimedia que sea compatible con MPEG-TS a una velocidad predeterminada o a una velocidad de bits variable.
Antecedentes
Operadores de cable. Los Operadores de Sistemas Múltiples (MSO) y los Sistemas de Satélite Digital (DSS) entregan contenido multimedia utilizando tecnologías de satélite, Radio Frecuencia (RF) y Receptor y Decodificador Integrado (IRD), que proporcionan salidas que pueden incluir formatos de señal de Interfaz Serial Asincrónica (ASI). Además, los MSO y DSS utilizan codificadores de hardware dedicados y sistemas de transcodificación si el video/audio de origen es incompatible con los decodificadores de los operadores de cable o satélite. En general, el contenido de video/audio entregado a través del satélite al operador de cable o satélite llega a través de una conexión inalámbrica o un receptor, que es procesado por un IRD que recibe la transmisión del satélite y finalmente puede transmitir esa señal al punto de entrada del operador de cable en varios formatos. Además, algunos sistemas pueden incluir unidades de multidifusión conectadas con IRD que sintonizan al sistema de transpondedor correcto.
Los sistemas de satélite se utilizan para entregar datos (por ejemplo, TV, radio, Vídeo a la carta, transmisiones multimedia) desde una fuente particular (por ejemplo, proveedor de contenido de terceros) a sistemas de cabecera de cable u otros sistemas de satélite. La entrega vía satélite se realiza a través de una señal de transmisión que contiene imágenes digitales y audio dentro de una frecuencia de transpondedor. Los transpondedores son espacios de frecuencia de radio (RF) asignados en un satélite en particular.
Por ejemplo, un proveedor de contenido de terceros puede mantener archivos multimedia en CD/DVD, almacenamiento pregrabado o como archivos pregrabados que se reproducen en un formato de codificación de audio o vídeo específico utilizando un codificador de vídeo o audio (por ejemplo, MP3, H.264, AC3 y otros). El audio y el vídeo se convierten en parte de una señal de RF que se transmite al sistema de satélite. Esta señal es luego recibida por el operador de cable o satélite utilizando un receptor de antena y se decodifica para generar una señal analógica (por ejemplo, cables RCA u cualquier otra interfaz analógica) o una señal digital (por ejemplo, ASI, Interfaz Serie Asincrónica). Si se recibe una señal analógica, los sistemas modernos de cable y satélite DVB (Difusión de vídeo digital codificarán esta señal según sus requisitos particulares de codificación de video/audio para que pueda transmitirse en paquetes digitales a través de un flujo de transporte MPEG de multidifusión. Lo mismo ocurre si un receptor decodifica la señal en ASI. Como tal, esta señal se convierte de ASI a Ethernet, o simplemente se redirige a un flujo de transporte MPEG de multidifusión si llega en un formato de codificación compatible para el sistema de cable de extremo de recepción.
Cuando no se está utilizando un satélite, los videos, imágenes y música se leen desde el DVD o un disco duro que contiene archivos capa MPEG 3 o capa MPEG 2 que fueron codificados a una velocidad de bits predefinida. Esas transmisiones de vídeo pueden ser reproducidas en un tiempo sincronizado utilizando una transmisión multidifusión de MPEG Flujo de transporte utilizando comunicación multidifusión basada en RTP (Protocolo de Transporte en Tiempo Real) y mecanismos basados en RTCP (Protocolo de Control de RTP), así como transmisiones multidifusión estándar de UDP (Protocolo de Datagramas de Usuario) con sincronización propietaria.
Además, los sistemas de IPTV pueden proporcionar mecanismos para transmitir una señal utilizando el protocolo de multidifusión en flujos de transporte m Pe G hacia un domicilio del cliente con decodificadores compatibles (mismo codificador, mismos flujos, claves de encriptación, etc). Un decodificador compatible es aquel que, al conectarse al sistema de televisión por cable, puede decodificar correctamente el vídeo y el audio del sistema central del operador de cable. Algunos de estos sistemas de IPTV dependen de CDN (Redes de Distribución de Contenido) que permiten la distribución de archivos multimedia a dispositivos habilitados para IP. Por ejemplo, se puede proporcionar un mecanismo mediante el cual un contenido de extremo de cabeza (MSO) que se está transmitiendo a un suscriptor de cable también esté disponible para un dispositivo habilitado para IP, como un teléfono inteligente, una PC o una tableta.
Resumen
La invención se establece en el conjunto de reivindicaciones adjuntas. Se describen sistemas, dispositivos, métodos y medios de lectura de ordenador no transitorios para la entrega de medios desde una nube o una red de distribución basada en IP, o CDN (Red de Distribución de Contenido), a MSO (Operadores de Sistemas Múltiples) o cabeceras que incluyen mecanismos de entrega por cable y satélite. La presente tecnología unifica la entrega basada en la nube (Mediamplify cloud) con el mecanismo basado en cable (por ejemplo, Comcast, Verizon FiOS).
Un ejemplo de método implementado por computadora puede recibir, de un proveedor de contenido como un operador de cable o satélite, una solicitud de al menos un flujo de medios para reproducción en un canal de medios de difusión. La solicitud para al menos un flujo de medios puede incluir una solicitud de una pluralidad de elementos multimedia. Se puede obtener contenido correspondiente a la pluralidad de elementos multimedia desde al menos un sitio web o servicio en la nube que ofrece el contenido en al menos un primer formato. Basado en el contenido obtenido, la pluralidad de archivos multimedia se pueden generar en un segundo formato que es compatible con el proveedor de contenido. El flujo de medios se puede ensamblar utilizando cada uno de los elementos multimedia generados en el segundo formato. El flujo de medios puede ser proporcionado al proveedor de contenido para su transmisión en el canal de medios de difusión.
En algunos aspectos de la presente tecnología, la obtención del contenido puede incluir la recuperación de al menos un archivo de audio correspondiente a un componente de audio del elemento multimedia y la recuperación de una pluralidad de imágenes como capturas de pantalla que pueden corresponder a un componente de vídeo del elemento multimedia. Generar los archivos multimedia en el segundo formato puede incluir combinar la pluralidad de imágenes y al menos un archivo de audio para crear cada uno de los elementos multimedia.
Breve descripción de la figura
Se muestran en las figuras modalidades que son actualmente preferidas, entendiéndose, sin embargo, que la descripción no se limita a los arreglos e instrumentos precisos mostrados.
La Figura 1 muestra un diagrama de bloques de ejemplo que ilustra un punto de inicio ejemplar (MSO);
La Figura 2 muestra un ejemplo de diagrama de bloques del aparato ubicado en las instalaciones del MSO (mediaplug);
La Figura 3 muestra un ejemplo de método para la inicialización de los componentes de Mediaplug;
La Figura 4 muestra un ejemplo de método para obtener una lista de archivos para transmitir en multidifusión a un operador de cable MSO;
La Figura 5 muestra un ejemplo de método para codificar archivos de vídeo y audio;
La Figura 6 muestra un ejemplo de método para proporcionar contenido multimedia a un operador de cable; La Figura 7 muestra un ejemplo de diagrama de bloques de los componentes de software del Mediaplug;
La Figura 8 muestra un ejemplo de método para realizar una transmisión multidifusión desde un componente en el Mediaplug;
La Figura 9 muestra un ejemplo de método para insertar metadatos en un flujo de transporte MPEG;
La Figura 10 muestra un ejemplo de diagrama de bloques para un Mediaplug Virtualizado;
La Figura 11 muestra un ejemplo de método para inicializar componentes virtuales de mediaplug; y
La Figura 12 muestra un ejemplo de una posible modalidad del sistema para implementar varias modalidades de la presente tecnología.
Si bien la presente tecnología es susceptible de diversas modificaciones y formas alternativas, se han mostrado detalles de la misma a modo de ejemplo en los dibujos y se describirán en detalle. Sin embargo, debe entenderse que la intención no es limitar la presente tecnología a las modalidades particulares descritas.
Descripción detallada
La siguiente descripción debe leerse haciendo referencia a los dibujos, en los cuales los elementos similares están numerados de manera similar. Las ilustraciones no necesariamente están a escala y no tienen la intención de limitar el alcance de la descripción. Los expertos en la materia comprenden que existen alternativas que también pueden ser utilizadas y que se consideran dentro del alcance de la descripción.
En general, la tecnología descrita se refiere a un mecanismo de entrega para proporcionar contenido multimedia a sistemas de cable sin el uso de un sistema satelital de manera tolerante a fallos y confiable. La Figura 1 ilustra un diagrama de bloques que incluye una nube a Mediamplify Cloud 101. La nube 101 puede referirse a un conjunto de instancias virtualizadas o no virtualizadas de uno o más servidores que proporcionan acceso a archivos y archivos digitales con contenido multimedia almacenado en ellos. Por ejemplo, la nube 101 se puede implementar utilizando VMWare o Xen y OpenStack, o simplemente residir en Amazon Web Services o Rackspace. Además, se puede proporcionar aprovisionamiento especial en la nube 101 para acceso seguro.
Los archivos del servicio de la Nube 101 pueden ser accesibles a través de internet 105 y pueden ser almacenados en un sistema de archivos basado en la nube o en un sistema de archivos en clúster (por ejemplo, GlusterFS o Hadoop, Amazon S3). Estos archivos pueden ser archivos multimedia que incluyen, como ejemplos no limitantes, archivos de vídeo MPEG-4 con vídeo codificado en H.264 y audio codificado en AAC o audio en capa MPEG-3 también (también se podría utilizar vídeo MPEG2). Estos archivos pueden ser accedidos utilizando un protocolo de transporte seguro como, pero no limitado a, SSL o una herramienta de sincronización como "rsync", comúnmente encontrada en entornos Linux/MacOS. El enlace de comunicación 106 puede ser un DSL, Cable Módem, WAN inalámbrica, Fibra, Metro Ethernet, etc. y puede estar conectado con la unidad MediaPlug 110. El Mediaplug 110 puede residir en las instalaciones de "MSO" y puede ser colocado junto con todo el equipo del operador de cable o satélite. El MSO es una instalación utilizada por el Operador de Cable para recibir toda la programación de TV y Radio que luego el operador de cable multiplexará, volverá a codificar y distribuirá desde el MSO a un conjunto de unidades de suscriptores con cajas decodificadoras, o modulará la señal en canales analógicos de TV (2-60+).
Una función del MediaPlug 110 es proporcionar contenido multimedia, por ejemplo, vídeo y audio, a un multiplexor MPEG en el headend 120. El contenido puede ser preformateado en flujos de transporte MPEG que el multiplexor 120 (por ejemplo, Arris TMX-2010) luego podrá capturar, reformatear de la manera que el operador requiera y entregar a los suscriptores del operador de cable a través del cable coaxial 125 o cualquier otro medio adecuado para una entrega multidifusión o unicast a sus clientes con los "Decodificadores" 130, 131, 132. Un "Decodificador" es un equipo de instalación del cliente que podrá decodificar y mostrar en un televisor u otra pantalla, a través de una señal recibida por su entrada HDMI o analógica, el contenido de la programación de televisión que ofrece el operador de cable.
El Mediaplug 110 puede ser una computadora o servidor o conjunto de computadoras o servidores que pueden comunicarse con la Nube 101 utilizando una Red de Área Local estándar (por ejemplo, Gigabit Ethernet). El Mediaplug 110 puede almacenar, codificar y transmitir archivos multimedia en el formato que el operador de cable en su MSO requiera. Este formato de cable puede incluir audio, vídeo y metadatos (subtítulos, datos de control y cualquier componente adicional que pueda ser empaquetado en un Paquete MPEG que forma parte del Flujo de Transporte MPEG). El Mediaplug 110 incluye componentes como una unidad de almacenamiento en caché y uno o más servidores de multidifusión.
La Figura 2 ilustra una configuración de ejemplo de los componentes de hardware de Mediaplug 110, que incluye tres servidores. Un servidor es un dispositivo informático, generalmente una unidad montable en rack, con memoria volátil como RAM, uno o más microprocesadores y memoria no volátil como un disco duro. Sin embargo, una persona experta en la materia reconocerá que la presente tecnología no está limitada a una configuración particular y puede variar según diferentes especificaciones. La Figura 2 ilustra Mediamplify Cloud 202 que está conectado a la columna vertebral de Internet 203. El enlace 204 (por ejemplo, DSL, Cable Módem, Fibra) proporciona conectividad entre la nube 202 y una unidad de Traductor de Direcciones de Red 205 (por ejemplo, Cisco RVS4000, u otro dispositivo NAT) que puede proporcionar capacidades de conmutación Gigabit Ethernet. Las líneas 206, 207 y 208 muestran enlaces de Ethernet Gigabit, sin embargo, una persona experta en la materia entenderá que Gigabit Ethernet o una LAN inalámbrica utilizando 802.11g/n también serían interfaces adecuadas para ser utilizadas en una configuración de Mediaplug. La unidad de almacenamiento en caché 210 puede ser el componente principal de almacenamiento en el sistema y puede contener todos los archivos multimedia en el formato requerido por los operadores de cable, como el formato de flujo de transporte. La unidad de almacenamiento en caché puede comunicarse con Multidifusión-01 215 y Multidifusión-02220. Las dos unidades de multidifusión 215, 220 pueden extraer u obtener información de la unidad de almacenamiento en caché a través de TCP/IP o UDP, utilizando protocolos como HTTP (Protocolo de Transferencia de Hipertexto) o RTSP (Protocolo de Transporte de Transmisión en Tiempo Real). La unidad de almacenamiento en caché también puede codificar y transcodificar los archivos multimedia que descarga de la Nube 202. La unidad de almacenamiento en caché también puede mantener información actualizada de todos los metadatos y crear pantallas personalizables que se pueden convertir en formatos de vídeo compatibles con el contenido del flujo de transporte que se proporcionará al operador de cable en su MSO. MPEG MUX MSO 230 puede corresponder a un programa que reside en un sistema informático que procesa y maneja las corrientes MPEG de múltiples fuentes. El MUX 230 también puede funcionar como puente entre la fuente de la señal y las unidades de decodificador del cliente. Un ejemplo no limitante de programa sería el CherryPicker DM6400 de MOTOROLA. Cada uno de los componentes o módulos del Mediaplug puede incluir software para realizar funciones y/o métodos de acuerdo con la tecnología actual.
La Figura 3 ilustra un ejemplo de método que se puede utilizar para configurar y aprovisionar las unidades durante el arranque. Cada unidad puede inicializar claves para el acceso SSH/IP Sec a 305. Por ejemplo, las unidades pueden utilizar claves de IPSec y SSH Tunnel que pueden ser almacenadas en la cuenta de usuario administrador. Las claves pueden ser generadas por la Nube de Mediamplify, que son claves privadas o certificados, secretos compartidos o componentes similares mediante los cuales el Mediaplug puede conectarse de forma segura con la nube de Mediamplify. Cada operador de cable puede proporcionar direccionamiento IP personalizado en el puerto Gigabit Ethernet 310 que se conecta a la red del operador. Cambiar las direcciones IP de Multidifusión-01 y/o Multidifusión-02 se refiere a la dirección IP mediante la cual los enlaces 221 y 216 en la Figura 2 están vinculados a la unidad MPEG MUX MSO. Un cambio de la dirección IP puede referirse al comando 'ifconfig' que se utiliza en sistemas basados en Linux y que puede ser cambiado en una caja Ubuntu en el archivo /etc/network/interfaces. De manera similar, la ruta de red puede cambiarse si la dirección de multidifusión no puede ser enrutada hacia la puerta de enlace predeterminada que apunta al 205 NAT, sino hacia el 221 y 216 respectivamente para Multidifusión-02 y Multidifusión-01. En general, la dirección de red 239.*.*.* puede ser enrutada hacia esas interfaces.
En el paso 320, el Mediaplug puede configurar listas de reproducción por canal y dirección de multidifusión. La configuración de la lista de reproducción y los canales se puede obtener del operador de cable/satélite y puede incluir cualquier número de canales para transmitir contenido multimedia a los clientes finales. Como ejemplo, los canales pueden incluir canales de música correspondientes a diferentes géneros musicales, como rock, alternativo, clásico, jazz, hip hop, etc. Basado en el género particular, se puede seleccionar y/o configurar una lista de reproducción correspondiente. El Mediaplug también puede determinar la dirección de multidifusión para cada uno de los canales.
En algunas configuraciones se puede agregar una interfaz de usuario (UI) personalizable al flujo de transporte de vídeo MPEG de salida. Como tal, si la variable "Custom UI" es verdadera y válida, 325, se carga un enlace o URL 330 en la configuración de Mediaplug que se puede utilizar cuando se crea la interfaz de video. La interfaz de vídeo personalizada se puede crear y obtener según sea necesario, o se puede crear en tiempo real para un canal específico o para todos los canales. La variable de interfaz de usuario personalizada se puede configurar de manera única por canal en el Mediaplug. El mediaplug también puede monitorear 340 todos los procesos para garantizar estabilidad y un funcionamiento continuo e ininterrumpido. La inicialización del Mediaplug también puede incluir la configuración del perfil RSYNC 350. El perfil RSYNC se puede utilizar para actualizar y sincronizar contenido multimedia con la nube cuando el Mediaplug determina que el contenido ha cambiado o sido modificado.
Como se describe anteriormente, el Mediaplug puede transmitir la secuencia multimedia MPEG utilizando la dirección IP programada en multidifusión-01 y multidifusión-02 según el método ilustrado en la Figura 3. En la Figura 4 se muestra un ejemplo de método para obtener la lista de archivos para reproducir o transmitir al sistema MSO. El tipo o formato de archivo solicitado por la modalidad de multidifusión, por ejemplo, multidifusión-01 o multidifusión-02, puede incluir valores de Flujo de transporte (por ejemplo, TS) y/o MPEG-4 Parte 14 (por ejemplo, MP4) 405. Esta solicitud se ejecuta desde cualquiera de las modalidades de multidifusión, generalmente utilizando la solicitud HTTP GET. La unidad de multidifusión puede conectarse a un servidor HTTP y recuperar la lista de archivos basada en el tipo identificado por la solicitud. Como la unidad de almacenamiento en caché puede manejar múltiples canales de diferentes tipos y nombres, cada canal puede tener un identificador único correspondiente al nombre de la lista de reproducción. Por ejemplo, el nombre del canal "Cool" o "Rock", 410 son nombres que pueden identificar el canal que se va a recuperar del servidor de caché. El registro de actividad en la solicitud también puede actualizarse para llevar un seguimiento de qué paso del proceso se está completando 415. A las 420, el servidor de caché puede generar un "archivo de lista de reproducción" de tipo MIME "audio/x-mpegurl", que se interpretará como un archivo de lista de reproducción multimedia cuando se solicite. Finalmente, como la lista de reproducción generalmente no suele variar durante un período de tiempo hasta que se recibe una nueva solicitud, la lista de reproducción se puede mantener en el servicio de almacenamiento en caché de memoria local 425.
A medida que las solicitudes llegan a la unidad de "Almacenamiento en caché" desde las unidades de multidifusión, la unidad de "Almacenamiento en caché" puede configurarse para realizar codificación paralela para todos los diferentes canales disponibles desde la unidad. La Figura 5 ilustra un ejemplo de método que puede ser implementado por el Mediaplug, y en particular, por la unidad de "Almacenamiento en caché". En el paso 505, se pueden recibir banderas de codificación o parámetros de entrada que pueden incluir GOP (Grupo de Imágenes) que es utilizado por ciertos codificadores de video, resolución (por ejemplo, 640x480) en píxeles, tasa de bits en Kilobits por segundo, cualquiertipo de codificación de vídeo (por ejemplo, H.264), tipo de codificación de audio (por ejemplo,<a>C-3), duración de la transmisión de video, etc. Además, se puede recibir un parámetro "formato" que se refiere al formato de salida 0 encapsulación, MPEG TS o MPEG4. La unidad de caché codifica audio y video, y puede utilizar el espacio en disco en el Mediaplug. Por lo tanto, en 508 el método verifica si queda suficiente espacio en la memoria o en el disco duro. Esta tarea se puede ejecutar en un hilo junto con todas las demás tareas que están trabajando en paralelo para acelerar los procesos de codificación y transcodificación.
Varios índices o identificadores con el nombre "ChID" (estos enteros preferiblemente no más que un valor entero del 1 al número máximo de canales) comienzan (por ejemplo, MAX podría ser 50) a ser generados por la unidad de almacenamiento en caché 510. Este método se puede realizar para todos los canales y todos los medios vinculados a ese canal en particular identificado por "MediaID" 515, en este caso particular el "MediaID". La variable "MAX" en este contexto puede referirse al número máximo de archivos multimedia leídos (por ejemplo, 500). Los datos capturados de los medios podrían ser "Artista", "Autor" u otra variable de un archivo de audio. Si se utiliza un archivo de video, este podría ser el "nombre del programa", el "nombre de la película" o cualquier información de metadatos asociada al archivo multimedia y el identificador de canal (ChID) asociado a él, el archivo "MediaID".
La unidad de almacenamiento en caché puede agregar una "UI personalizada" o una interfaz de usuario personalizable que se diseña utilizando Hypertext Markup Language (por ejemplo, HTML) o un servicio web. Un servicio web que coincide con una interfaz REST (Transferencia de Estado Representacional) y utiliza JavaScript Object Notation (JSON) o XML (Lenguaje de Marcado Extensible) para responder a una solicitud personalizada de UI puede ser utilizado. Además, esta UI personalizada puede incluir archivos de contenido JavaScript, CSS y HTML que se renderizan utilizando un navegador que utiliza WebKit (por ejemplo, PhantomJS o Safari) o cualquier otro motor de renderizado de navegador compatible con HTML4/5 o cualquier versión futura de HTML. Si una UI personalizable forma parte de la configuración 518, las imágenes renderizadas de un servicio web se pueden utilizar para crear videos superpuestos o reemplazar cualquier vídeo en el archivo de transmisión de video. Del mismo modo, este vídeo o pantalla personalizada se puede utilizar cuando no se define ningún vídeo en el archivo multimedia, por ejemplo, un archivo solo de audio. El servicio web a contactar puede utilizar el "PlayListName" para el Canal identificado por el ID de canal "ChID", recuperado utilizando la función "PlaylistID" 520. Cada nuevo PlayListName puede contener diferentes identificadores para recuperar nuevas imágenes. Por lo tanto, se recuperará una o más pantallas del motor de renderizado, de modo que 522 se pueda utilizar para recuperar un conjunto de pantallas del servicio web con el que se está contactando.
La captura de pantallas 526 se realiza utilizando una herramienta similar a PhantomJS (motor sin interfaz gráfica basado en Webkit para renderizar imágenes) o QtCapture, o simplemente capturando los búferes de pantalla de una máquina que ejecute cualquier herramienta de software. Alternativamente, el método puede capturar un archivo de vídeo desde otra función de renderizado, la cual puede crear una secuencia de pantallas que pueden ser utilizadas para generar un archivo de video. Una vez que se capturan todas las pantallas y el video, 530 el resultado obtenido puede ser un archivo de vídeo que luego se reemplaza o se fusiona (multiplexa) con el archivo original. Como ejemplo, si se utiliza un archivo de contenido de audio como un archivo MP3, esta función puede crear un archivo de vídeo a partir de todas las pantallas capturadas por 526. Esas pantallas se generan llamando a una URL donde se asocia el servicio web y creando un archivo de vídeo con el audio de entrada y las pantallas capturadas. El formato de salida puede ser un archivo de flujo de transporte MPEG que puede ser recuperado o transmitido a la modalidad de multidifusión.
Una vez que se crea el archivo de salida que contiene la secuencia de capturas de pantalla de los videos codificados en H.264 (por ejemplo, o MPEG2Video), el audio puede ser multiplexado y agregado a uno de los canales de codificación del vídeo resultante y guardado en el disco de almacenamiento de la unidad de caché 550. La multiplexación se puede realizar utilizando herramientas como FFMPEG o VLC o cualquier herramienta propietaria que pueda multiplexar archivos de audio y vídeo en un flujo de transporte MPEG resultante (o salida M<p>EG-4, o cualquier salida similar).
La Figura 6 ilustra un ejemplo de método 600 para proporcionar contenido multimedia a un operador de cable. En el paso 602, un dispositivo como el dispositivo Mediaplug recibe una solicitud de un operador de cable/satélite para un flujo de medios. Un flujo de medios puede ser formateado según transmisión en vivo de HTTP (HLS), una lista de reproducción HTTP/<r>T<s>P, o un flujo RTSP. El flujo de medios puede incluir cualquier cantidad de elementos multimedia, como elementos multimedia de audio/video. En algunos casos, la solicitud puede incluir un identificador de canal que está asociado con una categoría particular de elementos multimedia, como un género musical correspondiente a rock, clásica, jazz, etc.
En el punto 604, se pueden recuperar, descargar u obtener de otra manera los contenidos correspondientes a los elementos multimedia desde uno o más sitios web o servidores basados en la nube. Los contenidos pueden incluir datos correspondientes a uno o ambos de los componentes de audio y vídeo de los elementos multimedia. Por ejemplo, los datos correspondientes a la parte de audio pueden incluir un archivo de música en formato MP3. De manera similar, los datos correspondientes a la parte de vídeo pueden incluir un vídeo que se obtiene directamente desde la nube. Alternativamente, el componente de vídeo puede ser ensamblado utilizando una o más capturas de pantalla de un sitio web. Las capturas de pantalla pueden incluir capturas de imágenes estáticas presentadas por el sitio web, así como capturas de imágenes de videos que están disponibles en el sitio web. Como se muestra en la Figura 5, el proceso de captura de pantalla se puede repetir cualquier número de veces.
El Mediaplug puede generar entonces 606 elementos multimedia en un segundo formato basado en el contenido obtenido del servidor web o la nube. Es decir, el Mediaplug puede convertir/codificar el archivo de audio en un formato adecuado para el operador de cable y también puede ensamblar las diversas capturas de pantalla para generar el componente de vídeo del elemento multimedia. Una vez que se crean los archivos de audio y video, se pueden combinar, multiplexar o codificar a un formato que pueda ser utilizado por el flujo multimedia. Por ejemplo, el audio puede ser multiplexado y añadido a uno de los canales de codificación de la salida de video. Los diversos elementos multimedia se pueden utilizar 608 para ensamblar el flujo de medios en un formato correspondiente a la solicitud (por ejemplo, HLS, HTTP/RTSP, flujo RTSP). El flujo de medios puede ser proporcionado 610 al proveedor de contenido para su transmisión en el canal de medios de difusión.
La Figura 7 ilustra un diagrama de bloques de una arquitectura de ejemplo de los componentes de la Unidad de Almacenamiento en caché. La figura muestra 720 como el sistema operativo principal, que puede ser Linux, Windows o cualquier otro sistema operativo en uso. La unidad de almacenamiento en caché puede contener dos tipos de servicios del sistema operativo: HTTP 710 y RTSP 712. El servicio RTSP proporciona acceso al contenido multimedia guardado o creado en el sistema de archivos del repositorio de la unidad de almacenamiento en caché 730. El servidor RTSP se puede implementar utilizando el servidor RTSP Live555 o similar. Alternativamente, el Servidor HTTP puede implementarse utilizando navegadores web "nginx" o "apache", y los Servidores RTSP pueden implementarse utilizando servicios Live555. En el caso del Servidor HTTP, esto también se puede utilizar para obtener la lista de reproducción de archivos generados a partir del método en la Figura 5715.
El comando GetPlayList 715 se puede implementar de la siguiente manera:
• Recibir y procesar una solicitud para el nombre del canal o lista de reproducción a utilizar,
• Recuperar todos los nombres de archivo ordenados por fecha de creación de todos los archivos en un directorio específico,
• Cachear todos los archivos en la memoria caché (por ejemplo, Memcache u otra herramienta similar),
• Añadir el tipo de encabezado HTTP como M3U o PLS (por ejemplo, un archivo de texto con una lista de archivos o URL para reproducir),
• Devuelve una lista de URLs HTTP o RTSP para acceder a cada vídeo generado o almacenado en la unidad de almacenamiento en caché.
En algunas modalidades, el Servidor HTTP también puede ser utilizado para realizar operaciones de limpieza, actualización y eliminación. La unidad de bloque llamada "CleanUp" 722 se encarga de mantener actualizada la información de almacenamiento en caché y/o eliminar archivos que ya han sido utilizados o que ya no son necesarios para ser utilizados por la(s) unidad(es) de multidifusión. También las funciones del servidor HTTP pueden incluir el servicio de archivos M3U8 correspondientes al formato de transmisión en vivo HTTP y todos los segmentos creados por la función de transmisión en vivo HTTP. Como tal, un programa de generación de transmisión en vivo de HTTP (HLS) producirá los archivos y los segmentará según lo necesario por el codificador y luego podrán ser atendidos por el Servidor HTTP 710. El Codificador Paralelo Mediamplify 705 corresponde a un bloque que puede implementar el método mostrado en la Figura 5. Las salidas resultantes del Codificador Paralelo de Medios 605 se almacenan en el sistema de archivos 730. El codificador paralelo Mediamplify 605 se puede implementar en Python y puede depender de servicios web (como Twisted o Django), PhantomJS y<f>F<m>PEG. Monit 750 corresponde a un bloque de monitoreo que puede garantizar que el proceso que ejecuta el "codificador paralelo de medios" se mantenga en funcionamiento en todo momento y no se detenga en caso de fallos. Bloques adicionales que se pueden incluir en Mediaplug son RSYNC 742 y SSH 744. Estos bloques se pueden utilizar para garantizar la sincronización y actualización de nuevos archivos multimedia provenientes de la nube. El bloque RSYNC utiliza el protocolo y programa "rsync" a través de ssh (Secured Socket Layer Shell) para descargar medios desde la "Nube de Mediamplify" y sincronizar archivos multimedia que han sido actualizados recientemente y podrían formar parte de un ID de canal y un nombre de lista de reproducción específicos. Cada nuevo archivo sincronizado con la nube de Mediamplify tiene un valor de ID de Medios que la nube puede asignar, e incluir información adicional de metadatos como "Artista" y "Autor". El "Codificador Paralelo Mediamplify" también puede recibir solicitudes de otros componentes, como getStatus o StartEncoding, indicando qué archivo se está codificando, su progreso y qué otros archivos están en la cola para codificar.
En algunas modalidades, la información de getStatus o StartEncoding puede generarse utilizando un mensaje JSON recuperado mediante una solicitud a través de HTTP GET al Codificador Paralelo de Mediamplify. A continuación, se puede utilizar una interfaz gráfica de usuario para mostrar el estado de cada canción que se está codificando o proporcionar vistas previas de los videos que se están generando. A continuación se muestra un ejemplo no limitante de una respuesta JSON realizada por el servicio "Codificador Paralelo Mediamplify":
{"song_encoded" : "ts", "artist": "Madonna" -"duration" 0, "exists_on_disk": True, "genre":: "Pop","title ": "Like a Virgin ", "music_id": "1082863"}
Respuesta con respecto al estado de codificación de una canción o una lista de canciones que se están codificando, de la siguiente manera:
{"music_id": "109281", "encoding": "78 %", "output_file": "/var/www/eglacast/pop/109281-abcdef-uuuid.ts", "thumbnail" : http://mediamplify.com/images/abcdef-uuid.png"}
En algunas modalidades, hay dos posibles sockets TCP/IP abiertos para escuchar utilizados por el componente de Almacenamiento en caché del Mediaplug. A) El puerto 80 (como ejemplo), o el puerto estándar HTTP, se utiliza para recuperar contenido, ver contenido de vídeo generado, actualizar/eliminar archivos en caché y acceder a las listas de reproducción, y B) Puerto 9553 (a modo de ejemplo), o el puerto estándar del codificador Mediamplify Parallel, utilizado para supervisar y revisar el estado de las canciones que se están codificando, los datos que se están recopilando y todas las demás actividades relacionadas con la codificación. A través de este puerto, se puede iniciar o detener la codificación/transcodificación.
De manera similar, los componentes "Mediaplug" etiquetados como "Multidifusión-01" y "Multidifusión-02" también pueden proporcionar una interfaz HTTP para acceder a la canción actual que se está reproduciendo o que se está transmitiendo en multidifusión a través del Servidor HTTP 770. Por ejemplo, el servidor HTTP puede ejecutar un script en PHP o Python que devolverá la canción actual que está reproduciendo el transmisor. El bloque de transmisión 768 puede conectarse al servidor de almacenamiento en caché a través de los protocolos HTTP o RTSP. La implementación de este bloque se puede realizar utilizando una combinación de instrucciones FIG-8 y utilizando servicios de multidifusión disponibles en VLC o FFMPEG (por ejemplo, multidifusión o tstools / tsplay).
Una función del transmisor 768 es leer los archivos codificados por la unidad de almacenamiento en caché, procesarlos para la transmisión múltiple y crear los paquetes de transmisión multidifusión del flujo de transporte MPEG enviados a través del puerto Ethernet. Además, los bloques multidifusión-01 y multidifusión-02 contienen una función de "Grabación" 790, que se encarga de grabar los flujos de multidifusión y guardarlos para su uso posterior en caso de fallo en el sistema. Esto opera escuchando la dirección de multidifusión UDP (Protocolo de Datagrama de Usuario) de cada canal individual que se está transmitiendo, y grabando la salida en un archivo. Este archivo se guarda y se hace accesible para su uso futuro. Monit 764 puede mantener el proceso de transmisión en funcionamiento en todo momento durante un ciclo regular de transmisión.
La Figura 8 ilustra un ejemplo de método que puede ser realizado por el módulo de transmisión en el Mediaplug. En una modalidad, el transmisor puede realizar funciones que incluyen: conectarse a la unidad de almacenamiento en caché; recuperar videos generados por lista de reproducción; determinar si la unidad está funcionando en modo tolerante a fallos; reproducir audio pregrabado si se detecta una falla; y grabar la salida de la unidad o cualquier otra salida del transmisor si está conectado a un switch o hub.
Refiriéndonos al método de la Figura 8, en el paso 805, el transmisor lee la dirección de multidifusión asociada al canal que se está transmitiendo, con el fin de generar mensajes IGMP (Protocolo de Gestión de Grupos de Internet) y establecer un grupo de multidifusión (por ejemplo, 239.0.0.1:8001). El nombre del canal también se inicializa en 810. Este valor se puede utilizar para recuperar el contenido adecuado del servidor de caché. En una modalidad, se puede crear una tabla de configuración con tuplas: <ChID>, <Nombre del Canal>, <Dirección Multidifusión>, <Puerto Multidifusión>, de manera que no se utilicen ni se creen duplicados. El software de automatización puede crear estas tablas de configuración y automatizar el proceso de crear todas las llamadas de transmisión. Un método de transmisión en continuo puede ser llamado (por ejemplo, desde /etc/init.d/) en el momento de arranque y ser monitoreado con una herramienta como Monit. Una vez que se conoce la configuración, el transmisor verificará si ya existen flujos de transporte de multidifusión generados por algún otro componente de multidifusión y evitará colisiones. Si se detectan datos de multidifusión, se puede utilizar un retardo para retrasar un nuevo intento de verificar ese grupo de multidifusión en particular 860. Por lo tanto, este bloque indica "Esperar <Tiempo>" o detener todo el procesamiento durante la cantidad de <Tiempo> recomendada por la especificación. Por ejemplo, el tiempo de retraso puede ser la "fuente principal" de entrada menos la cantidad de tiempo para recibir entrada de un servidor de respaldo. Durante la inicialización, si se utiliza la misma dirección de multidifusión para transmitir el principal y el respaldo, el que tenga menos tiempo de retardo será el primero, seguido por el "Respaldo". En casos en los que se utiliza un repuesto en caliente, o se pueden utilizar dos direcciones de multidifusión diferentes, una para el principal y otra para la copia de seguridad, entonces este paso puede ser opcional.
Una vez que se determina que no hay elementos transmitiendo en la misma dirección, el transmisor verificará si el servidor de caché está "activo" 815. Esto se puede realizar de varias formas, por ejemplo, una solicitud HTTP no debe generar un error 404 o 403, sino en su lugar un valor exitoso 202. Del mismo modo, también se pueden utilizar solicitudes de ping antes de realizar una llamada HTTP GET para identificar si el servidor de caché está presente y disponible. En caso de que no haya respuestas de ping, se activará un tiempo de espera y se reproducirá o enviará un contenido pregrabado 820 a la dirección y puerto de multidifusión registrados. Las grabaciones se pueden programar diariamente durante un período prolongado de tiempo (por ejemplo, 8 horas o más). Estas grabaciones pueden almacenar el archivo grabado en una carpeta temporal y luego mover ese archivo a la carpeta de reproducción donde el reproductor puede leerlo.
Si se determina que el servidor de caché está funcionando correctamente, entonces hay tres tipos de flujos que se pueden enviar a la dirección y puerto de multidifusión:
transmisión en vivo de HTTP (HLS) es un flujo de varios segmentos generalmente definido por la extensión M3U8, que contiene un número determinado de segmentos para una fuente de transmisión en tiempo real (video/audio).
Lista de reproducción de archivos HTTP/RTSP, esto significa que uno o varios archivos se leen desde el servidor de almacenamiento en caché, generalmente definidos por la extensión M3U o PLS.
Flujo RTSP, esto podría ser un flujo constante similar a la transmisión en vivo de HTTP (HLS), pero utilizando un protocolo RTSP en lugar de un flujo HLS.
Cuando varios archivos forman parte de una lista de reproducción, la velocidad de bits puede variar entre los archivos de la lista de reproducción. Diferentes tasas de bits entre archivos en una lista de reproducción podrían causar problemas en sistemas no CBR (Constant Bit Rate). Para evitar tales problemas, el Mediaplug puede mantener el flujo a la misma velocidad de bits del flujo anterior mediante la adición de paquetes nulos de MPEG T<s>a la misma velocidad a la que se enviaba el archivo multimedia anterior a través del puerto de multidifusión. Esto mantendrá la tasa de bits adecuada para las listas de reproducción.
En el servicio RTSP, la transmisión ocurre escribiendo el contenido multimedia en una tubería con nombre o un archivo FIFO y permitiendo que el servicio RTSP lea desde ese archivo y genere un flujo RTSP. Como tal, en la transmisión HLS y RTSP, el servidor de caché conoce el nombre del archivo que se está transmitiendo. Cuando el archivo se transmite a través de una lista de reproducción, tanto la unidad de almacenamiento en caché como la unidad de multidifusión conocen el nombre del archivo que se está transmitiendo, ya que el servidor de multidifusión puede solicitar al servidor de almacenamiento en caché los metadatos asociados con el nombre del archivo que se está transmitiendo.
Por lo tanto, la presente tecnología puede adaptarse a ambos casos y recuperar el nombre de archivo actual que se está transmitiendo como una respuesta JSON. La respuesta puede identificar el contenido mostrado o reproducido en el decodificador del usuario final.
Si se utiliza HLS para transmitir 818, el reproductor se conectará al archivo M3U8 adecuado 820 para extraer todos los segmentos correspondientes al archivo de lista de reproducción en vivo en el flujo M3U8. Los programas y bibliotecas como FFMPEG o VLC pueden ser utilizados para encapsular la alimentación de la transmisión en un MPEG TS y transmitirlo en multidifusión a la dirección y puerto multidifusión preprogramados. De manera similar, si se utiliza un flujo RTSP 825, el mismo proceso tiene lugar en 830 utilizando el RTSP como protocolo en lugar de HTTP.
Si se está utilizando una lista de archivos en una lista de reproducción 832 "M3U", se puede obtener la lista mediante una solicitud HTTP GET realizada al servidor de caché. Cada archivo puede ser transmitido a la dirección y puerto de multidifusión del registro 838 hasta que se completen y reproduzcan todos los elementos de la lista de reproducción 835.
En algunos casos, los metadatos se pueden agregar al flujo como un PID (Identificador de Programa) adicional en el Transporte de Flujo MPEG. Si se necesita metadatos 841, entonces se insertarán 842 aquí de acuerdo con la Figura 9.
Por ejemplo, los metadatos agregados podrían ser tan simples como una cadena que contiene el Artista, el Nombre u otra información, o tan complejos como el Texto DCII (versión 2 de DigiCipher, según lo especificado por Motorola), mensajes de control MPEG T<s>(bidireccionales), o cualquier otro metadato o PID que se pueda insertar en la transmisión que se envía a la dirección y puerto de multidifusión.
La Figura 9 ilustra un ejemplo de método utilizado para insertar un paquete de datos especial en la secuencia que se está escribiendo en la dirección de multidifusión, sin hacer uso de información de sincronización. Por lo tanto, los metadatos pueden ser insertados de manera que no tengan dependencia de tiempo. Alternativamente, ciertos tipos de metadatos como subtítulos o letras pueden necesitar ser insertados solo en ciertos momentos para que estén sincronizados con los datos de video.
El paquete de muestra de MPEG TS mostrado en 902 y 905 corresponde a los metadatos dentro del paquete. Esto se ajusta a la estructura estándar del paquete MPEG TS y puede variar dependiendo del tipo de metadatos que se agreguen a la transmisión.
El método para insertar el paquete comienza leyendo el archivo MPEG TS recuperado del servidor de almacenamiento en caché 910. Si los metadatos corresponden únicamente a la información de la canción, esta información puede ser agregada en momentos uniformes. Las inclusiones de tiempo no uniformes también se pueden realizar agregando una tabla que incluya el tiempo y el contenido de metadatos agregado al flujo 915. Estos metadatos se pueden obtener de la unidad de almacenamiento en caché mediante una solicitud HTTP Get dirigida al servidor de almacenamiento en caché 918 y pueden incluir el nombre del artista, el título de la canción u otra información 920.
Creación del(los) paquete(s) MPEG 925 para ser insertado(s) en los momentos adecuados, los cuales establecerán los lugares con esos paquetes, serán insertados en el MPEG TS. Modificar la PMT (Tabla de Gestión de Programas) del archivo generado e incluir el PID que se está insertando en el MPEG TS 930. En el paso 932, un PID de audio puede incluir un PID de metadatos del tipo DCII Text, que se agrega al flujo.
Para cada momento o ubicación en la que se necesita insertar el PID 935, el método puede insertar esos paquetes y generar un búfer que puede ser enviado a la dirección multidifusión como se ilustra en la Figura 8.
Como se describe anteriormente, la tecnología revelada puede ser implementada utilizando un conjunto de módulos incluidos en el aparato Mediaplug, que pueden ser implementados utilizando uno o más servidores correspondientemente. Alternativamente, entornos de virtualización como VMWare o Xen (Figura 9) pueden incluir un sistema y una arquitectura que se pueden utilizar para alojar toda la funcionalidad de Mediaplug en un entorno virtualizado utilizando un único servidor con múltiples puertos GbE.
La ilustración en la Figura 10 muestra una configuración de tres máquinas virtuales utilizadas para implementar el Mediaplug. Almacenamiento en caché 1030 y su respectivo puerto Ethernet 1032, Multidifusión-01 1020 con dos puertos Ethernet virtuales 1022 y 1024, y Multidifusión-02 1010, con dos puertos Ethernet 1012 y 1014. Hay tres puentes que incluyen 1007, 1008 y 1009. Los puertos Ethernet multidifusión 1024 y 1014 se conectan en puente con ethl 1004 y eth2 1003 respectivamente a través del puente 1009 y el puente 1008, respectivamente. Es decir, el mismo contenido generado en 1024 puede ser enviado a través del puente 1009 a la interfaz física eth1 1004 en el hardware. El vSwitch 1045 o el switch virtual entre las dos interfaces puente 1008 y 1009 permite que las dos máquinas virtuales de Multidifusión-01 1010 y Multidifusión-02 1020 se registren mutuamente y monitoreen su actividad.
Para lograr la concurrencia y una ejecución adecuada en un entorno de nube, el Mediaplug puede utilizar el método de ejemplo mostrado en la Figura 11. Una vez que se emite el comando de creación de una unidad 1105, se proporciona el aprovisionamiento de la información de metadatos y la dirección IP adecuada para esa instancia en particular 1110. Una vez que se haya elegido una dirección IP y metadatos para la unidad, el servidor puede ser asignado en la nube y la instancia puede ser creada utilizando herramientas y servicios de CloudStack o OpenStack 1115. La instancia se asigna y se ejecuta en el nodo adecuado en la nube 1120. La configuración de la IP asignada, la máscara de red y las credenciales de VPN se cargan a las 1125. Finalmente, la información del certificado se carga a las 1130, así como todos los servicios se ejecutan para habilitar la unidad para la ejecución de sus funciones de almacenamiento en caché, funciones de multidifusión o ambas.
La Figura 12 ilustra una arquitectura de sistema informático de bus convencional 1200, como la que se puede utilizar en Mediaplug 110. Los expertos en la materia apreciarán que también son posibles otras arquitecturas de sistema.
En la arquitectura del sistema informático 1200, los componentes del sistema están en comunicación eléctrica entre sí utilizando un bus 1205. El sistema de ejemplo 1200 incluye una unidad de procesamiento (CPU o procesador) 1210 y un bus del sistema 1205 que conecta varios componentes del sistema, incluida la memoria del sistema 1215, como la memoria de solo lectura (ROM) 1220 y la memoria de acceso aleatorio (RAM) 1225, al procesador 1210. El sistema 1200 puede incluir una caché de memoria de alta velocidad conectada directamente con, en proximidad cercana a, o integrada como parte del procesador 1210. El sistema 1200 puede copiar datos de la memoria 1215 y/o del dispositivo de almacenamiento 1230 a la caché 1212 para un acceso rápido por parte del procesador 1210. De esta manera, la caché puede proporcionar un impulso de rendimiento que evita los retrasos del procesador 1210 mientras espera los datos. Estos y otros módulos pueden controlar o ser configurados para controlar el procesador 1210 y realizar diversas acciones. Otra memoria del sistema 1215también puede estar disponible para su uso. La memoria 1215 puede incluir múltiples tipos diferentes de memoria con diferentes características de rendimiento. El procesador 1210 puede incluir cualquier procesador de propósito general y un módulo de hardware o módulo de software, como el módulo 11232, el módulo 2 1234 y el módulo 3 1236 almacenados en el dispositivo de almacenamiento 1230, configurados para controlar el procesador 1210, así como un procesador de propósito especial donde las instrucciones de software se incorporan en el diseño real del procesador. El procesador 1210 puede ser esencialmente un sistema informático completamente autónomo, que contiene múltiples núcleos o procesadores, un bus, controlador de memoria, caché, etc. Un procesador multinúcleo puede ser simétrico o asimétrico.
Para permitir la interacción del usuario con el dispositivo informático 1200, un dispositivo de entrada 1245 puede representar cualquier número de mecanismos de entrada, como un micrófono para el habla, una pantalla táctil para gestos o entrada gráfica, teclado, ratón, entrada de movimiento, habla, entre otros. Un dispositivo de salida 1235 también puede ser uno o más de una serie de mecanismos de salida conocidos por aquellos hábiles en el arte. En algunos casos, los sistemas multimodales pueden permitir que un usuario proporcione múltiples tipos de entrada para comunicarse con el dispositivo informático 1200. La interfaz de comunicaciones 1240 puede generalmente gobernar y gestionar la entrada del usuario y la salida del sistema. No hay restricción para operar en ningún arreglo de hardware en particular y, por lo tanto, las características básicas aquí pueden ser fácilmente sustituidas por arreglos de hardware o firmware mejorados a medida que se desarrollen.
El dispositivo de almacenamiento 1230 es una memoria no volátil y puede ser un disco duro u otros tipos de medios legibles por computadora que pueden almacenar datos accesibles por una computadora, como cassettes magnéticos, tarjetas de memoria flash, dispositivos de memoria de estado sólido, discos versátiles digitales, cartuchos, memorias de acceso aleatorio (RAM) 1225, memoria de solo lectura (ROM) 1220 y combinaciones de los mismos.
El dispositivo de almacenamiento 1230 puede incluir módulos de software 1232, 1234, 1236 para controlar el procesador 1210. Se contemplan otros módulos de hardware o software. El dispositivo de almacenamiento 1230 puede estar conectado al bus del sistema 1205. En un aspecto, un módulo de hardware que realiza una función particular puede incluir el componente de software almacenado en un medio legible por computadora en conexión con los componentes de hardware necesarios, como el procesador 1210, el bus 1205, la pantalla 1235, y así sucesivamente, para llevar a cabo la función.
Se puede apreciar que el sistema de ejemplo 1200 puede tener más de un procesador 1210 o formar parte de un grupo o conjunto de dispositivos informáticos interconectados para proporcionar una mayor capacidad de procesamiento.
Para mayor claridad en la explicación, en algunos casos la presente tecnología puede presentarse como que incluye bloques funcionales individuales, incluyendo bloques funcionales que comprenden dispositivos, componentes de dispositivos, pasos o rutinas en un método incorporado en software, o combinaciones de hardware y software.
Cualquiera de los pasos, operaciones, funciones o procesos descritos aquí pueden ser realizados o implementados por una combinación de módulos de hardware y software, solos o en combinación con otros dispositivos. En una modalidad, un módulo de software puede ser un software que reside en la memoria de un dispositivo cliente y/o uno o más servidores de un sistema de gestión de contenido y realiza una o más funciones cuando un procesador ejecuta el software asociado con el módulo. La memoria puede ser un medio legible por computadora no transitorio.
En algunas modalidades, los dispositivos de almacenamiento legibles por computadora, medios y memorias pueden incluir un cable o una señal inalámbrica que contiene una secuencia de bits y similares. Sin embargo, cuando se menciona, los medios de almacenamiento legibles por computadora no transitorios excluyen expresamente medios como energía, señales portadoras, ondas electromagnéticas y señales en sí mismas.
Los métodos según los ejemplos descritos anteriormente pueden implementarse utilizando instrucciones ejecutables por computadora que se almacenan o están disponibles de otra manera en medios legibles por computadora. Tales instrucciones pueden comprender, por ejemplo, instrucciones y datos que hacen que un ordenador de propósito general, un ordenador de propósito especial o un dispositivo de procesamiento de propósito especial realicen una determinada función o grupo de funciones. Porciones de los recursos informáticos utilizados pueden ser accesibles a través de una red. Las instrucciones ejecutables por computadora pueden ser, por ejemplo, binarios, instrucciones en formato intermedio como lenguaje ensamblador, firmware o código fuente. Ejemplos de medios legibles por computadora que pueden ser utilizados para almacenar instrucciones, información utilizada y/o información creada durante métodos según los ejemplos descritos incluyen discos magnéticos u ópticos, memoria flash, dispositivos USB provistos de memoria no volátil, dispositivos de almacenamiento en red, y así sucesivamente.
Los dispositivos que implementan métodos de acuerdo con estas descripciones pueden comprender hardware, firmware y/o software, y pueden tener una variedad de factores de forma. Ejemplos típicos de estos factores de forma incluyen laptops, teléfonos inteligentes, computadoras personales de factor de forma pequeño, asistentes digitales personales, y así sucesivamente. La funcionalidad descrita aquí también puede ser incorporada en periféricos o tarjetas de expansión. Tal funcionalidad también puede implementarse en una placa de circuito impreso entre diferentes chips o diferentes procesos ejecutándose en un solo dispositivo, a modo de ejemplo adicional.
Las instrucciones, los medios para transmitir dichas instrucciones, los recursos informáticos para ejecutarlas y otras estructuras para respaldar dichos recursos informáticos son medios para proporcionar las funciones descritas en estas descripciones.
Claims (8)
1. Un método para proporcionar un flujo de medios desde un sistema informático (110) que comprende una unidad de almacenamiento en caché y uno o más servidores de multidifusión, que comprende:
recibir (602), en la unidad de almacenamiento en caché (210) (110), una solicitud de un servidor de multidifusión (215, 220) para al menos un flujo de medios para reproducción en un canal de medios de difusión, en donde:
la solicitud incluye un formato solicitado;
obtener (604), en la unidad de almacenamiento en caché, contenido de internet (105) correspondiente a una pluralidad de elementos multimedia de al menos un sitio web que ofrece el contenido en al menos un primer formato;
renderizar una página web por un navegador utilizando el contenido;
generar capturas de pantalla de la página web renderizada utilizando un motor de renderizado sin interfaz gráfica basado en Webkit.
generar (606), en la unidad de almacenamiento en caché, elementos multimedia en el formato solicitado basados en el contenido obtenido del sitio web, en donde el paso de generar elementos multimedia comprende:
ensamblar un componente de vídeo de un elemento multimedia utilizando las capturas de pantalla; combinar la pluralidad de capturas de pantalla y al menos un archivo de audio para crear cada uno de la pluralidad de elementos multimedia, y guardar el elemento multimedia en la unidad de almacenamiento en caché; y
proporcionar al menos un flujo de medios a un proveedor de contenido para la multidifusión (220, 215) en el canal de medios de difusión, en donde:
el paso de proporcionar comprende ensamblar (608) el al menos un flujo de medios en el formato solicitado utilizando una pluralidad de los elementos multimedia guardados en la unidad de almacenamiento en caché, en donde:
la obtención comprende:
recuperar, para cada elemento multimedia de la pluralidad de elementos multimedia, al menos un archivo de audio correspondiente a un componente de audio del elemento multimedia y una pluralidad de capturas de pantalla correspondientes a un componente de vídeo del elemento multimedia; y
el método además comprende:
detectar un cambio en al menos un sitio web correspondiente a al menos uno de la pluralidad de elementos multimedia guardados en la unidad de almacenamiento en caché;
en respuesta a la detección del cambio, recuperar una nueva pluralidad de capturas de pantalla del al menos un sitio web para al menos uno de la pluralidad de elementos multimedia; y
reasamblear el al menos uno de la pluralidad de elementos multimedia utilizando la nueva pluralidad de capturas de pantalla para obtener un elemento multimedia actualizado.
2. El método de la reivindicación 1, en donde la recuperación de la pluralidad de capturas de pantalla comprende obtener la pluralidad de capturas de pantalla de una reproducción de un vídeo en al menos un sitio web.
3. El método de la reivindicación 1, en donde el método comprende agregar metadatos al menos a un flujo de medios como un identificador de programa PID en un flujo de transporte MPEG.
4. El método de la reivindicación 1, en donde el proveedor de contenido es un operador de televisión por cable o un operador de televisión por satélite.
5. El método de la reivindicación 1, en donde proporcionar al menos un flujo de medios al proveedor de contenido comprende transmitir el al menos un flujo de medios a un multiplexor MPEG asociado con el proveedor de contenido.
6. El método de cualquier reivindicación anterior, que comprende:
realizar una función de grabación 790 en uno o más servidores de multidifusión, en donde la función de grabación registra los flujos de medios para su uso posterior en caso de fallo del sistema.
7. El método de la reivindicación 6, que comprende:
verificar que la unidad de almacenamiento en caché esté operativa; y
si la unidad de almacenamiento en caché no está operativa, realizar la multidifusión de un flujo de medios pregrabado.
8. Un sistema que comprende:
una unidad de almacenamiento en caché y uno o más servidores de multidifusión, en donde la unidad de almacenamiento en caché comprende al menos un procesador;
un medio de almacenamiento legible por ordenador que tiene almacenadas en el mismo instrucciones que, cuando son ejecutadas por el procesador, hacen que el sistema:
realice un método de acuerdo con cualquier reivindicación anterior.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462095504P | 2014-12-22 | 2014-12-22 | |
PCT/US2015/067464 WO2016106360A1 (en) | 2014-12-22 | 2015-12-22 | Method, system, and apparatus for multimedia content delivery to cable tv and satellite operators |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2976132T3 true ES2976132T3 (es) | 2024-07-24 |
Family
ID=56151532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15874332T Active ES2976132T3 (es) | 2014-12-22 | 2015-12-22 | Método, sistema y aparato para la entrega de contenido multimedia a operadores de televisión por cable y satélite |
Country Status (9)
Country | Link |
---|---|
US (4) | US10123074B2 (es) |
EP (1) | EP3238457B1 (es) |
DK (1) | DK3238457T3 (es) |
ES (1) | ES2976132T3 (es) |
FI (1) | FI3238457T3 (es) |
HU (1) | HUE063857T2 (es) |
PL (1) | PL3238457T3 (es) |
PT (1) | PT3238457T (es) |
WO (1) | WO2016106360A1 (es) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106360A1 (en) * | 2014-12-22 | 2016-06-30 | Hernandez-Mondragon Edwin A | Method, system, and apparatus for multimedia content delivery to cable tv and satellite operators |
WO2018073317A1 (en) * | 2016-10-18 | 2018-04-26 | Expway | A method for transmitting content to mobile user devices |
US10271077B2 (en) | 2017-07-03 | 2019-04-23 | At&T Intellectual Property I, L.P. | Synchronizing and dynamic chaining of a transport layer network service for live content broadcasting |
US11108840B2 (en) * | 2017-07-03 | 2021-08-31 | At&T Intellectual Property I, L.P. | Transport layer network service for live content broadcasting |
FR3073112B1 (fr) * | 2017-11-02 | 2021-04-02 | Ateme | Procede et systeme de traitement d'un contenu multimedia dans un reseau de zone metropolitaine |
CN107819863A (zh) * | 2017-11-16 | 2018-03-20 | 郑州云海信息技术有限公司 | 一种云平台用户的统一管理方法和装置 |
US11431773B2 (en) | 2019-06-13 | 2022-08-30 | Caffeine Inc. | Multicast broadcast network architcture |
GB2597334A (en) * | 2020-07-17 | 2022-01-26 | Playrcart Ltd | A media player |
US11914555B2 (en) * | 2021-09-10 | 2024-02-27 | Arris Enterprises Llc | Data processing for networking systems |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6459427B1 (en) | 1998-04-01 | 2002-10-01 | Liberate Technologies | Apparatus and method for web-casting over digital broadcast TV network |
US7320025B1 (en) | 2002-03-18 | 2008-01-15 | Music Choice | Systems and methods for providing a broadcast entertainment service and an on-demand entertainment service |
US7275256B1 (en) | 2001-08-28 | 2007-09-25 | Music Choice | System and method for providing an interactive, visual complement to an audio program |
WO2002043396A2 (en) | 2000-11-27 | 2002-05-30 | Intellocity Usa, Inc. | System and method for providing an omnimedia package |
US20090178003A1 (en) | 2001-06-20 | 2009-07-09 | Recent Memory Incorporated | Method for internet distribution of music and other streaming content |
US8887040B2 (en) * | 2006-08-10 | 2014-11-11 | Qualcomm Incorporated | System and method for media content delivery |
US8077263B2 (en) * | 2006-10-23 | 2011-12-13 | Sony Corporation | Decoding multiple remote control code sets |
US8763038B2 (en) * | 2009-01-26 | 2014-06-24 | Sony Corporation | Capture of stylized TV table data via OCR |
US9106800B2 (en) * | 2007-08-31 | 2015-08-11 | At&T Intellectual Property I, L.P. | System and method of monitoring video data packet delivery |
US20120227067A1 (en) * | 2009-09-15 | 2012-09-06 | Xiao Jun Ma | Method and device for providing complementary information |
US9788075B2 (en) * | 2010-08-27 | 2017-10-10 | Intel Corporation | Techniques for augmenting a digital on-screen graphic |
US9418388B1 (en) * | 2010-09-08 | 2016-08-16 | Imdb.Com, Inc. | Techniques for displaying third party content |
CA2814070A1 (en) * | 2010-10-14 | 2012-04-19 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
KR20130048094A (ko) * | 2011-11-01 | 2013-05-09 | 한국전자통신연구원 | 콘텐츠 스트리밍 중계를 위한 노드 장치 및 그 방법 |
WO2013138743A1 (en) * | 2012-03-15 | 2013-09-19 | Cobb Daniel J | Digital parental controls interface |
BR122015005194A2 (pt) * | 2012-06-28 | 2019-08-20 | Ericsson Ab | Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top |
US9071853B2 (en) * | 2012-08-31 | 2015-06-30 | Google Technology Holdings LLC | Broadcast content to HTTP client conversion |
US8953618B2 (en) * | 2012-10-10 | 2015-02-10 | Telefonaktiebolaget L M Ericsson (Publ) | IP multicast service leave process for MPLS-based virtual private cloud networking |
US9357239B2 (en) | 2012-11-16 | 2016-05-31 | Adobe Systems Incorporated | Converting live streaming content to video-on-demand streaming content |
US9497489B2 (en) * | 2013-03-12 | 2016-11-15 | Google Technology Holdings LLC | System and method for stream fault tolerance through usage based duplication and shadow sessions |
US9143840B2 (en) * | 2013-05-20 | 2015-09-22 | Veenome, Inc. | Systems and methods for evaluating online videos |
US20140351871A1 (en) | 2013-05-22 | 2014-11-27 | Microsoft Corporation | Live media processing and streaming service |
US20150382081A1 (en) * | 2014-06-27 | 2015-12-31 | BlurbIQ, Inc. | Generation of video content |
WO2016106360A1 (en) * | 2014-12-22 | 2016-06-30 | Hernandez-Mondragon Edwin A | Method, system, and apparatus for multimedia content delivery to cable tv and satellite operators |
-
2015
- 2015-12-22 WO PCT/US2015/067464 patent/WO2016106360A1/en active Application Filing
- 2015-12-22 PL PL15874332.8T patent/PL3238457T3/pl unknown
- 2015-12-22 HU HUE15874332A patent/HUE063857T2/hu unknown
- 2015-12-22 DK DK15874332.8T patent/DK3238457T3/da active
- 2015-12-22 ES ES15874332T patent/ES2976132T3/es active Active
- 2015-12-22 PT PT158743328T patent/PT3238457T/pt unknown
- 2015-12-22 EP EP15874332.8A patent/EP3238457B1/en active Active
- 2015-12-22 US US15/538,911 patent/US10123074B2/en active Active
- 2015-12-22 FI FIEP15874332.8T patent/FI3238457T3/fi active
-
2018
- 2018-10-05 US US16/152,606 patent/US10524002B2/en active Active
-
2019
- 2019-12-30 US US16/729,986 patent/US11140441B2/en active Active
-
2021
- 2021-10-04 US US17/493,490 patent/US12075116B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US12075116B2 (en) | 2024-08-27 |
WO2016106360A1 (en) | 2016-06-30 |
US20220030306A1 (en) | 2022-01-27 |
EP3238457B1 (en) | 2023-07-26 |
US10524002B2 (en) | 2019-12-31 |
US20190037271A1 (en) | 2019-01-31 |
PL3238457T3 (pl) | 2024-02-05 |
PT3238457T (pt) | 2023-11-16 |
US20200322679A1 (en) | 2020-10-08 |
US10123074B2 (en) | 2018-11-06 |
HUE063857T2 (hu) | 2024-02-28 |
FI3238457T3 (fi) | 2023-11-13 |
EP3238457A4 (en) | 2018-09-19 |
EP3238457A1 (en) | 2017-11-01 |
US20170374417A1 (en) | 2017-12-28 |
DK3238457T3 (da) | 2023-10-30 |
US11140441B2 (en) | 2021-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2976132T3 (es) | Método, sistema y aparato para la entrega de contenido multimedia a operadores de televisión por cable y satélite | |
US11483598B2 (en) | Method and system for real-time transcoding of MPEG-DASH on-demand media segments while in transit from content host to dash client | |
ES2848116T3 (es) | Transmisión basada en formato de archivo con formatos DASH basados en LCT | |
JP6845223B2 (ja) | コーディングされたオーディオデータのトランスポート | |
US9954717B2 (en) | Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format | |
CA2807157C (en) | Manifest file updates for network streaming of coded video data | |
ES2788901T3 (es) | Procesamiento de contenido multiperiodo continuo | |
US20190208234A1 (en) | Forming One Or More Tile Streams On The Basis Of One Or More Video Streams | |
CN108702527A (zh) | 用于使用通用夹层分发格式的媒体传送的系统和方法 | |
BR112015022239B1 (pt) | Método para desviar uma solicitação de arquivo de manifesto em um sistema de taxa de bits adaptativa, reprodutor de taxa de bits adaptativa para realizar a transmissão do conteúdo de transmissão de taxa de bits adaptativa através de uma rede a um cliente e meio de armazenamento legível por computador | |
WO2016058411A1 (zh) | 一种http实时流媒体分片的拼接方法及拼接系统 | |
JP2018530210A (ja) | メディア・ストリームに基づくタイルド・ビデオの形成 | |
BR112020015214A2 (pt) | inserção dinâmica de anúncio condicional | |
JPWO2015001947A1 (ja) | 送信装置、送信方法、受信装置および受信方法 | |
KR20110053179A (ko) | 데이터 전송 방법 및 장치 | |
BR112020000307A2 (pt) | processamento de dados de mídia que utiliza trilhas de arquivo para conteúdo de web | |
KR102499231B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
BR112020014495A2 (pt) | processamento de conteúdo de rede dinâmica de uma faixa de recurso de rede iso bmff | |
US9843615B2 (en) | Signaling and handling of forensic marking for adaptive streaming | |
Begen et al. | Are the streamingformat wars over? | |
KR20160120605A (ko) | 하이브리드망에서의 미디어 서비스 송수신 장치 및 방법 | |
Stockhammer | MPEG's Dynamic Adaptive Streaming over HTTP (DASH)–Enabling Formats for Video Streaming over the Open Internet | |
Eberhard et al. | Nextsharepc: an open-source bittorrent-based p2p client supporting svc | |
Stockhammer | MPEG's Dynamic Adaptive Streaming over HTTP (DASH)-‐An Enabling Standard for Internet TV | |
Thompson | Maximizing content with cloud, virtualization and AI |