CN105144737B - 媒体分发和管理平台 - Google Patents

媒体分发和管理平台 Download PDF

Info

Publication number
CN105144737B
CN105144737B CN201380073573.0A CN201380073573A CN105144737B CN 105144737 B CN105144737 B CN 105144737B CN 201380073573 A CN201380073573 A CN 201380073573A CN 105144737 B CN105144737 B CN 105144737B
Authority
CN
China
Prior art keywords
video
channel
transcoding
user
frame
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
CN201380073573.0A
Other languages
English (en)
Other versions
CN105144737A (zh
Inventor
J.马萨尔
J.格罗戈诺
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.)
USTUDIO Inc
Original Assignee
USTUDIO Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by USTUDIO Inc filed Critical USTUDIO Inc
Publication of CN105144737A publication Critical patent/CN105144737A/zh
Application granted granted Critical
Publication of CN105144737B publication Critical patent/CN105144737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/234309Processing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/238Interfacing 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/2385Channel allocation; Bandwidth allocation
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • H04N21/2547Third Party Billing, e.g. billing of advertiser
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明的实施例简化“视频生命周期”的管理。实施例包括一个或多个模块,其通过抽象诸如视频发布、更新视频、撤消发布视频、与视频有关的检索或统计、处理视频的授权、视频的验证、视频元数据处理、视频转码和/或视频传输之类的技术步骤来流线化视频发布过程。本文中描述了其它实施例。

Description

媒体分发和管理平台
背景技术
分发平台(例如,)的成功已经使视频内容的消费更加简单。但是,产生、分发和/或管理那些内容仍然是复杂的过程。同时,视频的普遍存在要求组织结合(或加强)视频策略,以便使用社交网络、移动装置等来利用新出现的观众。与不断多变的技术要求相结合,成功地创建和传递视频的过程要求对现有品牌和相似的新来者的人和技术的投资。管理视频“生命周期”是复杂的。
附图说明
通过所附权利要求书、一个或多个示例实施例的以下详细描述和对应附图,本发明的实施例的特征和优点将变得显而易见,附图包括:
图1包括本发明的实施例的发布工作流程图;
图2包括本发明的实施例的更新工作流程图;
图3包括本发明的实施例的撤消发布工作流程图;
图4包括本发明的实施例的统计采集工作流程图;
图5包括本发明的实施例的更详细的授权工作流程图;
图6包括本发明的实施例的更详细的元数据验证工作流程图;
图7包括本发明的实施例的更详细的转码工作流程图;
图8包括本发明的实施例的更详细的传输工作流程图;
图9包括本发明的实施例中的图形用户界面(GUI);
图10包括本发明的实施例的分发工作流程图;以及
图11包括用于实现本发明的实施例的系统。
具体实施方式
在以下描述中,提出许多具体细节,但是即使没有这些具体细节也可实施本发明的实施例。没有详细示出众所周知的电路、结构和技术,以免影响对本描述的理解。“实施例”、“各个实施例”等表示这样描述的实施例可包括特定特征、结构或特性,但是并不一定每一个实施例都包括所述特定特征、结构或特性。一些实施例可具有部分、全部或者没有对于其它实施例所述的特征。“第一”、“第二”、“第三”等描述共同对象,并且表示涉及相似对象的不同实例。这种形容词不是暗示这样描述的对象必须按照给定顺序,无论是时间、空间上、按照等级还是按照任何其它方式。“连接”可表示元素相互进行直接物理或电接触,以及“耦合”可表示元素相互协作或者交互,但是它们可以或者可以不进行直接物理或电接触。另外,虽然相似或相同标号可在不同附图中用于标明相同或相似部件,但是这样做并不表示包括相似或相同标号的所有附图构成单个或者相同实施例。本文中,描述有时同时涵盖若干不同附图。为了清楚起见,附图包括组件,其中最高有效值表示包括该组件的附图(例如元素3XX会在图3被找到,以及元素4XX会在图4被找到)。
本发明的实施例简化“视频生命周期”等的管理。实施例包括一个或多个模块,其通过抽象诸如视频发布、更新视频、撤消发布视频、与视频有关的检索或统计、处理视频的授权、视频的验证、视频元数据处理、视频转码和/或视频传输之类的技术步骤来流线化视频发布过程。
视频生命周期
从本发明的实施例的观点来看,视频生命周期涉及至少四个过程:发布、更新、撤消发布和统计检索。所有这些过程与一个或多个“目的地”一前一后地进行:分发平台,其允许先前过程的某种组合。(例如,一些目的地仅支持发布和撤消发布,但不报告统计或者允许最终用户更新视频。)实施例允许用户在开始过程之一之前、一旦过程已经发起、或者两者、授权一个或多个目的地。
发布过程在“视频文件”是可用的时刻开始。这个文件可与下列项同样简单:来自照相装置的未编辑的剪辑或成品、要求来自合作者或客户的批准的完成的编辑、准备好分发的最终版本或者中间阶段的任一个。
客户端应用或最终用户可按照多种方式将视频文件提供给本发明的实施例:它可经由诸如硬盘驱动器、DVD-ROM或磁带格式之类的物理存储介质来传递。备选地,它能够通过网络经由HTTP或其它网络协议、例如FTP来传递。最后,如果本实施例具有对文件的本地访问权,则可提供本地文件路径。
在这点上,在实施例中,视频按照个别的目标平台来封装。对于最终用户选择的各目的地,实施例可确定适当的后续步骤。视频可要求转码到一个或多个所需格式。视频文件可要求经由网络(例如,文件传输协议(FTP)、内容传递网络(CDN)、应用程序接口(API)等)的传递。最后,最终目的地可被装载有最终提供者所要求的各种转换中的视频元数据。这个过程要求密切注意变化的API要求、视频支持差距和网络故障。
一旦向一个或多个目标平台发布了视频,元数据和视频文件本身两者均可适合更新。例如,如果最终用户决定改变视频的标题,则实施例重新封装元数据,并且经由传递规范将它重新提交。本实施例可管理可更新各目标平台的资源的列表,其基于最终用户的账户类型可以是可变的。
许多目标平台跟踪与视频和用户交互有关的统计。例如,每一次视频被播放,增加“观看”计数。这些目的地的一些包括一种用于检索这些统计(例如,API或月报)的方法。在这类情况下,实施例可检索那些统计,并且标准化跨目的地的值,使得实施例的最终用户能够比较用户交互,并且确定哪些目的地表现良好(或不良)。特定度量的重要性可取决于各用户对成功的解释。
最终,视频可要求从目标平台中去除(无论是因内容中的错误还是简单地不再相干)。实施例可支持从支持它的任何目的地中去除(或者“撤消发布”)视频。
视频可要求存档。用户可期望保存最高可能的视频质量,使得任何将来的分发不会因先前技术的限制而受损。例如,第一代的“”产品仅支持垂直分辨率为702像素(称作720P)的渐进视频。但是,的最近版本支持高达1080像素(称作1080P)的分辨率。通过存储原始视频质量,实施例确保在将来也能够传递最高质量。
系统摘要
实施例抽象各种基础系统。如采用示例所提到,视频传递要求频繁地发生变化。五年前是主流的格式和标准在将来可能不太相干(例如,FLV、Flash、RTMP),以及分发格式和平台频繁地出现(例如,MPEG DASH、HLS、OTT等)。因此,实施例提供抽象资源(例如,“视频”或“目的地”)的系统两者,其使最终用户能够易于执行简化操作(例如“发布”或“更新”),而无需知道基础系统要求。例如,实施例可将隐藏转码视频文件(将一个视频重新压缩或重新封装为另一个)选择作为发布或更新视频的“隐式”部分。
实施例相当于资源的分离接口,其简化从存储层(其例如可以平衡技术,例如云存储、FTP传递、CDN等)到发布层(其可抽象所有所支持的平台要求、API并且将细节转码为目的地的并行系列)到统计层(其可合计来自各平台的观众度量)的视频生命周期。这个抽象可通过图形应用使最终用户成为表面或者利用网络技术、例如基于HTTP的REST API使客户端应用的程序接口成为表面。
发布工作流程
图1包括本发明的实施例中用于向目的地发布视频的过程工作流程。在框100,最终用户(或API的客户端应用)向实施例提供视频文件。这个文件可以是高质量主文件,其必须经过转码以供目的地使用。最终用户可通过对客户端应用的本地访问、经由诸如基于HTTP的API或FTP之类的网络协议、或者甚至数字磁带格式来提供文件。
在框101,实施例确定视频的(一个或多个)特性。例如,实施例从上传视频中提取并存储信息到数据库或者另一基于文件的存储系统中。这个信息可涉及从例如并且非限制性地包括下列项的组中选取的特性:文件类型(例如MPEG-4Part 14容器)、视频编解码器(例如H.264/AVC、MPEG 2等)、视频编解码器简档(例如主要(Main)、基准(Baseline)等)、音频编解码器(例如MP3、PCM等)、视频持续时间、视频分辨率、帧率、视频压缩比特率、音频压缩比特率以及用于发布和其它过程所需的其它信息。
在框102,实施例可提示最终用户或客户端应用关于发布中将要使用的一个或多个目的地。在客户端应用中,这可以是一个或多个图形用户界面工作流程,其中用户可“点击”或者以其它方式指示一个或多个期望的目的地。在框103,所选的各目的地的发布要求可从数据库、配置文件、外部API或其它适当的位置采集。这些要求可包括但不限于(一个或多个)转码格式、元数据要求、认证要求等。
框104-107确定所选(一个或多个)目的地是否被授权。如果一个或多个目的地未经授权并且能够被授权,则利用授权过程。过程104确定目的地当前是否被授权,这可包括针对外部API验证凭证、通过从数据库中提取信息来检验所调度认证任务的结果或者由目的地的能力所确定的其它方法。过程105解析过程104的结果,并且确保最终用户或客户端应用能够授权(例如,外部目的地的认证服务进行响应、应用极限尚未达到等)。(参见授权工作流程以获得过程106的更多细节。)在框107,检验授权的结果:如果授权过程是成功的,则实施例可继续进行到框108。否则,实施例可能未达成请求,或者提示最终用户或客户端应用再次尝试授权。
框108确保已经提供和验证了视频(均在框101采集并且从最终用户或客户端应用采集)的元数据。(参见验证工作流程以获得更多细节。)这个步骤所需的元数据要求从框103来采集。一旦对各视频和目的地组合验证了元数据,其准备好用于传输。
框109封装最终目的地所要求的任何转码。一些目的地支持多样的输入视频文件(例如),而其它目的地要求特定容器格式、视频和音频编解码器、分辨率和视频压缩的其它方面。例如,当前要求MPEG-2程序流文件,其包括HD素材的30-50MbpsMPEG-2视频流。如果用户或客户端应用提供不匹配一个或多个目的地的转码要求的视频文件,则可在进行到传输之前生成附加转码。(参见转码工作流程以获得更多细节。)在转码之后,可存储所产生文件供将来使用以及传输。
一旦已经生成了(一个或多个)适当转码,实施例可采用框110-115从最终用户或客户端应用请求任何附加所需文件。一些目的地要求补充文件,包括但不限于缩略图像、备选语言音频流或文档。框110检查在框103所采集的目的地要求,并且确定任何附加文件是否是必要的。另外,实施例可以能够生成某些所需附加文件而无需提示用户。
如果用户或客户端应用必须提供(一个或多个)文件,则框111涉及采用图形界面提示用户或者具有用于提供所需文件的方法提示客户端应用。一旦实施例有权访问附加文件,则它可分析和存储它们(框112)供存档和变换。存储原始文件用于与存储高质量视频原版(video master)相似的目的:任何将来变换获益于较高质量的源文件。
与视频文件极为相似,目的地可要求附加文件在能够传送之前经过变换(其在框113来确定)。这包括但不限于图像转换(PGN到JPEG)、音频压缩(PCM到MP3)或者文档转换(到PDF)。如果要求这个操作,则框114应当产生一个或多个经变换的文件。实施例可利用第三方变换工具或专有软件库来执行这些变换。
实施例可在框115存储经变换的文件供将来使用。实施例可利用本地文件存储、网络存储或者云存储合伙者,例如 等。这些文件可参照目的地和视频来存储,使得任何将来发布或更新操作可使用现有的经变换的文件。
框116识别封装和变换步骤。各目的地可提供传送(一个或多个)文件和元数据的唯一方法。另外,各视频的元数据可需要在能够被传送之前对各目的地经过变换。(参见传送工作流程以获得更多细节。)如果传输是成功的,则实施例可在框117收集和存储从目的地所返回的任何信息。这个信息可用于将来过程,例如更新、统计检索和撤消发布。
实施例可向最终用户或客户端应用传送任何成功信息以及使发布最终完成可需要的最终步骤。例如,播客(podcast)要求客户端应用中的馈送提交(feed submission)。实施例可提供最终用户的馈送URL,以提交给iTunes商店,作为最终步骤。
如果发布操作的任何部分失败(如框105和107所示),则实施例可在框118拒绝发布操作,并且使用与框117相似的串行化和传输策略向客户端应用或最终用户返回失败信息。
更新工作流程
图2包括本发明的实施例中用于更新一个或多个目的地上的已发布视频的过程。在框201,最终用户或客户端应用更新视频的方面,包括但不限于更换视频原版文件、更新视频元数据或者更换附加文件。
在框202,与框103相似,实施例可从数据库、配置等采集所有目的地要求。另外,它可采集已发布信息(例如外部目的地标识、URL等),以便确定已发布视频的当前状态。
如果要求授权以与目的地进行交互,则框203-206执行与104-107相似的认证工作流程。框203通过检查来自框202的要求来检验对目的地要求授权,并且还可经由网络API(若目的地提供一个)与目的地进行通信,以检查来自先前操作的任何所存储凭证。由于一些目的地可使凭证失效或者停用服务,所以框204检验目的地实际上能够被授权。框205执行授权,从而根据需要从最终用户或客户端应用请求凭证。(参见授权工作流程以获得更多细节。)如果授权失败,则更新请求可被实施例拒绝,或者可提示用户关于另一个授权尝试。
框207执行与108相似的验证工作流程。实施例可实现框207,以确保视频元数据或目的地要求的变化没有使更新过程失效。(参见验证工作流程以获得更多细节。)
如果视频文件如框208(其能够通过比较文件内容、从数据库中检索先前存储的值等实现)所确定已经改变,或者目的地的转换要求已经改变,则可要求(重新)转码。框209和210识别用于更新目的地的(一个或多个)转码的工作流程。一些目的地不支持更换视频内容(例如),但是对于支持的那些目的地,框210引用与框109相同的转码工作流程。(参见转码工作流程以获得更多细节。)
如果目的地要求新的附加文件,或者任何先前提供的附加文件已经改变(通过框212按照与框208相似的方式所确定),则框212-214定义与框113-11相似的文件变换工作流程。假定文件变换如框212所确定被目的地配置允许,框213变换由实施例在最终用户或客户端应用所提供之后存储的任何原始文件。框214存储任何变换(重新变换)的文件供传输和将来使用。如果没有改变文件并且目的地不要求任何附加文件,则实施例可使用在发布过程期间存储的经变换的文件。
一旦验证已更新元数据,目的地经过授权,并且文件按照目的地配置已经准备,则框215执行与框116相似的传输工作流程。(参见传送工作流程以获得更多细节。)一个差别可在于,目的地的API或服务端点上的更新接口要求与发布操作不同的操作。例如,如果目的地提供基于HTTP的REST API,则初始发布操作可能已经要求向资源容器提交POST请求,而更新操作可要求向POST请求所返回的资源URL提交PUT请求。另外,元数据对更新操作可要求与对发布操作不同的封装结构。
如果更新过程成功,则框216识别实施例可将任何已更新信息存储在数据库或其它基于文件的存储器中,供将来的过程使用。如果存在任何附加步骤,则实施例可向最终用户或客户端应用返回那个信息。
如果更新过程在任何点失败(如框204和206所示),则实施例可在框217拒绝更新过程,并且向最终用户或客户端应用返回失败信息。
撤消发布工作流程
图3包括本发明的实施例中用于从目的地中去除视频的方法。在框301,最终用户或客户端应用请求从目的地中去除(或者“撤消发布”)视频。框302与103和202相似,从数据库、配置文件等采集任何目的地配置或视频元数据,其是执行所请求操作所要求的。
如果目的地要求撤消发布的授权,则框303-306执行与框203-206和104-107相似的操作。(参见授权工作流程以获得更多细节。)如果授权被要求但是失败,则实施例拒绝去除请求,或者可提示最终用户或客户端应用关于附加授权尝试。
框307识别可通知目的地端点或API关于去除请求的点。各目的地可要求一种或多种通知方法。例如,如果目的地采用基于HTTP的API(像),则可向资源URL发出DELETE请求。但是,如果目的地监测馈送、像播客,则可以仅要求实施例从馈送中去除条目,并且目的地将在下一次解析馈送时从目的地中去除视频。传送去除信息的(一种或多种)特定方法在框302期间来采集。
由于许多目的地提供用户接口或API,所以如果从目的地已经去除视频,则本发明的实施例可选择被动地继续。例如,如果最终用户登录并去除视频,并且然后向实施例发出去除请求,则该实施例可检验视频仍然存在于上。如果它不存在,则该实施例可进入去除的下一阶段,而不是因目的地上的“缺失”视频而引发错误。
可实现框308-310,以便去除在整个发布和更新过程所创建的任何额外资源。例如,如果实施例在框109、112、115、210或214存储文件,则这些文件可需要从存储中去除。框308涉及确定这些文件是否跨视频或目的地来共享(例如,如果两个目的地共享同一转码,但是该视频却从一个目的地中去除,则该转码可以不需要被删除)。一旦对文件确认去除,实施例可进入步骤309以进行实际去除过程。取决于存储方法,这可涉及简单地从本地存储中删除文件或者从云存储解决方案、例如S3或CloudFiles中去除文件的一系列网络操作。另外,在框310,实施例可根据需要从存储、例如配置文件或数据库中去除任何已发布信息。
如果去除操作是成功的,则实施例可在框311向最终用户或客户端应用发送成功信息或者任何附加步骤(若需要的话)。否则,实施例可在框312拒绝去除操作,并且向最终用户或客户端应用发送失败信息。
统计检索工作流程
图400包括本发明的实施例中用于从目的地中检索统计的方法。在框401,最终用户或客户端应用请求已发布视频的统计。这个请求可包括时间范围,具体来说是统计(例如“播放”或“印象”)、地理数据、参与数据或者根据需要的附加度量。另外,请求可通过经由GUI中的界面元素选择参数,通过基于HTTP的API提供JSON串行化参数等来发起。
框402、例如302、202和103从配置文件、数据库等中提取目的地配置和视频信息。这个目的地配置应当识别认证方法(包括但不限于OAuth、BasicAuth或者预先共享凭证)以及目的地所支持的特定度量。另外,可采集与目的地进行通信所需的任何信息(例如视频标识或资源URL)。
在框403,实施例可搜寻可能已经存储的任何现有值,以确保用户请求的值不是已经可用的。这些值可以文件结构、基于存储器的高速缓存解决方案(例如存储器缓存(memcached))、关系数据库(例如MySQL)或者任何其它存储方法来存储。因最终用户或客户端应用、或者离线期间、例如Unix类型操作系统中的cron任务的常规进程的先前统计请求,这些值可能已经被检索。
如果值尚未存在于系统中,则实施例可在得到统计的两种主要方法之间进行选择。如果目的地提供如框404所确定的API或服务端点(实施例可在目的地配置中指示),则实施例可进入授权。在框405确定目的地是否经过授权(通过利用针对API端点的凭证,检验数据库中存储的先前验证属性等)之后,授权在框406-408按照与先前操作304-306、204-206和105-107相同的方式继续进行。(参见授权工作流程以获得更多细节。)一旦经过授权,可在框409-410从目的地请求期望的值。请求的具体细节可在目的地之间改变:例如,提供基于HTTP的API,其中跨国家的视频“观看”的详细分类可跨特定时间范围被请求和合计。结果作为按照ZIP存档所封装的CSV来存储,其可以是被解压缩的并且然后被解析。但是,其它平台可通过备选方法(例如,对Javascript发起的浏览器请求的JSON响应)仅提供观看的总数。实施例可选择在对目的地的端点的一个或多个请求中请求统计,以便完成客户端应用或最终用户的请求。框409表示串行化JSON中的请求数据,形成HTTP请求封装等,而框410表示来自API的响应的实际传输和解串(例如解析返回JSON、从(一个或多个)ZIP存档内部的CSV中提取值等)。
如果目的地没有暴露API,而是在框411如通过检查目的地配置所确定要求备选合计,则实施例可实现框412-414。例如,没有暴露用于确定观看到多少播客的方法,但是如果实施例用于经由CDN或另一网络服务器转码,则可存在日志文件,其能够被解析以确定文件经由客户端被下载的次数。
如果数据从先前合计不可用,则视频信息可按照使得合计过程能够提取适当信息的方式来封装(框412)。一旦形成了封装,在框413执行适当合计过程。在例如播客的情况下,可提供一个或多个转码URL,使得在框413的日志解析操作能够确定哪些网络请求构成“播放”。另外,可分析请求的类型(由于许多媒体客户端利用HEAD请求来检查视频存在,但是并不表示用户下载或观看视频)以及请求的其它属性、例如所传递的字节数(其可传达用户能够观看视频的百分比数)、用户代理(以滤出机器人程序(bot)或其它自动化观看者)等。
一旦从备选源、例如日志文件提取了所请求值,则实施例可选择存储它们供将来请求,作为在框413的合计过程的最终部分。另外,实施例可按照离线调度方式来执行整个统计请求或合计工作流程,以确保最终用户或客户端应用的统计请求是快速的。
如果数据从先前合计是可用的(框414),则可从在框412所执行的任何存储所利用的相同存储位置来提取值。
在框415,统计可要求根据从统计检索过程所返回的值的标准化。例如,一个目的地可按照时间戳提供“参与”(用户观看的视频的部分)值,而另一个按照百分比提供值。基于时间的值可利用视频的已知持续时间来转换成百分比值,以便在下一步骤执行合计。
在框416,标准化值可按照所提供参数来合计。在一个示例中,最终用户或客户端应用可请求跨时间范围的各目的地的观看的总数。如果视频A接收在目的地B的12次观看和在目的地C的48次观看,以及视频D接收在目的地B的10次观看和在目的地C没有观看,则值可相加,使得实施例返回目的地B的22次观看和目的地C的48次观看。观看备选地可根据视频、时间等合计。
实施例可在框417向最终用户或客户端应用返回值。这可能是GUI应用中的可视图形表示、对HTTP API的JSON串行化响应或者根据需要的其它方法。
如果失败由任何先前过程、例如框206或208来指示,则实施例可在框418拒绝整个统计请求,并且向客户端应用或最终用户返回失败信息。
授权工作流程
图5详述本发明的实施例的授权工作流程。授权跨目的地极大地改变,虽然标准可帮助模式化认证过程。在框501,利用目的地配置和现有目的地元数据,实施例可为最终用户或客户端应用选择最佳授权方法。通用的基于HTTP的授权方法是OAuth、BasicAuth和预先共享凭证。绑定到传递机制(例如FTP或其它基于TCP的系统)的备选授权方法也可由目的地来使用。专有认证方法也是通用的。
一旦已经确定了适当认证方法,框502可要求分析所提供配置和目的地信息,以确定是否需要来自最终用户或客户端应用的任何附加信息。如果是的话,则框503识别最终用户在能够得到信息之前是否必须访问独立认证服务。这在认证方法、例如OAuth中是要求的,其中用户必须明显地允许应用代表他/她与目的地进行交互。在标准OAuth实现中,用户必须重定向到目的地所提供的网站,因此实施例可在框504为用户提供临时认证网关接口。这涉及服务于并且将最终用户定向到HTTP上的网页(框505),其能够使用位置报头或者备选重定向方法将用户重定向到目的地(框506)。另外,当目的地将用户又重定向到临时认证网关时,临时服务可以能够提取成功或失败信息。如果操作是成功的(如在框507通过检查由目的地在重定向期间所提供的值所确定),则来自授权尝试的凭证可被提取并且存储供持续使用(框508)。
如果目的地不要求将用户发送到外部认证服务但是仍然要求附加凭证(例如BasicAuth HTTP服务或FTP账户的用户名和密码),则实施例可从客户端应用请求这类凭证,或者可提供使最终用户进行装载的图形界面。例如,实施例可在框509为最终用户提供一个或多个图形界面以收集凭证,或者可使基于HTTP的API是客户端应用可用的,以向实施例传送凭证。框510表示最终用户主动提供所请求凭证(通常提供给图形界面),以及框511可涉及在图形界面由外部客户端应用而不是实施例本身来提供的情况下,客户端应用将凭证传递到实施例(经由API或备选方法)。
一旦从外部服务或者从客户端应用/图形界面收集了凭证,目的地可要求附加验证步骤。这在框512通过分析目的地配置或者其它所提供要求来确定。如果附加验证被认为是必要的,则这可在框513执行。例如,OAuth实现常常要求传递永久令牌的临时访问码,以便与用户和应用的交互异步地执行操作。在BasicAuth中,额外验证可以简单地是认证请求,以确保凭证是有效的,并且应用经过授权以对目的地进行适当调用。
如果授权或验证步骤不成功(如在框514通过分析在步骤513的验证结果所确定),则实施例可拒绝授权请求(框515)。这可以是图形应用中的错误消息、对客户端应用的基于HTTP的API请求的JSON串行化响应等。备选地,实施例可为用户提供授权目的地的另一个尝试。
一旦授权是成功的,则实施例可存储凭证供将来使用(框516)。凭证可存储在本地文件、数据库等中。实施例可在存储之前可对这些值进行加密,以获得附加安全性。
根据需要,授权工作流程可要求如框517所示返回凭证供外部过程(例如发布、更新等)使用。
验证元数据工作流程
图600详述本发明的实施例中的元数据验证工作流程。目的地要求元数据的各种置换,以确保视频被适当存储和显示,以及实施例可要求标准化元数据的验证,以确保用户体验的舒适性和元数据的目的地批准。
框601通过实施例的先前所述过程或者其它工作流程来识别验证工作流程的发起。除了任何目的地配置和要求之外,还可提供待验证元数据(其是目的地特定和视频特定的),以用于确定将要执行的验证的(一种或多种)方法。
框602要求将发布和更新操作中采集的目的地配置与所提供视频元数据进行比较。这个视频元数据可从视频文件本身中已经提取(一种方法例如可通过支持元数据存储的各种容器格式进行),或者可由最终用户通过图形界面或客户端应用来提供。例如,基本元数据要求一般包括(但不限于)视频“标题”、“描述”、一组“标签”或“关键字”以及作者信息。目的地配置可指示通过实施例内部的分类学所识别的元数据字段的所需和可选集合。另外,目的地本身可要求元数据。例如,实施例可使播客是作为目的地可用的。播客要求标题、创作者、一个或多个类别、描述和其它字段。
如果目的地元数据不是有效的或者要求附加值(如框603所确定),则实施例可采用对附加凭证的请求来响应客户端应用,或者基于目的地配置为最终用户提供图形界面(框604)。例如,如果目的地配置指示“作者”的附加元数据字段,则它也可指示该值应当是“字符串”。这允许图形界面显示适当界面元素使用户完成。
一旦客户端提供了新的/已更新元数据(框605),则它可在框606按照目的地配置被验证。例如,如果所提供作者为148个字符长并且包含Unicode字符,而目的地不允许Unicode并且要求少于127个字符,则实施例可采用通过经由框603和604返回提供有效元数据的另一个机会来提示客户端应用或最终用户。
这个过程重复进行,直到所有目的地元数据被提供并且是有效的。实施例则可对视频元数据执行相似过程(框607-610)。对于所发布或更新的各视频,最终用户可提供目的地配置预计的所有所需视频元数据(如由客户端应用在框608所请求并且由最终用户在框609所提供)。另外,与目的地元数据相似,所提供的每个值可在框610针对目的地的配置来验证,以确保该值一旦在被传送给目的地的端点后不会被拒绝。
实施例可将所有视频元数据限制到标准化元数据的简化模型,以确保最简单的用户体验。这要求系统中没有标题能够比跨所有目的地的最短容许标题要长,但是也降低验证所要求的校正的发生。
一旦验证了所有目的地和视频元数据,实施例可将值存储在本地文件、数据库等中供将来使用,如框611所示。这简化将来更新过程,除非目的地的元数据要求发生变化或者最终用户改变元数据。
实施例则可在框612通过沿用与先前操作相似的串行化和传输策略将经验证的元数据返回给外部过程(例如发布或更新)。
转码工作流程
图7详述本发明的实施例中用于转码视频的过程。转码是在分发中的更多技术过程其中之一,以及同时也是对于因许多最终用户没有与特定视频格式和属性有关的知识引起的抽象的有力候选。随后,实施例可使转换成为系统的隐式方面,使得最终用户无需进行关于该过程的判定。
框700指示实施例可从目的地的配置中提取目的地的转码要求。这个配置应当包括属性阈值阵列,其指示可接受的转码,包括但不限于容器或封装格式、文件大小、视频压缩格式、视频持续时间、视频分辨率、帧率、视频压缩简档、视频压缩比特率、扫描类型、音频压缩格式、音频取样率、音频压缩比特率、音频通道等。
在提取与被转码视频文件有关的信息之后,实施例可在框701确保视频文件能够被转码。视频文件可能因多种原因而不能被转码:文件的质量对于所需转码的任一个过低,视频文件缺失(一个或多个)必需的音频轨道,视频无法被实施例所使用的转码软件来读取,存在过多视频或音频轨道,等等。多种应用(例如mediainfo或ffmpeg)提供从文件中提取媒体元数据的能力,以便确定它对目的地的特定转码简档的适用性。如果视频文件无法被转码,则实施例可拒绝转码请求(框702)。
对于目的地所要求的每一个转码(其可在框703通过解析目的地要求或者其它所提供配置来确定),实施例可处理原始视频,以确定哪些参数要提供给转码软件。各转码对应于转码“模板”,其识别最终转码必须符合的特定属性。这些模板的每个可在框704再次通过解析目的地要求来编译。可在框705从原始媒体文件中提取或流播的主视频轨道之后可在框706与转码模板进行比较,以确定它是否应当被转码。例如,如果视频文件以10Mbps的比特率和30fps的渐进帧率提供有分辨率为1920×1080的H.264视频轨道,但是转码模板要求分辨率为1280×720的H.264视频轨道,则视频轨道必须转码到模板的规范。但是,如果目的地具有允许1920×1080H.264的第二转码模板,则视频轨道对第二模板可以不转码。实施例的目的地配置可定义比特率或帧率阈值、分辨率的可接受范围等,而不是特定值。在特别是其中目的地取决于回放的特定硬件环境(例如)的许多情况下,不匹配转码模板配置的单个属性要求转码。
如果要求视频轨道的转码,则实施例可封装所使用的特定转码软件的新转码要求。基于转码模板的要求,也可要求特定转码软件。与目的地极为相似,不同转码应用具有请求新转码的各种方法。一部分暴露基于网络的API,一部分是可执行二进制,其中指令经由变量提供给可执行,而其它利用共享文件夹、基于先前配置的转码简档来发起转码。实施例可选择成集成多种转码解决方案,以便处理最多种类的源文件和转码模板。框707的结果应当是符合转码模板规范的视频轨道。
如果不要求转码,则在框708复制视频轨道信息。这实现对音频和视频的单独转码,以及最终文件将“再复用”(单独音频和视频组合为单个文件),作为最后一个步骤。
一旦生成视频轨道,则类似过程可用于(一个或多个)音频轨道。基于转码模板,音频轨道被提取或流播(框709),并且然后经过分析并且与转码模板要求进行比较,以便查看转码是否必需(框710)。虽然属性可以相当不同(音频取样率、通道数量、音频压缩格式、音频压缩比特率等),但是过程是相同的:如果音频轨道不匹配转码模板要求,则可为实施例所使用的转码软件来封装转码指令,并且生成新音频轨道,其符合目的地的转码模板要求(框711)。否则,在框712,复制(一个或多个)适当音频轨道,以便与来自先前步骤的视频轨道相结合。
在框713,视频轨道和音频轨道利用由转码模板所指示的封装格式来结合为单个文件。这可能是MPEG-4Part 14文件或者MPEG-2程序流、WebM容器文件等。
一旦生成了文件,可需要附加步骤以确保它能够由目的地正确使用(如通过在框714检查目的地配置所确定)。例如,如果MPEG-4文件预计用于HTTP渐进流播(频繁地用于基于馈送的目的地或网页播放器中),则视频文件索引信息(包含在“moov”atom中)必须移动到文件开头附近,使得视频文件能够在完成下载之前开始播放。在文件被认为完成之前,在框715可要求这个和其它操作。
一旦转码最终完成,则它能够被存储(框716)。实施例可存储转码,以供将来的更快更新操作。另外,一些目的地可共享转码模板:如果转码被存储并且将视频发布到要求相同转码模板的目的地,则可绕过整个转码工作流程,并且改为使用现有转码。除了转码之外,实施例可在框717存储转码参数以及可在其它环境、例如馈送中使用的任何附加元数据、例如文件大小。
在生成了所有转码之后,在框718,实施例可向外部过程返回(一个或多个)转码的位置以及任何转码参数或附加元数据。
传送工作流程
图8详述本发明的实施例中的目的地传输工作流程。传送发布请求或者更新现有视频要求与多种协议和目的地要求进行交互,并且涉及封装特定传输逻辑,同时跨最终用户和客户端应用的资源保持高级抽象。
当元数据和文件准备好传送到目的地时,实施例可在框801将元数据变换为目的地特定语言。例如,各保持唯一类别系统。实施例可将对视频的标准化类别选择转化成那个目的地所支持的特定类别,使得通用类别、例如“Automotive”变成上的类别编号“29”和上的“Autos&Vehicles”。
各目的地可要求传送经变换的元数据和文件的一种或多种方法。如果目的地提供API(如在框802通过分析目的地配置所确定),则API的特定操作必须按照适当顺序来执行。例如,向HTTP API提交视频可要求首先与基于会话的令牌交换凭证(框803)。这可以是提供作为URL编码形式值的凭证的简单POST操作。一旦版了令牌,每个HTTP请求必须将该令牌用于报头中或者用作URL的一部分。目的地可要求PUT请求以上传一个或多个转码视频文件的字节。一旦上传了(一个或多个)视频文件,则目的地可返回表示那个目的地上的视频的唯一标识。附加POST请求则可用来将元数据串行化为具有“标题”、“描述”、“标签”和“类别”的值的JSON,来更新元数据。通过这个过程,执行所提交的元数据的串行化(框804)和串行化和/或原始转码视频数据的传输(框805)。
框806确定目的地的API是否接受被传送的元数据。这可涉及检验HTTP服务的状态码(例如200常常指示成功操作)、响应主体(其中可传递串行化成功/失败信息)、接受HTTP回叫(通过实施例所产生的web服务)或者另一方法。如果传输是成功的,则响应信息可由实施例来存储,以供将来更新、撤消发布和统计检索操作(框807)。
如果目的地要求传递封装文件(在框808所确定)、例如(一个或多个)转码的ZIP存档、缩略图像和XML串行化元数据,则实施例可执行相关传输过程。提交最终封装内容所需的任何凭证可在框809从先前认证步骤或者通过提示最终用户或客户端应用来采集。在我们的当前示例中,可变换在框801所提供的元数据,以生成XML文件,其可与转码视频和根据需要的任何附加文件一起压缩(框810)。最后,通过利用为目的地所提供的凭证,最终封装的内容可提交到目的地(框811)。文件传递可通过协议、例如FTP进行,在这种情况下,凭证是用户名、密码,以及通过FTP主机或HTTP进行,在这种情况下,可利用OAuth或BasicAuth凭证。最后,可要求备选传递方法、例如物理硬盘驱动器,这涉及在将其发送给适当目的地之前将封装文件和任何附加清单文件复制到目标驱动器。
如果能够确定正确地传递了封装文件(框812),则实施例可根据需要停止传输请求或者继续处理传输方法。例如,如果目的地的FTP服务器报告ZIP存档的失败传输,则实施例可选择暂停任何附加传输操作,并且拒绝该请求。备选地,如果成功地复制存档,则实施例可通过传输操作继续进行。
如果目的地要求主持的端点、例如网站或RSS馈送(框813),则实施例可实现web服务以主持这个内容。这个web服务可按照多种语言和技术来实现,例如PHP、Ruby、Java、HTML、Javascript等。通过利用这些技术,实施例可将元数据从在框801所确定的目的地特定语言转化成web服务的所需结构。例如,标准RSS馈送通常实现<pubDate>元素,其按照RFC822应当显示“发布”日期和时间。实施例可存储了作为简单时间戳的原始发布日期和日间,在这种情况下,它可在能够用于馈送中之前被转换。然后,所选的特定技术将经变换的元数据格式化为如所要求的RSS的“风格”所确定的适当XML(框814)。
除了格式化元数据之外,主持的端点还可要求外部服务、例如CDN或云存储(框815),以确保被传递的转码的连续传递和存档。在框816,格式化元数据(例如最终RSS文件或网页)可通过如目的地所确定的适当协议(HTTP、SSL上的HTTP等)来传送。附加软件、例如Apache、和其它HTTP服务器可以各种能力用来传送web服务组件。
一旦通知了目的地的API,传递了封装文件,和/或主持的端点被配置和被服务,则实施例可存储已发布信息,以便促进将来操作、例如发布、撤消发布或统计检索(框817)。如果发布操作不成功(无效认证凭证、无效元数据、网络问题等),则传输请求在框819可失败。否则实施例可在框818返回从目的地API或其它传输步骤所检索的成功传输信息(例如目的地的唯一视频标识、视频资源URL等)
分发流程
图10包括本发明的一个实施例中用于内容分发的方法。在过程1000中,至少一个机器可读介质(例如包含在存储器的单个物理模块中、分布于分布式计算系统中的存储器的许多物理模块等)包括在运行于计算装置时使计算装置执行如以下所述的方法的指令。
在框1005,计算装置(例如台式机、服务器、笔记本、超级本、膝上型计算机、移动电话、智能电话、分布式计算集群等)接收视频。实施例可显示GUI的单个实例(即,单页),其同时为用户提供向第一、第二和第三分发频道分发视频的选项。例如,图9中,GUI 900包括六个不同频道的图形元素的部分:频道905(906907908909910(Sony)。响应经由GUI 900所提供的用户输入(例如用户“点击”或者以其它方式选择分发频道),实施例确定例如视频是否将要分发到第一和第二分发频道905、906但是不分发到第三分发频道907。
在实施例中,框1010确定视频的第一和第二特性。例如,实施例从上传视频中提取和存储信息。这个信息可涉及第一和第二特性,其从例如包含并非限制性的下列项的组中选取:文件类型(例如MPEG4(HD))、Windows Media(HD)、Apple ProRes(SD)等)、容器类型、视频持续时间、视频分辨率、帧率、视频压缩比特率和音频压缩比特率。第一和第二特性可以(但不一定)通过分析元数据、例如与文件有关的元数据而不一定是视频的内容来确定。第一和第二特性可以(但不一定)通过按照标准化方式(API用户输入)所固定的元数据,例如视频标题、关键字、描述和视频类别来确定。特性可涉及视频原像(例如来自视频的视频内容的所选帧)。
框1010可包括基于所提取/分析的信息来审查视频,以确定平台(例如参见图11的用于支持平台的基于处理器的系统的代表示例)是否将支持视频。例如,GUI 900可同时为用户提供向第一、第二和第三分发频道(905、906、906)以及第四分发频道(908)(例如)分发视频的选项。响应经由GUI 900所提供的用户输入,实施例可确定用户想要将视频分发到第四分发频道。但是,平台可响应分析视频的所确定特性之一而确定不将视频转码为具有与第四分发频道908对应的第四格式的经转码的第四视频。例如,视频的文件格式或压缩方案可以是使得视频无法被转码以符合频道908。
为了纠正任何不兼容性,平台可从用户寻求更多信息,以填充先前所选频道(905、906)的空位或问题。例如,在一个实施例的过程中的这个点上,平台包括视频文件、与该视频有关的信息(例如随文件上传的元数据、在上传文件之后从文件所得出的元数据以及随文件上传或者从其中得出的其它数据)。例如,响应经由GUI 900所提供的用户输入,平台可(这时它知道频道905、906是期望的,但是没有其它频道是期望的)确定哪一个第一附加频道信息是第一频道905所需的以及哪一个第二频道信息是第二频道906所需的。第一频道信息可以不等于第二频道信息。例如,第一频道信息可包括用户凭证(例如用户名、密码)、馈送标题、文件指针以及来自视频的代表帧其中之一。频道906可以不需要文件指针,并且因此如果仅选择了频道906,则平台不会打扰用户以获得这种信息。
在当前工作示例(其中用户选择经由频道905、906来分发视频)中,实施例可确定视频与平台是兼容的(或者具有兼容的能力或可能性)。因此,在框1020(下面进一步论述框1015),平台确定是否甚至需要转码。例如,上传的视频对频道905、906的任一个不需要转码,以及视频可被简单地传递到那些频道(框1025)。但是,如果需要转码,则在框1030,这个转码发生。平台将视频转码为具有与第一分发频道(频道905)对应的第一格式的经转码的第一视频。平台还将视频转码为具有与第二分发频道(频道906)对应的第二格式的经转码的第二视频。第一格式(例如MPEG-2)可以不等于第二格式(例如H.264)。实施例可以基于兼容性(例如)或者因为用户不期望到该频道的分发而选择不将视频转码为具有与第三分发频道(907)对应的第三格式的经转码的第三视频。这节省努力,而不是野蛮地强制到所有可能频道格式的转码。
频道905、906的转码可利用“转码队列”。视频可经由包络变化从format0转码成format1(其对应于频道905)(例如,将Windows媒体文件改变成具有适合于YouTube/频道905的新音频和新视频的包络)。这个转码还可包括调整经由转码器(例如)所操控的比特率,其对应于期望频道。关于频道906,视频可经由从H.264到FFMPEG或MPEG-2的包络变化从format0转码成format2(其对应于频道906)。
在转码到用户所选的频道之后,框1035将第一元数据(例如文件的关键字、视频的描述、视频的压缩率、视频的播放时间的持续时间)和经转码的第一视频封装到第一容器中,以及将元数据和经转码的第二视频封装到第二容器中;并且向第一频道发布(框1040)第一容器并且向第二频道发布第二容器。发布可根据频道来改变。例如,对于频道905,平台可简单地提供文件,但是对于频道906(或者某个另外频道),可经由馈送使文件是可用的,而对于频道907,平台可简单地提供主持文件的URL(但是可能不直接向频道提供文件)。
在框1045,该方法包括接收所发布的第一容器的第一度量数据以及所发布的第二容器的第二度量数据,其中第一度量数据与第二度量数据以不同方式来格式化。这个度量数据可包括统计,例如点击的数量/工作日(由频道905所提供,其不提供点击的数量/一天的小时)和点击的数量/一天的小时(由频道906所提供,其不提供点击的数量/工作日)。其它度量数据可包括例如播放的平均持续时间(例如,用户是否平均观看视频的10%或者平均接近90%)。访问这个数据可以是可能的,因为在过程的早些时候,平台对频道905、906的每个请求用户(框1010)的用户ID(例如账号凭证),以允许平台在向频道上传视频之后保持“拴系(tether)”到该频道。
框1050包括将第一和第二度量数据标准化为与第一和第二度量数据对应的通用标准化数据。例如,不是向用户仅显示频道905具有点击的数量/工作日以及频道906具有点击的数量一天的小时,平台可将数据标准化成显示对频道906的每天点击的数量,用于与频道905的更好比较。通过这个数据,用户可基于各频道的效能来判定开发一个频道(而不是另一个)的视频有意义(例如,如果观看者似乎明显优选频道905,则为什么花时间格式化频道906的视频)。
此外,因为平台保持拴系到频道905、906,所以用户可易于更新或管理所分发视频。例如,使用在框1010所获取的ID信息,用户可访问这些频道并且更新视频(例如,将5分钟的视频内容添加到先前视频、与视频相关的更新的数据、例如关键字以供搜索)、去除视频等。
重点现在返回到框1015。在框1015,该方法响应用户输入而从包括基于第一、第二和第三处理器的系统(例如服务器、工作站等)的硬件编组中选择基于第一和第二处理器的系统而不是基于第三处理器的系统。例如,用户可能已经上传单个短视频文件,并且仅仅期望将视频上传到频道905。这可要求较小计算资源,并且因而可安排基于单个处理器的系统来处理该作品。但是,在另一个示例中,用户可能是大企业,其想要上传需要被分发到8个不同频道、包括30个视频(各文件包括数兆数据)的销售培训视频系列。这会使用更多计算机资源。相应地,平台识别这个负荷,并且可选择较大量资源来处理视频的产生。这个方面的许多可并行发生,使得用户向频道905发布视频,同时还向频道906发布视频(或者另一个视频)。因此,在实施例中,该方法包括与经由基于第二处理器的系统将视频转码为经转码的第二视频并行地经由基于第一处理器的系统将视频转码为经转码的第一视频。转码可同时发生。
因此,实施例包括用于采用发起和跟踪过程的用户界面的多格式视频和元数据摄取、多格式编码和多平台发布的单个可配置过程。实施例解决如下问题:视频和元数据没有在网站、iptv系统、移动装置等上被正确处理,从而使视频持有者花费时间和金钱单独通过手动步骤来操控各文件。此外,由于在实施例中,在云中进行格式化,所以在时间节省和并行机器处理存在显著优点,极大地降低了视频持有者必须安排以格式化视频和元数据的硬件和软件的投资。
实施例提供一种平台,其处理诸如(1)协作,(2)组织和封装,(3)发布和分发,和/或(4)拴系的测量和分析之类的操作。
关于(1)协作,创建视频可以是协作工作。视频资产可跨组织被分散。平台的实施例提供用于团队共同工作和跟踪活动(例如视频编辑、音频文件、元数据和图形)的共享空间。平台允许在一个地点标准化过程并且将资产保持。平台还允许把来自多个创作者和供应商的各种格式和编解码器方案的摄取直接协调和标准化为对用户来说像是“虚拟工作室”的事物。用户简单地通过其浏览器、FTP等进行上传。视频内容可以是具有多个运动部分的联合体。实施例对视频摄取应用实时智能验证,以确保视频的所有正确部分完整无缺,并且防止不太理想的资产进入平台的视频库。用户可与创作者、合作者和/或同事的选择编组共享视频。用户可经由电子邮件链接、用户自己站点上的可嵌入播放器或者经由“私人放映室”(由平台主持)私下这样做。虽然在私人放映空间中主持,但是用户可与同事、顾客或合作者重复地访问粗剪辑。用户可管理访问和准许,因此用户能够获得在发表视频之前其需要的批准。
关于(2)组织和封装,一旦创建视频,平台的实施例创建用户文件的经组织的主场(例如,文件是用户的团队/合作者可用和可访问的单个位置)。
视频元数据多种多样的,以及平面的实施例通过捕获和映射各目的地(即,频道)的准确信息和图像来简化元数据混乱。管理和优化跨多个目的地/频道的视频发现的元数据是费时和复杂的,但是平台允许用户在一个位置有效地管理、更新和测试。实施例允许用户将视频组织为持久桶(即,“集合”)。
关于(3)发布和分发,发布和分发视频要求不只是馈送。在单个视频播放器中管理工作流程能够是够棘手的,但是将多个视频、多个目的地以及许多不同的格式和元数据要求加入混合,增加更大复杂度。实施例帮助从发布和分发过程减轻任务和复杂度—在线和离线。
实施例快速地向许多目标点传递高质量视频。实施例可自动连接到许多开放目的地以及向不存在预先存在关系的其它分发合作者传递的能力。
许多目的地上的最佳性能的转码视频可需要编码软件和编解码器要求的恒定变化。实施例经由云按需传递视频。质量、速度和冗余度是实施例的成功因素。实施例与CDN配合操作,以确保视频被快速传递。
实施例向各种移动装置、web浏览器或社交媒体网站传递视频。实施例提供一种智能播放器,其适合在(例如)HTML5、Flash或QuickTime之间动态移动的端点。播放器能够定制成匹配用户的品牌、网站设计、广告网络或者甚至CDN。
关于(4)拴系的测量和分析,仅一个目的地上的仅一个视频的成功的测量会是繁重的。添加具有不同统计的多个视频和多个目的地,而负担增加。实施例合计跨多个目的地/频道的视频统计(度量)。实施例通过收集和合计跨已发布目的地的视频的内容性能统计来减轻度量跟踪的这个负担。这样做允许用户了解其视频投资如何表现,包括从视频加载-播放的转换和最多观看或共享视频以及优选时间长度。易于使用的报告界面允许用户优化观看并且导出结果。用户能够比较目的地或者视频集合的性能,以便更好地映射商业策略。
实施例可在许多不同的系统类型中实现。现在参照图11,所示的是按照本发明的实施例的系统(例如服务器、台式机、分布式集群、平板、笔记本、移动计算装置、智能电话、个人数字助理)的框图。微处理器系统1100是点对点互连系统,并且包括经由点对点互连1150耦合的第一处理器1170和第二处理器1180。处理器1170和1180的每个可以是多核处理器。术语“处理器”可表示处理来自寄存器和/或存储器的电子数据以将那个电子数据变换为可存储在寄存器和/或存储器中的其它电子数据的任何装置或者装置的一部分。第一处理器1170可包括存储控制器集线器(MCH)和点对点(P-P)接口。类似地,第二处理器1180可包括MCH和P-P接口。MCH将处理器耦合到相应存储器、即存储器1132和存储器1134,其可以是在本地附连到相应处理器的主存储器(例如动态随机存取存储器(DRAM))的部分。第一处理器1170和第二处理器1180可分别经由P-P互连耦合到芯片组1190。芯片组1190可包括P-P接口。此外,芯片组1190可经由接口耦合到第一总线1116。各种输入/输出(I/O)装置1114可连同总线桥1118(其将第一总线1116耦合到第二总线1120)一起耦合到第一总线1116。各种装置可耦合到第二总线1120,在一个实施例中,包括例如键盘/鼠标1122、通信装置1126以及可包括代码1130的、诸如磁盘驱动器或者其它大容量存储装置的数据存储单元1128。代码可包含在一个或多个存储器(包括存储器1128、1132、1134、经由网络等耦合到系统1100的存储器)中。此外,音频I/O 1124可耦合到第二总线1120。
实施例可通过代码来实现,并且可存储在存储介质上,存储介质上存储了能够用于将系统编程为执行指令的指令。存储介质可包括但不限于:任何类型的磁盘,包括软盘、光盘、固态驱动器(SSD)、光盘只读存储器(CD-ROM)、可改写光盘(CD-RW)和磁光盘;半导体器件,例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SARAM)之类的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM)、磁卡或光卡;或者适合于存储电子指令的任何其它类型的介质。
本文中可参照诸如指令、函数、过程、数据结构、应用程序、配置设定、代码等的数据来描述本发明的实施例。当数据由机器来访问时,该机器可通过下列步骤进行响应:执行任务,定义抽象数据类型,建立低级硬件上下文,和/或执行其它操作,如本文更详细描述。数据可存储在易失性和/或非易失性数据存储装置中。术语“代码”或“程序”涵盖大范围的组件和构造,包括应用、驱动程序、进程、例程、方法、模块和子程序,并且可表示指令的任何集合,其在由处理系统运行时执行期望操作或者多个操作。另外,备选实施例可包括使用少于所有所公开操作的进程、使用附加操作的进程、使用不同顺序的相同操作的进程以及其中组合、细分或者以其它方式改变本文所公开的单独操作的进程。在一个实施例中,术语“控制逻辑”的使用包括诸如晶体管、寄存器之类的硬件或者诸如可编程逻辑装置(1135)等的其它硬件。但是,在另一个实施例中,逻辑还包括软件或代码(1131)。这种逻辑可与硬件集成,例如固件或微码(1136)。处理器或控制器可包括控制逻辑,其预计表示本领域已知的大量控制逻辑的任一个,并且因此可完全实现为微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑装置(PLD)等。
本文所使用的模块表示任何硬件、软件、固件或者它们的组合。经常,示为独立的模块边界通常改变并且可能重叠。例如,第一和第二模块可共享硬件、软件、固件或者它们的组合,同时可能保留一些独立的硬件、软件或固件。在一个实施例中,术语“逻辑”的使用包括硬件(例如晶体管、寄存器)或者其它硬件(例如可编程逻辑装置)。但是,在另一个实施例中,逻辑还包括与硬件集成的软件或代码,例如固件或微码。
本领域的技术人员将会理解,一般来说,本文中以及特别是所附权利要求书(例如,所附权利要求书的主体)中所使用的术语一般预计作为“开放”术语(例如,术语“包括”应当被理解为“包括但不限于”,术语“具有”应当被理解为“至少具有”,术语“包括”应当被理解为“包括但不限于”等)。本领域的技术人员还将会理解,如果预计特定数量的所引入权利要求的叙述,则这种意图将在权利要求中明确叙述,以及在没有这种叙述的情况下,这种意图不存在。例如,作为对理解的帮助,以下所附权利要求书可包含引导词语“至少一个”和“一个或多个”的使用,以引入权利要求叙述。但是,这类词语的使用不应当被理解为暗示通过不定冠词“一”、或“一个”的权利要求叙述的引入将包含这种所引入权利要求叙述的任何特定权利要求限制到仅包含一种这样的叙述的发明,甚至当同一权利要求包括引导词语“一个或多个”或者“至少一个”和不定冠词“一”或“一个”(例如“一”和/或“一个”通常应当被理解为表示“至少一个”或者“一个或多个”)时;同样的情况对于用来引入权利要求叙述的定冠词的使用成立。另外,即使特定数量的所引入权利要求叙述明确地叙述时,本领域的技术人员也将会知道,这种叙述通常应当被理解为至少表示所述数量(例如,没有其它修饰成分的“两个叙述”的无修饰叙述通常表示至少两个叙述或者到时候或更多叙述)。在使用类似于“A、B或C等的至少一个”的惯例的那些情况下,一般来说,这种构造预计按照本领域的技术人员理解惯例的意义(例如,“具有A、B或C的至少一个”的系统将包括但不限于只具有A、只具有B、只具有C、A和B、A和C、B和C和/或A、B和C等的系统)。本领域的技术人员还将会理解,实际上任何转折词和/或表示两个或更多备选术语的词语无论在描述、权利要求书还是附图中应当被理解为考虑包括术语之一、术语的任一个或者两个术语的可能性。例如,词语“A或B”将被理解为包括“A”或“B”或者“A和B”的可能性。
虽然针对有限数量的实施例描述了本发明的实施例,但是本领域的技术人员将会从中知道大量修改和变更。所附权利要求书意在涵盖落入本发明的实施例的真实精神和范围中的所有这类修改及变更。

Claims (20)

1.至少一个机器可读介质,包括当运行于计算装置时使所述计算装置执行包括下列步骤的方法的指令:
接收视频;
显示图形用户界面(GUI)的单个实例,其同时向用户提供向第一、第二和第三分发频道分发所述视频的选项,第一、第二和第三分发频道中的每一个包括在线视频平台;
响应经由所述GUI的所述单个实例所提供的用户输入,确定所述视频将要向所述第一和第二分发频道但不向所述第三分发频道分发;
响应经由所述GUI的所述单个实例所提供的用户输入,确定所述视频的第一和第二特性,所述第一和第二特性从包含文件类型、容器类型、视频持续时间、视频分辨率、帧率、视频压缩比特率和音频压缩比特率的组中选取;
响应经由所述GUI的所述单个实例所提供的用户输入,将所述视频转码为具有与所述第一分发频道对应的第一格式的经转码的第一视频;将所述视频转码为具有与所述第二分发频道对应的第二格式的经转码的第二视频,所述第一格式不等于所述第二格式;并且不将所述视频转码为具有与所述第三分发频道对应的第三格式的经转码的第三视频;
响应经由所述GUI的所述单个实例所提供的用户输入,对照所述第一格式验证第一元数据并且将所述第一元数据和所述经转码的第一视频封装到第一容器中,并且将第二元数据和所述经转码的第二视频封装到第二容器中;以及
响应经由所述GUI的所述单个实例所提供的用户输入,向所述第一频道发布所述第一容器,并且向所述第二频道发布所述第二容器。
2.如权利要求1所述的至少一个机器可读介质,所述方法包括接收所述所发布的第一容器的第一度量数据和所述所发布的第二容器的第二度量数据;其中所述第一度量数据以与所述第二度量数据不同方式被格式化。
3.如权利要求2所述的至少一个机器可读介质,所述方法包括将所述第一和第二度量数据标准化为与所述第一和第二度量数据对应的通用标准化数据。
4.如权利要求1所述的至少一个机器可读介质,所述方法包括响应所述用户输入而从包括基于第一、第二和第三处理器的系统的硬件编组中选择所述基于第一和第二处理器的系统但不选择所述基于第三处理器的系统。
5.如权利要求4所述的至少一个机器可读介质,所述方法包括与经由所述基于第二处理器的系统将所述视频转码为所述经转码的第二视频并行地经由所述基于第一处理器的系统将所述视频转码为所述经转码的第一视频。
6.如权利要求1所述的至少一个机器可读介质,所述方法包括:
显示所述GUI的所述单个实例,其同时向所述用户提供向所述第一、第二和第三分发频道以及第四分发频道分发所述视频的选项;
响应经由所述GUI的所述单个实例所提供的用户输入,确定所述视频将要被分发到所述第四分发频道;以及
响应分析所述所确定的第一和第二特性之一而确定不将所述视频转码为具有与所述第四分发频道对应的第四格式的经转码的第四视频。
7.如权利要求1所述的至少一个机器可读介质,所述方法包括:
从所述用户接收与所述第一频道对应的第一账户凭证和与所述第二频道对应的第二账户凭证;以及
经由所述第一账户凭证来访问所述第一频道并且经由所述第二账户凭证来访问所述第二频道;
响应访问所述第一和第二频道而向所述第一频道发布所述第一容器并且向所述第二频道发布所述第二容器。
8.如权利要求1所述的至少一个机器可读介质,所述方法包括:
响应经由所述GUI的单个实例所提供的所述用户输入,确定哪一个第一频道信息对所述第一频道是必需的以及哪一个第二频道信息对所述第二频道是必需的;
在确定哪一个第一频道信息对所述第一频道是必需的以及哪一个第二频道信息对所述第二频道是必需的之后,从所述用户请求所述第一和第二频道信息;
其中所述第一频道信息不等于所述第二频道信息。
9.如权利要求8所述的至少一个机器可读介质,其中,所述第一频道信息包括来自所述视频的用户名、密码、馈送标题、文件指针和代表帧其中之一。
10.如权利要求1所述的至少一个机器可读介质,其中,所述第一格式包括第一比特率,以及所述第二格式包括不等于所述第一比特率的第二比特率。
11.至少一个机器可读介质,包括当运行于计算装置时使所述计算装置执行包括下列步骤的方法的指令:
显示图形用户界面(GUI)的单个实例,其同时向用户提供向第一、第二和第三分发频道分发视频的选项,第一、第二和第三分发频道中的每一个包括在线视频平台;
响应经由所述GUI的所述单个实例所提供的用户输入,确定所述视频将要向第一和第二分发频道但不向第三分发频道分发并且确定第一和第二分发频道的元数据要求;
确定所述视频的第一和第二特性;以及
将所述视频转码为具有与所述第一分发频道对应的第一格式的经转码的第一视频;将所述视频转码为具有与所述第二分发频道对应的第二格式的经转码的第二视频,所述第一格式不等于所述第二格式;并且不将所述视频转码为具有与所述第三分发频道对应的第三格式的经转码的第三视频。
12.如权利要求11所述的至少一个机器可读介质,所述方法包括:响应确定第一和第二分发频道的元数据要求,重新格式化与所述视频对应的第一元数据以符合第一分发频道的元数据要求;将重新格式化的第一元数据和所述经转码的第一视频封装到第一容器中以及将第二元数据和所述经转码的第二视频封装到第二容器中。
13.如权利要求12所述的至少一个机器可读介质,所述方法包括向所述第一频道发布所述第一容器以及向所述第二频道发布所述第二容器。
14.如权利要求13所述的至少一个机器可读介质,所述方法包括接收所述所发布的第一容器的第一度量数据和所述所发布的第二容器的第二度量数据;其中所述第一度量数据以与所述第二度量数据不同方式被格式化;其中所述第一度量数据和所述第二度量数据均从包括播放、印象、地理数据和参与数据的组中选择。
15.如权利要求14所述的至少一个机器可读介质,所述方法包括将所述第一和第二度量数据标准化为与所述第一和第二度量数据对应的通用标准化数据。
16.如权利要求11所述的至少一个机器可读介质,所述方法包括:
响应用户输入,确定所述视频将要被分发到第四分发频道;以及
响应分析所述所确定的第一和第二特性之一并且确定所述所确定的第一和第二特性中的所分析一个不满足与第四格式对应的标准,确定不将所述视频转码为具有与所述第四分发频道对应的第四格式的经转码的第四视频。
17.如权利要求11所述的至少一个机器可读介质,所述方法包括:
从所述用户接收与所述第一频道对应的第一账户凭证和与所述第二频道对应的第二账户凭证;
经由所述第一账户凭证来访问所述第一频道并且经由所述第二账户凭证来访问所述第二频道。
18.如权利要求11所述的至少一个机器可读介质,所述方法包括:
确定哪一个第一频道信息对所述第一频道是必需的以及哪一个第二频道信息对所述第二频道是必需的;以及
在确定哪一个第一频道信息对所述第一频道是必需的以及哪一个第二频道信息对所述第二频道是必需的之后,从所述用户请求所述第一和第二频道信息;
其中所述第一频道信息不等于所述第二频道信息。
19.如权利要求18所述的至少一个机器可读介质,其中,所述第一频道信息包括来自所述视频的用户名、密码、馈送标题、文件指针和代表帧其中之一。
20.如权利要求11所述的至少一个机器可读介质,其中,所述第一格式包括第一比特率,以及所述第二格式包括不等于所述第一比特率的第二比特率。
CN201380073573.0A 2012-12-21 2013-12-20 媒体分发和管理平台 Active CN105144737B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/725,454 US8826332B2 (en) 2012-12-21 2012-12-21 Media distribution and management platform
US13/725454 2012-12-21
PCT/US2013/076769 WO2014100524A1 (en) 2012-12-21 2013-12-20 Media distribution and management platform

Publications (2)

Publication Number Publication Date
CN105144737A CN105144737A (zh) 2015-12-09
CN105144737B true CN105144737B (zh) 2019-05-07

Family

ID=50976325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073573.0A Active CN105144737B (zh) 2012-12-21 2013-12-20 媒体分发和管理平台

Country Status (10)

Country Link
US (6) US8826332B2 (zh)
EP (1) EP2936825A4 (zh)
JP (2) JP6273292B2 (zh)
KR (2) KR20150100838A (zh)
CN (1) CN105144737B (zh)
AU (1) AU2013361219B2 (zh)
BR (2) BR112015015062A2 (zh)
CA (1) CA2896175C (zh)
MX (1) MX346658B (zh)
WO (1) WO2014100524A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819984B1 (en) 2007-03-26 2017-11-14 CSC Holdings, LLC Digital video recording with remote storage
US9165134B2 (en) * 2011-03-08 2015-10-20 Telefonica, S.A. Method for providing authorized access to a service application in order to use a protected resource of an end user
US9106921B2 (en) * 2012-04-24 2015-08-11 Vixs Systems, Inc Configurable transcoder and methods for use therewith
US8826332B2 (en) * 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform
US9602850B2 (en) * 2013-08-06 2017-03-21 Verizon Patent And Licensing Inc. Metadata validation
EP3103239B1 (en) 2014-02-07 2023-10-11 Oracle International Corporation Cloud service custom execution environment
US9529658B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace request messages and identifying related diagnostic information
SG11201605659SA (en) * 2014-02-07 2016-08-30 Oracle Int Corp Mobile cloud service architecture
US9529657B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
SG11201605786SA (en) 2014-03-31 2016-10-28 Oracle Int Corp Infrastructure for synchronization of mobile device with mobile cloud service
US10297163B2 (en) 2014-08-29 2019-05-21 Accenture Global Services Limited On-demand learning system
US20160124987A1 (en) * 2014-10-30 2016-05-05 Microsoft Corporation Access control based on requestor location
US10223363B2 (en) 2014-10-30 2019-03-05 Microsoft Technology Licensing, Llc Access control based on operation expiry data
US9747636B2 (en) 2014-12-08 2017-08-29 Bank Of America Corporation Enhancing information security using an information passport dashboard
US10063661B2 (en) 2015-01-14 2018-08-28 Oracle International Corporation Multi-tenant cloud-based queuing systems
US20160323351A1 (en) 2015-04-29 2016-11-03 Box, Inc. Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
US11328590B2 (en) * 2015-10-29 2022-05-10 InterNetwork Media, LLC System and method for internet radio automatic content management
US9973547B1 (en) * 2016-02-09 2018-05-15 Vecima Networks Inc. Method and systems for adaptively managing hypertext transfer protocol sessions in a content delivery network
US10171410B2 (en) 2016-03-28 2019-01-01 Microsoft Technology Licensing, Llc Cross-mode communiation
US10587708B2 (en) 2016-03-28 2020-03-10 Microsoft Technology Licensing, Llc Multi-modal conversational intercom
EP3436935A1 (en) 2016-03-28 2019-02-06 Oracle International Corporation Pre-formed instructions for a mobile cloud service
US11487512B2 (en) 2016-03-29 2022-11-01 Microsoft Technology Licensing, Llc Generating a services application
US10250894B1 (en) * 2016-06-15 2019-04-02 Gopro, Inc. Systems and methods for providing transcoded portions of a video
US20180063205A1 (en) * 2016-08-30 2018-03-01 Augre Mixed Reality Technologies, Llc Mixed reality collaboration
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage
US10904329B1 (en) 2016-12-30 2021-01-26 CSC Holdings, LLC Virtualized transcoder
CN106791931B (zh) * 2017-01-05 2019-11-15 上海浦东软件园汇智软件发展有限公司 一种数据流转码的方法及设备
CN106921662B (zh) * 2017-03-01 2020-01-03 北京牡丹电子集团有限责任公司数字电视技术中心 实时流连接生命周期管理方法
US11270023B2 (en) 2017-05-22 2022-03-08 International Business Machines Corporation Anonymity assessment system
US10447615B2 (en) * 2017-06-19 2019-10-15 Live Nation Entertainment, Inc. Enhanced real-time linking methods and systems
US11470131B2 (en) 2017-07-07 2022-10-11 Box, Inc. User device processing of information from a network-accessible collaboration system
KR102044191B1 (ko) * 2018-05-02 2019-11-13 오픈스택 주식회사 전송제어 매트릭스를 이용한 영상 인코딩 장치 및 그 동작 방법
KR102063574B1 (ko) * 2018-09-18 2020-01-09 주식회사 에벤에셀케이 클라우드 기반 문서발송 방법, 장치, 및 이에 대한 컴퓨터프로그램
US10992960B2 (en) * 2019-02-06 2021-04-27 Jared Michael Cohn Accelerated video exportation to multiple destinations
CN111225249B (zh) * 2019-10-21 2022-05-17 视联动力信息技术股份有限公司 一种编码数据处理方法及装置
US11528307B2 (en) * 2020-06-30 2022-12-13 Avid Technology, Inc. Near real-time collaboration for media production
US11284165B1 (en) 2021-02-26 2022-03-22 CSC Holdings, LLC Copyright compliant trick playback modes in a service provider network
CN114979714B (zh) * 2022-07-29 2022-11-01 中关村科学城城市大脑股份有限公司 视频转码播放方法、装置、电子设备和计算机可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311382B1 (en) * 2012-05-09 2012-11-13 Youtoo Technologies, LLC Recording and publishing content on social media websites

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077868A (ja) * 2000-08-31 2002-03-15 Sony Corp コンテンツ配信の予約方法、コンテンツ配信方法、予約管理装置およびプログラム格納媒体
JP2004512785A (ja) 2000-10-24 2004-04-22 アイボール ネットワークス インコーポレイテッド Dctに基づくスケーラブルなビデオ圧縮
US20020194301A1 (en) * 2000-11-01 2002-12-19 Hiroki Morii Information distribution system
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US7089309B2 (en) * 2001-03-21 2006-08-08 Theplatform For Media, Inc. Method and system for managing and distributing digital media
US20070089151A1 (en) * 2001-06-27 2007-04-19 Mci, Llc. Method and system for delivery of digital media experience via common instant communication clients
US20030028884A1 (en) * 2001-08-03 2003-02-06 Swart William D. Video and digital multimedia aggregator content availability notification system and method
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US8108342B2 (en) 2007-09-10 2012-01-31 Robert Salinas Methods and systems of content mobilization, mobile search, and video editing through a web interface
KR100556826B1 (ko) 2003-04-17 2006-03-10 한국전자통신연구원 Mpeg-4 기반의 양안식 3차원 동영상을 서비스하기 위한 인터넷 방송 시스템 및 그 방법
CN100458747C (zh) * 2003-10-31 2009-02-04 索尼株式会社 用于确定计算机的连接速度的方法
DE10358338A1 (de) * 2003-12-12 2005-07-14 Siemens Ag Verfahren zum Ersatzschalten von räumlich getrennten Vermittlungssystemen
US7404204B2 (en) * 2004-02-06 2008-07-22 Hewlett-Packard Development Company, L.P. System and method for authentication via a single sign-on server
KR101136713B1 (ko) 2004-02-18 2012-04-19 주식회사 케이티 웹서비스를 이용한 멀티 트랜스코딩 서비스 방법
JP4706318B2 (ja) 2005-04-20 2011-06-22 日本電気株式会社 コンテンツ閲覧システム及びそれに用いるコンテンツアップロード方法並びにコンテンツ配信方法
JP4805606B2 (ja) 2005-05-11 2011-11-02 株式会社エヌ・ティ・ティ・ドコモ 映像アップロードシステム、録画サーバ、及び映像アップロード方法
WO2007044621A2 (en) * 2005-10-07 2007-04-19 Roe River Corporation Systems and methods for uploading and downloading files in a distributed network
US20070140255A1 (en) * 2005-12-21 2007-06-21 Motorola, Inc. Method and system for communication across different wireless technologies using a multimode mobile device
US8607287B2 (en) * 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US20070162487A1 (en) * 2005-12-30 2007-07-12 Razorstream, Llc Multi-format data coding, managing and distributing system and method
CN101467453B (zh) * 2006-06-15 2011-12-07 索尼株式会社 信息处理装置以及信息处理方法
US8695031B2 (en) 2006-08-02 2014-04-08 Concurrent Computer Corporation System, device, and method for delivering multimedia
US20090006335A1 (en) 2006-10-26 2009-01-01 Videokeyhole.Com, Inc. System And Method For Distributing Multimedia Information
US8301658B2 (en) 2006-11-03 2012-10-30 Google Inc. Site directed management of audio components of uploaded video files
US9294822B2 (en) * 2006-11-23 2016-03-22 Mirriad Advertising Limited Processing and apparatus for advertising component placement utilizing an online catalog
US20080155230A1 (en) 2006-12-21 2008-06-26 General Instrument Corporation Method and System for Providing Simultaneous Transcoding of Multi-Media Data
US7743116B2 (en) 2007-05-28 2010-06-22 Apple Inc. Method and user interface for accessing groups of media assets
US8881186B2 (en) 2007-07-12 2014-11-04 Yahoo! Inc. Method and system for improved media distribution
US20090037967A1 (en) 2007-08-01 2009-02-05 Oren Barkan Video upload system
US20090259971A1 (en) * 2007-09-21 2009-10-15 Scott Rankine Media mashing across multiple heterogeneous platforms and devices
US20090094652A1 (en) 2007-10-03 2009-04-09 Eatlime, Inc. Methods and Apparatus for Simultaneous Uploading and Streaming of Media
US8392591B2 (en) 2007-12-28 2013-03-05 Cellspinsoft Inc. Automatic multimedia upload for publishing data and multimedia content
JP4506876B2 (ja) 2008-05-22 2010-07-21 ソニー株式会社 アップロード装置、サーバ装置、アップロードシステム及びアップロード方法
JP2010033341A (ja) 2008-07-29 2010-02-12 Kyocera Corp 携帯無線端末、無線通信方法、およびコンテンツ参照システム
CN201247590Y (zh) 2008-08-01 2009-05-27 鸿富锦精密工业(深圳)有限公司 可自动切换显示模式的电子相框
US8321906B2 (en) 2008-09-11 2012-11-27 At&T Intellectual Property I, Lp Method and system for a transcoder
US20100269144A1 (en) * 2009-04-17 2010-10-21 Tandberg Television, Inc. Systems and methods for incorporating user generated content within a vod environment
US8171564B2 (en) * 2009-04-17 2012-05-01 Ericsson Television Inc. Systems and methods for one-to-many secure video encryption
KR101567518B1 (ko) 2009-04-28 2015-11-09 삼성전자주식회사 사용자 조작 정보 전달을 위한 통신방법 및 이를 적용한 전자장치
US8819559B2 (en) 2009-06-18 2014-08-26 Cyberlink Corp. Systems and methods for sharing multimedia editing projects
US8136142B2 (en) * 2009-07-02 2012-03-13 Ericsson Television, Inc. Centralized content management system for managing distribution of packages to video service providers
CA2824754A1 (en) 2009-09-26 2011-03-31 Disternet Technology Inc. System and method for micro-cloud computing
US7921150B1 (en) 2009-10-23 2011-04-05 Eastman Kodak Company Method for viewing videos on distributed networks
KR20110047399A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 컨텐츠 업로드 서비스를 제공하는 서버, 단말기 및 컨텐츠 업로드 방법
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US8897377B2 (en) 2009-12-31 2014-11-25 Broadcom Corporation Transcoding multiple media elements for independent wireless delivery
WO2011163422A2 (en) * 2010-06-22 2011-12-29 Newblue, Inc. System and method for distributed media personalization
US8464304B2 (en) 2011-01-25 2013-06-11 Youtoo Technologies, LLC Content creation and distribution system
US20120204201A1 (en) 2011-02-03 2012-08-09 Bby Solutions, Inc. Personalized best channel selection device and method
US20120254925A1 (en) 2011-04-01 2012-10-04 VideoGenie, Inc. Computer systems and methods for video capturing, managing, and/or sharing
US9201895B2 (en) * 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US9571433B2 (en) * 2011-09-12 2017-02-14 Panasonic Intellectual Property Management Co., Ltd. Communication device, relay server for relaying data from communication device, and communication system including them
US9525900B2 (en) * 2011-09-15 2016-12-20 Google Inc. Video management system
EP2759126B8 (en) * 2011-09-18 2021-03-31 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9432704B2 (en) 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
US9087178B2 (en) * 2012-04-25 2015-07-21 Convivial Corporation System and method for posting content to network sites
US8826332B2 (en) 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311382B1 (en) * 2012-05-09 2012-11-13 Youtoo Technologies, LLC Recording and publishing content on social media websites

Also Published As

Publication number Publication date
CN105144737A (zh) 2015-12-09
US20230421823A1 (en) 2023-12-28
US9501212B2 (en) 2016-11-22
JP2016509772A (ja) 2016-03-31
JP6461384B2 (ja) 2019-01-30
AU2013361219A1 (en) 2015-07-23
CA2896175C (en) 2018-10-30
US20150058731A1 (en) 2015-02-26
MX2015008181A (es) 2015-09-25
US20140181864A1 (en) 2014-06-26
US8826332B2 (en) 2014-09-02
KR101977516B1 (ko) 2019-05-10
BR112015015062A2 (pt) 2017-07-11
MX346658B (es) 2017-03-28
US20220232268A1 (en) 2022-07-21
US20170070760A1 (en) 2017-03-09
JP6273292B2 (ja) 2018-01-31
US11570491B2 (en) 2023-01-31
AU2013361219B2 (en) 2016-08-11
EP2936825A1 (en) 2015-10-28
US20200374572A1 (en) 2020-11-26
WO2014100524A1 (en) 2014-06-26
JP2018088682A (ja) 2018-06-07
US11303941B2 (en) 2022-04-12
CA2896175A1 (en) 2014-06-26
US10771825B2 (en) 2020-09-08
KR20150100838A (ko) 2015-09-02
BR112015015053A2 (pt) 2017-07-11
KR20170038088A (ko) 2017-04-05
EP2936825A4 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
CN105144737B (zh) 媒体分发和管理平台
US10999343B1 (en) Apparatus and method for dynamically providing web-based multimedia to a mobile phone
US11402969B2 (en) Multi-source journal content integration systems and methods and systems and methods for collaborative online content editing
WO2018177053A1 (zh) 一种实现视频资源和社交相融合的方法和视频社交融合系统
KR101189007B1 (ko) 네트워크 상에서 컨텐츠와 컨텐츠의 메타 데이터를 중개하는 시스템 및 방법
US20130054837A1 (en) Compressing, transcoding, sending, and retrieving video and audio files in a server-based system and related systems and methods
CN104396263A (zh) 用于流式媒体内容的实时复用变换的方法和系统
US10715836B2 (en) Method and apparatus for delocalized management of video data
EP3512175B1 (en) System and protocol for integrating multiple service providers across various domains using a platform
CN102017648A (zh) 元数据生成管理装置、元数据生成系统、元数据生成管理用集成电路、元数据生成管理方法及程序
US20120226781A1 (en) Multimedia data streaming system and method
CN107534792A (zh) 接收设备、发送设备以及数据处理方法
US20130054772A1 (en) Method and apparatus for content management using network server
Fricke et al. Video Verification in the Newsroom
CN108574852A (zh) 基于SharePoint的视频点播系统
KR20180104919A (ko) 스마트 팩토리 디바이스 간 자동 연동 지원 장치 장치 및 그 방법
Adamopoulos et al. Study, design and development of a modern video system to improve services from the production to the end user
CN106331734A (zh) 一种微信点歌台实现方法及系统
CN117994726A (zh) 客户流量的统计方法、装置、电子设备和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant