CN105940452B - 用于改善离线内容播放的方法 - Google Patents

用于改善离线内容播放的方法 Download PDF

Info

Publication number
CN105940452B
CN105940452B CN201580006641.0A CN201580006641A CN105940452B CN 105940452 B CN105940452 B CN 105940452B CN 201580006641 A CN201580006641 A CN 201580006641A CN 105940452 B CN105940452 B CN 105940452B
Authority
CN
China
Prior art keywords
content
multiple portions
content stream
request
offline
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
Application number
CN201580006641.0A
Other languages
English (en)
Other versions
CN105940452A (zh
Inventor
凯文·格林
罗伯特·克里斯托弗·冈特
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN105940452A publication Critical patent/CN105940452A/zh
Application granted granted Critical
Publication of CN105940452B publication Critical patent/CN105940452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/23439Processing 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 for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47214End-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 content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (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)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

在一种用于离线内容播放的方法和系统中,接收从内容共享服务流送用于由媒体播放器呈现的内容的第一多个部分。接收来自用户的使所述内容可用于离线播放的请求,并且响应于所述请求,存储从所述内容共享服务流送用于由所述媒体播放器呈现的所述内容的第二多个部分。从所述内容共享服务请求并接收所述第一多个部分。存储所接收的第一多个部分,使得所述第一多个部分和所述第二多个部分可用于离线播放。

Description

用于改善离线内容播放的方法
技术领域
本公开的方面涉及内容呈现的领域,并且更具体地,涉及一种用于离线内容播放的方法。
背景技术
在互联网上,内容托管网站或其他应用(例如内容共享服务器)允许用户上传、查看和共享数字内容。这样的数字内容可以包括音频剪辑、电影剪辑、TV剪辑和音乐视频以及诸如视频博客、短的原创视频、图片、照片等的业余的内容。查看者则可以查看从内容共享服务器被流送到查看者设备用于播放的内容,其中流内容的质量可以取决于查看者设备的网络连接而变化。例如,如果连接速度慢,则查看者设备可以请求较低质量的内容,以防止会中断内容的播放的缓冲。
然而,查看者可能希望使内容可用于(例如,暂时可用于)离线查看,例如,在没有到互联网或另一网络的连接的情况下。例如,用户可能在某些内容的播放期间确定用户想之后在用户不能访问内容共享服务器时再次播放内容或与其他人共享内容。进一步地,用户可能会希望具有可用于离线播放的最高质量的内容,因为当内容未被流送时网络条件不是问题。
发明内容
在一些实施方式中,提出了一种用于离线内容播放的方法。所述方法包括:接收从内容共享服务流送用于由媒体播放器呈现的内容的第一多个部分;以及接收来自用户的使所述内容可用于离线播放的请求。响应于所述请求,存储从所述内容共享服务流送用于由所述媒体播放器呈现的所述内容的第二多个部分。从所述内容共享服务请求并接收所述第一多个部分。存储所接收的第一多个部分,使得所述第一多个部分和所述第二多个部分可用于离线播放。
在一些实施方式中,识别所述内容的所述第一多个部分和所述内容的所存储的第二多个部分中的较低质量的部分;并且响应于识别所述内容中的所述较低质量的部分,从所述内容共享服务请求具有较高质量的替换部分。
在一些实施方式中,接收并存储具有所述较高质量的所述替换部分,其中,所述替换部分替换具有所述较低质量的所述部分。然后利用所述替换部分使所述内容可用于离线播放。可以通过清单来识别所述较低质量的部分。
对所述第一多个部分的所述请求可以是响应于所述第二多个部分的所述呈现的完成。如果到所述内容共享服务的连接在接收具有所述较高质量的所述替换部分之前中断,则所述内容利用所述较低质量的部分保持可用于离线播放。可以在所述第一多个部分的所述呈现之后接收使所述内容可用于离线播放的所述请求。
附图说明
提供下面给出的详细描述并通过本公开的各种实施例的附图将更充分地理解本公开。
图1图示了根据本公开的一个实施例的示例性系统架构。
图2图示了根据本公开的一个实施例的离线播放系统。
图3是图示用于离线内容播放的方法的一个实施例的流程图。
图4是图示用于离线内容播放的另一个方法的一个实施例的流程图。
图5是可以执行本文所描述的操作中的一个或多个操作的示例性计算机系统的框图。
具体实施方式
本公开的方面涉及一种当用户设备不经由网络被连接到内容共享服务时用于离线内容播放的方法,诸如视频或音频的播放。在一些实施方式中,提供了一种方法,该方法允许用户使来自内容共享服务的流内容(诸如音频或视频内容)可用于离线播放(例如,暂时可用于离线播放),因此可以在以后没有网络或互联网连接的情况下播放该内容。在实施例中,在该内容正被从内容共享服务向用户的设备流送时,用户可以请求使该内容可用于离线播放。一旦接收到用户的请求,用户的设备可以在用户正在查看流内容的同时下载和存储该内容的部分。一旦该内容的流送结束,设备可以请求在对该内容的请求和作为结果的存储开始之前被流送的该内容的部分。例如,设备可以在到内容共享服务的连接可用时请求这些部分。一旦设备接收到先前未被存储在设备上的该内容的这些部分,则可以使该内容可用于离线播放。
在实施例中,在内容的流送期间,可以利用诸如HTTP实时流媒体(HLS)或动态自适应HTTP流媒体(DASH)的自适应比特率协议来流送内容,其中可以取决于用户设备的网络连接(诸如网络速度)在中流改变流内容的质量(例如,改变针对不间断播放需要较低的比特率的较低的质量)。自适应比特率协议有助于防止在播放期间引起中断的缓冲。例如,当播放HLS视频时,用户设备可以先下载HLS清单文件,该文件包括视频的各种质量的音频和视频部分的URL的列表。这些部分可以包括视频的小部分,例如每个10秒。然后,用户设备可以基于当前网络带宽来选择使用哪些质量部分。例如,如果网络条件级别降低(例如,由于从WiFi断开连接),则用户设备可以选择切换到较低质量的流,以防止缓冲。随后,如果网络连接改善(例如,由于重新连接到WiFi),则用户设备可以选择切换到高质量部分的流。
当用户期望拥有离线可用的内容时,用户一般会希望使该内容的最高质量的版本可用。但是,如果当正在提取用于离线可用性的内容时用户正在播放内容,则最初提取到内容的质量参差不齐的版本,其中一些内容部分可能是低质量的。
用于改善可用于离线播放的内容的质量的一个示例解决方案是使用户设备等待,直到用户完成观看内容,并且然后开始提取用于离线播放的高质量的内容部分。此解决方案可能增加用户为了能够离线播放视频而不得不等待的时间,并且其可能会导致提取相同的内容两次。
根据本公开的一些方面,为了改善可用于离线播放的内容的质量,用户设备可以识别不是最高质量的内容部分并且请求针对所识别的内容部分的较高质量的替换部分。用户设备可以在到内容共享服务的连接可用时请求替换部分。换句话说,本公开的方面在内容被流送时动态存储内容,并且后来提取内容的较高质量的部分,以替换被存储的低质量的部分。
在一些实施方式中,在用户设备上运行代理服务器。在用户设备上呈现内容的媒体播放器可以通过代理服务器请求内容部分,而不是直接从内容共享服务请求,使得内容部分在到达媒体播放器之前先经过了代理服务器。代理服务器可以在将这些内容部分转发到媒体播放器之前在从内容共享服务接收到这些部分时将所述内容部分存储在本地数据存储中。因此,所述部分可以被存储在数据存储中用于以后离线播放。
一旦用户停止播放内容,则用户设备上的离线播放组件可以开始提取在播放期间没有被代理服务器提取的部分。一旦已经提取内容的这些部分并且内容可用于从本地数据存储离线播放,则离线播放组件可以识别低质量的部分并且在必要时请求较高质量的版本。
如果网络连接在离线播放组件已经完成对较高质量的部分的请求和接收之前中断,则低质量的部分仍然可用于离线播放。
在其他实施方式中,媒体播放器本身存储内容部分(在不使用代理服务器的情况下)。在又一些其他实施方式中,代替在为媒体播放器提取内容部分时存储所述内容部分,用户设备可以使用单独的较低优先级的连接在后台下载高质量的内容版本。经由较低优先级的连接的下载致使高质量的内容版本可用于离线播放,而不会中断内容的原始查看。在又一些其他实施方式中,可以预先存储内容的部分用于离线播放。例如,可以向用户示出内容的列表,并且用户设备可以存储用户从内容的列表选择的每一项的部分,以便减少内容显示启动时间并且减少使内容可用于离线播放所需要的时间。
本公开的方面提供了一种使得用户能够离线查看顶级质量内容的无缝离线播放体验,其中内容的部分在它们被实时播放时被存储并且低质量的部分的较高质量的版本稍后在网络条件允许时被提取。因此,避免了不必要地提取相同的内容两次的过程,并且减少了用户为了能够离线播放内容而不得不等待的时间。
图1图示了根据本公开的一个实施例的示例性系统架构100。系统100包括与内容共享服务110通信(例如,被耦合到内容共享服务110)的用户设备105,该设备具有数据存储130。网络102可以是专用网络(例如,局域网(LAN)、广域网(WAN)、内联网等)、企业网络(例如,用于诸如公司的组织的专用网络)、广播网络、公共网络(例如,互联网)、有线网络(例如,以太网网络)、无线网络(例如,802.11网络)和/或蜂窝网络(例如,长期演进(LTE)网络)。
用户设备105和内容共享服务110可以是任何类型的计算设备,例如,包括处理器、计算机可读介质和存储器的设备。内容共享服务110可以包括具有广泛的处理能力的计算设备,诸如个人计算机(PC)、服务器计算机、个人数字助理(PDA)、智能电话、膝上型计算机、上网本计算机、平板设备和/或能够执行指定要由机器采取的动作的指令集(顺序的或以其他方式)的任何机器。本公开的实施例可以在单个服务器设备内或在多个服务器设备上进行操作。
在一些实施例中,用户设备105可以正在执行被适配为通过互联网相关的协议(例如,TCP/IP和HTTP)进行通信和/或显示用户界面的浏览器应用或其他应用。
用户设备105可以包括媒体播放器140。在一个实施方式中,媒体播放器140可以是允许用户查看内容的应用,所述内容诸如图像、视频、网页、文档等。例如,媒体播放器140可以是可以访问、检索、呈现和/或导航由web服务器所提供的内容(例如,诸如超文本标记语言(HTML)网页的网页、数字媒体项等)的web浏览器。媒体播放器140可以向用户渲染、显示和/或呈现内容。媒体播放器140也可以是被嵌入在网页(例如,可以提供与在线商家所出售的产品有关的信息的网页)中的嵌入式媒体播放器(例如,播放器或HTML5播放器)。在另一示例中,媒体播放器140可以是允许用户查看数字媒体项(例如,数字视频、数字图像、电子图书等)的独立的应用。媒体播放器140可以由内容共享服务器110提供给用户设备105。例如,媒体播放器140可以是嵌入在由内容共享服务110所提供的网页中的嵌入式媒体播放器。在另一示例中,媒体播放器140可以是从另一个系统所下载的应用。
在一个实施例中,内容共享服务110向用户设备105提供包括媒体项(例如,数字视频、流视频、图像、数字音乐、流音乐、社交媒体信息、数字图像、照片等)的内容。例如,内容共享服务110可以经由网络102提供用户所请求的用于在用户设备105上播放的媒体项,诸如流视频。
数据存储130可以包括一个或多个可写持久性存储设备,诸如存储器、磁带或磁盘。虽然用户设备105和数据存储130在图1中被描绘为一起在单个设备中被实现,但是这些组件可以是单个的不相干的组件或以一起操作的多个不同设备的各种组合进行联网。设备的示例可以包括但不限于服务器、大型计算机、联网的计算机、基于过程的设备以及类似类型的系统和设备。
用户设备105可以包括离线播放系统135以促进内容的离线播放。用户设备105的用户可以在媒体播放器140上选择查看来自内容共享服务110的流内容,诸如视频内容或音频内容。当用户正在实时查看内容时,用户可以请求内容可供用户离线使用。例如,用户想内容在以后的时间在不具有到内容共享服务110的连接的情况下在用户设备105上可用。在实施例中,内容仅暂时可用,例如,诸如24小时的预定的时间段。替选地,内容可以保持长期可供用户在用户设备135上使用,但用户可以在任何时候从用户设备移除内容。存储用于离线播放的内容的持续时间可以是预定义或可配置的并且可以是短期或长期的。
响应于使内容可用于离线播放的请求,离线播放系统135开始缓存或存储在该请求之后所接收的内容的部分。离线播放系统135可以将这些部分存储在数据存储130中,所述数据存储130可以是用户设备105的本地数据存储。离线播放系统135可以在所述部分被流送到用户设备105用于由媒体播放器140播放时继续将内容的部分的剩余部分存储在数据存储器130中。
在实施例中,一旦内容的部分的流送完成,则离线播放系统135从内容共享服务110请求没有被存储在数据存储器130中的内容的部分。例如,离线播放系统135可以请求在用户的使内容可用于离线播放的请求之前流送的内容的部分,因为离线播放系统135在用户的请求之前并未存储该内容。离线播放系统135然后从内容共享服务110接收这些所请求的部分(即,缺少的部分)并且将这些所请求的部分存储在数据存储130中。一旦离线播放系统135已经连同在内容的流送期间被存储的内容的部分一起存储了内容的所请求的部分,则使得内容可用于用户离线播放内容。
在实施例中,离线播放系统135也可以识别在流送期间所存储的内容的低质量的部分。例如,内容的部分中的一些部分可能已经是低质量的部分,因为在这些部分的流送期间到内容共享系统110的连接较差。内容的其他部分可能已经是高质量的部分,因为在这些部分的流送期间到内容共享系统110的连接良好。对于低质量的部分(例如,不是可用的最高质量的部分)中的每一个,播放系统135然后可以从内容共享服务110请求较高质量的部分(例如,可用的最高质量的部分)。
一旦离线播放系统135已经接收到这些所请求的部分,则离线播放系统135然后可以用所接收的高质量的部分来替换低质量的部分。在离线播放系统135已经用高质量的部分替换低质量的部分之后,内容的高质量版本可用于由用户离线播放。然而,如果网络连接不可用于离线播放系统以请求替换部分或低质量的部分的替换尚未发生,则用户仍然能够播放内容的低质量版本或具有较低质量的部分的内容的版本。
图2图示了根据本公开的一个实施例的离线播放系统210。离线播放系统210可以包括内容接收模块201和内容质量模块203。更多或更少的组件可被包括在离线播放系统210中而不失一般性。在实施例中,离线播放系统210是图1中所示的离线播放系统135并且数据存储250是图1中所示的数据存储130。
在实施例中,响应于使流内容可用于在用户设备上离线播放的用户请求,内容接收模块201存储被随后流送到数据存储250中的内容列表251的内容的部分。例如,当用户选择使内容可用于离线播放时正在用户设备上向用户呈现来自内容共享服务的流内容。内容接收模块201接收该请求,并且存储在该请求之后流送的部分,同时继续向用户呈现流内容。
根据实施例,一旦内容的流送完成,内容接收模块201请求内容共享服务发送在该请求之前流送的部分。例如,在该请求之前流送的内容的部分未被存储在内容列表251中,因为用户还没有请求使内容可用于离线播放。一旦内容接收模块201接收所请求的部分(即,缺少的部分),则内容接收模块201将这些所请求的部分存储在数据存储器250的内容列表251中。现在可以使内容可用于用户进行离线播放。数据存储器250可以是数据库或任何其他存储库。替选地,可以使用内容名作为文件名(或文件名的一部分)将内容部分存储在文件系统上,并且可以使用内容名进行查找。
内容接收模块210可以是上面所讨论的代理服务器。替选地,内容接收模块210可以是媒体播放器的一部分。
在实施例中,在所述部分被存储在内容列表251中(例如,内容的基本上所有或所有部分)之后,内容质量模块203可以识别所存储的内容的低质量的部分。例如,内容质量模块203可以使用在内容之前被下载到用户设备的清单文件(例如,HLS清单文件)识别所存储的内容的低质量的部分。清单文件可以包括各种质量的内容部分的URL的列表。如果清单文件包括相同的内容部分的更高质量的版本的URL,则内容质量模块203可以确定部分是低质量的。
对于每个低质量的部分,内容质量模块203从内容共享服务请求高质量的部分(例如,使用来自清单文件的相应URL)以替换低质量的部分。一旦已接收到替换高质量部分,则内容接收模块201将这些部分存储在内容列表251中,其中用高质量的部分替换低质量的部分。然而,如果高质量部分中的部分或全部不可用(例如,由于不良连接),则内容保持可用于由用户离线播放,但部分中的一些部分是低质量的。
图3是图示用于离线内容播放的方法300的实施例的流程图。方法300可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理设备上运行以执行硬件仿真的指令)或它们的组合的处理逻辑来执行。
为了说明得简化起见,本公开的方法被描绘和描述为一系列动作。然而,根据本公开的动作可以按各种顺序和/或同时以及与本文未呈现和描述的其他动作一起发生。此外,并不是所有图示的动作可能都需要来实现根据所公开的主题的方法。另外,本领域技术人员将理解和明白,可以经由状态图或事件将方法替选地表示为一系列相互关联的状态。另外,应该理解的是,在本说明书中所公开的方法能够被存储在制品上,以便将这样的方法输送和传送到计算设备。如本文所用,术语“制品”意在涵盖从任何计算机可读设备或存储介质可访问的计算机程序。在一个实施方式中,方法300由用户设备(例如,图1的用户设备105)执行。
在块302处,处理逻辑从内容共享服务接收内容的第一多个部分用于由媒体播放器实时播放。在块304处,处理逻辑接收来自用户的使内容可用于离线播放的请求。例如,用户在流内容正在用户设备上被实时呈现时并且在内容的一些部分已经被呈现或播放之后请求使内容可用于离线播放。
在块306处,处理逻辑接收内容的第二多个部分用于由媒体播放器实时播放。在块308处,处理逻辑本地存储所述第二多个部分。例如,响应于用户的请求,也可以将在请求之后所呈现的内容的部分本地存储在用户设备上。
在块310处,处理逻辑从内容共享服务请求所述第一多个部分。在块312处,处理逻辑接收所请求的第一多个部分。在块314处,处理逻辑存储所接收的第一多个部分,使得包括第一多个部分和第二多个部分的内容可用于离线播放。例如,请求在用户的请求之前流送和显示的内容的部分并且然后在接收到时进行存储,使得内容可用于由用户离线播放。
在实施例中,当从内容共享服务流送第一多个部分时存储内容的第一多个部分。例如,可以在接收到使内容可用于离线播放的请求时将第一多个部分存储在随机存取存储器中,并且然后在接收到使内容可用于离线播放的请求之后复制到本地存储器。可以在完成了第二多个部分的呈现时从随机存取存储器丢弃第一多个部分。
图4是图示用于离线内容播放的方法400的实施例的流程图。方法400可以由可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理设备上运行以执行硬件仿真的指令)或它们的组合的处理逻辑来执行。在一个实施例中,方法300由用户设备(例如,图1的用户设备105)执行。
在块402处,处理逻辑识别内容的所存储的第一多个部分和第二多个部分中的较低质量的部分。在块404处,响应于识别内容的较低质量的部分,处理逻辑请求具有较高质量的替换部分。例如,由于正在被流送内容的部分,因此由于到内容共享服务的不良连接,部分中的一些部分可能是较低质量的。因此,针对任何较低质量的部分请求较高质量的替代部分。可以在用户设备和内容共享服务之间的连接足够良好时请求这些替换部分。
在块406处,处理逻辑接收较高质量的替换部分。在块408处,处理逻辑存储替换部分,其中,替换部分替换具有较低质量的部分。一旦接收到较高质量的替换部分,则使用较高质量的替换部分来替换较低质量的部分。
在块410处,处理逻辑利用替换部分使内容可用于离线播放。一旦较高质量的替换部分替换了较低质量的部分时,则用户然后可以离线播放内容,其中内容具有比被流送到用户设备的内容的更高的质量。
图5图示了计算机系统500的示例性形式的机器的图示,在所述机器内,可以执行用于使所述机器执行本文所论述的方法论中的任何一个或多个方法的指令集。在替选实施例中,所述机器可以在LAN、内联网、外联网或互联网中被连接(例如,被联网)到其他机器。所述机器可以作为客户端-服务器网络环境中的服务器或客户端机器来操作或者操作为对等(或分布式)网络环境中的对等机器。所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web电器、服务器、网络路由器、交换机或桥或能够执行指定要由机器采取的动作的指令集(顺序的或以其他方式)的任何机器。此外,虽然仅图示了单个机器,但是术语“机器”也应当被解释为包括个体地或联合地执行一组(或多组)指令以执行本文所论述的方法论中的任何一个或多个方法的机器的任何集合。
示例性计算机系统500包括处理设备(处理器)502、主存储器504(例如,只读存储器(ROM)、闪速存储器、诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等的动态随机存取存储器(DRAM))、静态存储器506(例如,闪速存储器、静态随机存取存储器(SRAM)等)和数据存储设备518,它们经由总线530彼此通信。
处理器502代表一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地说,处理器502可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或者实现其他指令集的处理器或实现指令集的组合的处理器。处理器502也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理器502被配置为执行用于执行本文所讨论的操作和步骤的指令526。
计算机系统500可以进一步包括网络接口设备508。计算机系统500还可以包括视频显示单元510(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备512(例如,键盘)、光标控制设备514(例如,鼠标)以及信号生成设备516(例如,扬声器)。
数据存储设备518可以包括其上存储有实施本文所描述的方法论或功能中的任何一个或多个方法或功能的一个或多个指令522集(例如,软件)的机器可读存储介质(或计算机可读存储介质)528。指令522还可以在由计算机系统500执行期间完全或至少部分地驻留在主存储器504和/或处理器502内,主存储器504和处理器502也构成计算机可读存储介质。可以进一步经由网接口设备508通过网络516传送或接收指令522。
在一个实施例中,指令522包括用于可以与图1的离线播放系统135相对应的离线播放系统550的指令和/或用于离线播放的系统。虽然机器可读存储介质528在示例性实施例中被示出为单个介质,但是术语“机器可读存储介质”应被理解为包括存储该一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联缓存和服务器)。术语“机器可读存储介质”也应被理解为包括能够存储、编码或携带用于由机器执行并且使机器执行本公开的方法论中的任何一个或多个方法的指令集的任何介质。术语“计算机可读存储介质”或“机器可读存储介质”应相应地被理解为包括但不限于固态存储器、光介质和磁介质。
在上述的描述中,阐述了许多细节。然而,受益于本公开的本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实施本公开。在一些情况下,以框图的形式而非详细示出公知的结构和设备,以免模糊本公开。
已根据对计算机存储器内的数据比特的操作的算法和符号表示呈现了详细描述的一些部分。这些算法描述和表示是数据处理领域技术人员用来向本领域其他技术人员最有效地传达其工作的实质的手段。算法在这里并且通常被认为是导致期望的结果的步骤的自一致序列。步骤需要对物理量的物理操纵。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。已经证明有时主要为了通用的原因将这些信号称为比特、值、元素、符号、字符、项、数字等是方便的。
然而,应牢记,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便的标签。除非另外特别声明,否则从以下讨论可知,可以明白,在整个描述中,使用术语诸如“确定”、“计算(computing)”、“计算(calculating)”、“获得”、“识别”、“修改”等的讨论是指计算机系统或类似电子计算设备的动作和过程,其将被表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵和转换成被类似地表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量的其他数据。
本公开还涉及一种用于执行本文中的操作的装置。此装置可以被特别地构造用于所需目的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质上,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适于存储电子指令的任何类型的介质。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性被包括在至少一个实施例中。因此,在本说明书的不同的地方出现的短语“在一个实施例中”或“在实施例中”不一定全部指相同的实施例。另外,术语“或”旨在表示包含性“或”而不是排他性“或”。
应该理解的是,上面的描述旨在是说明性的而不是限制性的。在阅读和理解上述的描述后,许多其他实施例对于本领域技术人员将是显而易见的。因此应当参考所附权利要求书连同属于这些权利要求的等效物的全部范围来确定本公开的范围。

Claims (21)

1.一种用于离线内容播放的方法,包括:
由计算机系统中的处理设备接收从内容共享服务流送到所述计算机系统以用于由所述计算机系统处的媒体播放器播放的内容流的第一多个部分;
由所述处理设备接收使所述内容流可用于在所述计算机系统处离线播放的请求,其中,所述请求是在所述内容流正从所述内容共享服务流送到所述计算机系统的同时并且在由所述媒体播放器播放所述内容流期间被接收的,其中,所述第一多个部分在接收到使所述内容流可用于离线播放的所述请求之前正从所述内容共享服务流送到所述计算机系统处,并且其中,所述第一多个部分在接收到使所述内容流可用于离线播放的请求之前不被存储用于在所述计算机系统处离线播放;
响应于接收到使所述内容流可用于离线播放的所述请求,在从所述内容共享服务向所述计算机系统流送所述内容流的第二多个部分用于由所述媒体播放器播放时,由所述处理设备将所述第二多个部分存储在所述计算机系统处,并且由所述处理设备从所述内容共享服务请求所述第一多个部分;
由所述处理设备从所述内容共享服务接收所请求的第一多个部分;以及
由所述处理设备将所接收的所请求的第一多个部分存储在所述计算机系统处,其中所接收的所请求的第一多个部分和所述第二多个部分被使得可用于在所述计算机系统处离线播放。
2.如权利要求1所述的方法,进一步包括:
将所述第一多个部分或在所述计算机系统处存储的第二多个部分的初始部分识别为具有较低质量;以及
响应于将所述初始部分识别为具有所述较低质量,从所述内容共享服务为所述初始部分请求所述内容流的替换部分,所述替换部分比所述初始部分具有较高质量。
3.如权利要求2所述的方法,进一步包括:
从所述内容共享服务接收所述替换部分;
将所述替换部分存储在所述计算机系统处,其中所述替换部分替换所述初始部分;以及
利用所述替换部分使所述内容流可用于离线播放。
4.如权利要求2所述的方法,其中,基于所述内容流的清单文件将所述初始部分识别为具有所述较低质量。
5.如权利要求2所述的方法,其中,在接收到所述替换部分之前中断到所述内容共享服务的连接的同时,所述内容流利用所述初始部分保持可用于离线播放。
6.如权利要求1所述的方法,其中,请求所述第一多个部分进一步响应于所述第二多个部分的所述播放的完成。
7.如权利要求1所述的方法,其中,在所述第一多个部分的所述播放之后接收使所述内容流可用于离线播放的所述请求。
8.一种具有指令的非暂时性计算机可读存储介质,所述指令在由计算机系统中的处理设备执行时使所述处理设备:
接收从内容共享服务流送到所述计算机系统以用于由所述计算机系统处的媒体播放器播放的内容流的第一多个部分,其中在所述第一多个部分正从所述内容共享服务流送到所述计算机系统时存储所述第一多个部分;
接收使所述内容流可用于在所述计算机系统处离线播放的请求,其中,所述请求是在所述内容流正从所述内容共享服务流送到所述计算机系统的同时并且在由所述媒体播放器播放所述内容流期间被接收的,其中,所述第一多个部分在接收到使所述内容流可用于离线播放的所述请求之前正从所述内容共享服务流送到所述计算机系统处,并且其中,所述第一多个部分在接收到使所述内容流可用于离线播放的所述请求之前不被存储用于在所述计算机系统处离线播放;
响应于接收到使所述内容流可用于离线播放的所述请求,在从所述内容共享服务向所述计算机系统流送所述内容流的第二多个部分用于由所述媒体播放器播放时,由所述处理设备将所述第二多个部分存储在所述计算机系统处,并且由所述处理设备将所存储的第一多个部分复制到所述计算机系统处的本地存储,其中所复制的第一多个部分和所述第二多个部分被使得可用于在所述计算机系统处离线播放。
9.如权利要求8所述的非暂时性计算机可读存储介质,其中,所述处理设备进一步用于:
将所述第一多个部分或在所述计算机系统处存储的第二多个部分的初始部分识别为具有较低质量;以及
响应于将所述初始部分识别为具有所述较低质量,从所述内容共享服务为所述初始部分请求所述内容流的替换部分,所述替换部分比所述初始部分具有较高质量。
10.如权利要求9所述的非暂时性计算机可读存储介质,其中,所述处理设备进一步用于:
从所述内容共享服务接收所述替换部分;
将所述替换部分存储在所述计算机系统处,其中所述替换部分替换所述初始部分;以及
利用所述替换部分使所述内容流可用于离线播放。
11.如权利要求9所述的非暂时性计算机可读存储介质,其中,基于所述内容流的清单文件将所述初始部分识别为具有所述较低质量。
12.如权利要求9所述的非暂时性计算机可读存储介质,其中,在接收到所述替换部分之前中断到所述内容共享服务的连接的同时,所述内容流利用所述初始部分保持可用于离线播放。
13.如权利要求8所述的非暂时性计算机可读存储介质,其中,当接收到使所述内容流可用于离线播放的所述请求时将所述第一多个部分存储在随机存取存储器中。
14.如权利要求13所述的非暂时性计算机可读存储介质,其中,所述处理设备进一步用于:
响应于完成了所述第二多个部分的所述播放时从所述随机存取存储器丢弃所述第一多个部分。
15.如权利要求8所述的非暂时性计算机可读存储介质,其中,在所述第一多个部分的所述播放之后接收使所述内容流可用于离线播放的所述请求。
16.一种计算机系统,包括:
存储器;以及
与所述存储器通信的处理设备,用于:
接收从内容共享服务流送到所述计算机系统以用于由所述计算机系统处的媒体播放器播放的内容流的第一多个部分;
接收使所述内容流可用于在所述计算机系统处离线播放的请求,其中,所述请求是在所述内容流正从所述内容共享服务流送到所述计算机系统的同时并且在由所述媒体播放器播放所述内容流期间被接收的,其中,所述第一多个部分在接收到使所述内容流可用于离线播放的所述请求之前正从所述内容共享服务流送到所述计算机系统处,并且其中,所述第一多个部分在接收到使所述内容流可用于离线播放的请求之前不被存储用于在所述计算机系统处离线播放;
响应于接收到使所述内容流可用于离线播放的所述请求,在从所述内容共享服务向所述计算机系统流送所述内容流的第二多个部分用于由所述媒体播放器播放时,将所述第二多个部分存储在所述计算机系统处,并且从所述内容共享服务请求所述第一多个部分;
从所述内容共享服务接收所请求的第一多个部分;以及
将所接收的所请求的第一多个部分存储在所述计算机系统处,其中所接收的所请求的第一多个部分和所述第二多个部分被使得可用于在所述计算机系统处离线播放。
17.如权利要求16所述的计算机系统,其中,所述处理设备进一步用于:
将所述第一多个部分或在所述计算机系统处存储的第二多个部分的初始部分识别为具有较低质量;以及
响应于将所述初始部分识别为具有所述较低质量,从所述内容共享服务为所述初始部分请求所述内容流的替换部分,所述替换部分比所述初始部分具有较高质量。
18.如权利要求17所述的计算机系统,其中,所述处理设备进一步用于:
从所述内容共享服务接收所述替换部分;
将所述替换部分存储在所述计算机系统处,其中所述替换部分替换所述初始部分;以及
利用所述替换部分使所述内容流可用于离线播放。
19.如权利要求17所述的计算机系统,其中,基于所述内容流的清单文件将所述初始部分识别为具有所述较低质量。
20.如权利要求17所述的计算机系统,其中,在接收到所述替换部分之前中断到所述内容共享服务的连接的同时,所述内容流利用所述初始部分保持可用于离线播放。
21.如权利要求16所述的计算机系统,其中,所述处理设备请求所述第一多个部分进一步响应于所述第二多个部分的所述播放的完成。
CN201580006641.0A 2014-01-29 2015-01-28 用于改善离线内容播放的方法 Active CN105940452B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461933144P 2014-01-29 2014-01-29
US61/933,144 2014-01-29
US14/606,171 2015-01-27
US14/606,171 US9538120B2 (en) 2014-01-29 2015-01-27 Method for improving offline content playback
PCT/US2015/013268 WO2015116667A1 (en) 2014-01-29 2015-01-28 Method for improving offline content playback

Publications (2)

Publication Number Publication Date
CN105940452A CN105940452A (zh) 2016-09-14
CN105940452B true CN105940452B (zh) 2019-07-23

Family

ID=53680318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580006641.0A Active CN105940452B (zh) 2014-01-29 2015-01-28 用于改善离线内容播放的方法

Country Status (5)

Country Link
US (1) US9538120B2 (zh)
EP (1) EP3100267B1 (zh)
CN (1) CN105940452B (zh)
BR (1) BR112016017260B1 (zh)
WO (1) WO2015116667A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021434B2 (en) * 2014-05-30 2018-07-10 Apple Inc. Movie package file format
US10389786B1 (en) * 2016-09-30 2019-08-20 Amazon Technologies, Inc. Output tracking for protected content-stream portions
JP6823173B2 (ja) 2016-12-30 2021-01-27 グーグル エルエルシーGoogle LLC 不可侵マニフェストプロトコルを介して提供されるストリーミングコンテンツを中断するためのシステムおよび方法
US10645444B2 (en) * 2018-06-30 2020-05-05 Sling Media Pvt Ltd Accessing web content in offline mode
US11140447B2 (en) * 2019-04-30 2021-10-05 Rovi Guides, Inc. Personalized media guide for offline media devices
US11943501B2 (en) * 2022-01-07 2024-03-26 Qualcomm Incorporated Dynamic resolution change hints for adaptive streaming

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1698335A (zh) * 2003-03-27 2005-11-16 松下电器产业株式会社 具有集成的记录权利控制的内容分发系统
CN102356605A (zh) * 2009-03-16 2012-02-15 微软公司 平滑、无状态的客户端媒体流式传输

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257609B (zh) * 2001-02-21 2014-03-19 联合视频制品公司 具有个人视频记录特征的交互式节目导视器的系统和方法
US20080086743A1 (en) 2006-10-06 2008-04-10 Infovalue Computing, Inc. Enhanced personal video recorder
GB2459707B (en) * 2008-05-01 2010-08-11 Sony Computer Entertainment Inc Media recorder, audio visual entertainment system and method
US8484368B2 (en) 2009-10-02 2013-07-09 Disney Enterprises, Inc. Method and system for optimizing download and instantaneous viewing of media files
CN101778273A (zh) * 2010-01-20 2010-07-14 中兴通讯股份有限公司 多媒体广播节目转录方法及装置
EP2375680A1 (en) * 2010-04-01 2011-10-12 Thomson Licensing A method for recovering content streamed into chunk
US20120110628A1 (en) 2010-10-27 2012-05-03 Candelore Brant L Storage of Adaptive Streamed Content
US8548303B2 (en) 2010-11-03 2013-10-01 Cisco Technology, Inc. Reconciling digital content at a digital media device
US8689258B2 (en) 2011-02-18 2014-04-01 Echostar Technologies L.L.C. Apparatus, systems and methods for accessing an initial portion of a media content event
US20130254611A1 (en) * 2012-03-23 2013-09-26 Qualcomm Incorporated Recovering data in multimedia file segments
US9954717B2 (en) * 2012-07-11 2018-04-24 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
US9344517B2 (en) * 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1698335A (zh) * 2003-03-27 2005-11-16 松下电器产业株式会社 具有集成的记录权利控制的内容分发系统
CN102356605A (zh) * 2009-03-16 2012-02-15 微软公司 平滑、无状态的客户端媒体流式传输

Also Published As

Publication number Publication date
BR112016017260B1 (pt) 2022-07-26
EP3100267A1 (en) 2016-12-07
BR112016017260A2 (zh) 2017-08-08
BR112016017260A8 (pt) 2018-01-02
US9538120B2 (en) 2017-01-03
EP3100267B1 (en) 2020-07-22
CN105940452A (zh) 2016-09-14
WO2015116667A1 (en) 2015-08-06
EP3100267A4 (en) 2017-08-30
US20150215571A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
CN105940452B (zh) 用于改善离线内容播放的方法
CN106464945B (zh) 增强型流媒体回放的方法、系统及计算机可读介质
US9641584B2 (en) Method and arrangement for representation switching in HTTP streaming
US20210400324A1 (en) Using machine learning and other models to determine a user preference to cancel a stream or download
CN104396263B (zh) 用于流送媒体内容的实时复用变换的方法和系统
CN105284119B (zh) 关于嵌入式媒体提供补充内容
EP2127230A1 (en) Method and apparatus for the adaptation of multimedia content in telecommunications networks
CN106537924A (zh) 用于串流服务的客户端以及服务器的操作方法
CN105556976B (zh) 自适应流中表达关联的系统和方法
CN105187950B (zh) 一种视频文件播放的方法、设备和系统
CN105812850A (zh) 一种视频文件播放方法及其系统
CN105897850A (zh) 用于cdn平台的响应处理方法、调度代理服务器及系统
US11616822B2 (en) Session-based information for dynamic adaptive streaming over HTTP
US11425187B2 (en) Session-based information for dynamic adaptive streaming over HTTP
WO2017113717A1 (zh) 视频播放方法、视频播放器及电子装置
JP2022525366A (ja) メディアデータを受信するための方法、装置、およびプログラム
JP2022526004A (ja) Http上の動的アダプティブストリーミングのための方法、装置及びコンピュータプログラム
JP2022526807A (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
WO2022211864A1 (en) Transmitting content based on genre information
CN109005430A (zh) 一种音/视频内容的点播方法、系统、装置及存储介质
US20170346924A1 (en) System and method for providing reliable and efficient data transfer
WO2014066114A2 (en) Book thinning
US9118522B2 (en) Browser based peer to peer distribution system
CN109565616A (zh) 在移动电话上的交互式视频多屏体验
US20180160173A1 (en) System for providing cloud-based user interfaces and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant