WO2020133608A1 - 一种拖拉视频数据的处理方法及代理服务器 - Google Patents

一种拖拉视频数据的处理方法及代理服务器 Download PDF

Info

Publication number
WO2020133608A1
WO2020133608A1 PCT/CN2019/072175 CN2019072175W WO2020133608A1 WO 2020133608 A1 WO2020133608 A1 WO 2020133608A1 CN 2019072175 W CN2019072175 W CN 2019072175W WO 2020133608 A1 WO2020133608 A1 WO 2020133608A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
drag
data
request
metadata
Prior art date
Application number
PCT/CN2019/072175
Other languages
English (en)
French (fr)
Inventor
罗明明
Original Assignee
网宿科技股份有限公司
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 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to EP19904603.8A priority Critical patent/EP3902266A4/en
Priority to US17/292,792 priority patent/US20210400317A1/en
Publication of WO2020133608A1 publication Critical patent/WO2020133608A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • 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/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/47217End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • the invention relates to the technical field of the Internet, in particular to a processing method for dragging video data and a proxy server.
  • data is often forwarded between the video client and the resource server through a proxy server, and in the proxy server, the video file is usually not cached, so that the current proxy server cannot effectively process Video drag and drop request initiated by the video client.
  • the purpose of the present application is to provide a processing method for dragging video data and a proxy server, which can enable the proxy server to normally process video dragging requests.
  • the present application provides a method for processing dragging video data, the method includes: receiving a video dragging request initiated by a client that points to a target video, and the video dragging request includes a method for defining a dragging start Video dragging parameters at the time point and the time point at which the dragging ends; according to the video dragging request, construct a video area request that points to the target video, and send the video area request to the source server that stores the target video to obtain Metadata and media data header information of the target video; parsing the metadata and the media data header information to obtain a metadata instance of the target video, and determining the video according to the metadata instance Dragging parameters corresponding to the start position and end position in the media data of the target video; constructing a data acquisition request including the start position and the end position, and sending the data acquisition request to the source station After receiving the dragging video data fed back by the source server, the server sends the dragging video data to the client.
  • the present application provides a processing method for dragging and dropping video data.
  • the method can be applied to the system architecture shown in FIG. 1.
  • the client can include client, proxy server and origin server.
  • the client may be a terminal device used by a user.
  • the terminal device may be, for example, an electronic device such as a smart phone, tablet computer, notebook computer, personal computer, smart TV, smart wearable device (smart watch, virtual reality glasses, etc.).
  • the client may also be software with video playback function running on the electronic device.
  • the client may be a video client such as Youku, iQIYI, Bilibili, AcFun, etc.
  • the proxy server may forward the request or data between the client and the source station server, thereby maintaining data communication between the client and the source station server.
  • the user when a user watches an online video in the client, the user can adjust the playback progress of the video by dragging the progress bar.
  • the position of the progress bar can be the position where the video starts to play.
  • a complete video file can be divided into multiple video clips and stored in the source server, and the client can sequentially obtain the data of each video clip from the source server and play it. Therefore, after the user completes the dragging action, the drag start time point can be determined according to the position of the progress bar, and then the video segment according to the drag start time point can be identified, and the end of the identified video segment can be identified The time node serves as the end point of dragging.
  • the proxy server may obtain the drag video data corresponding to the video drag request by analyzing the metadata of the target video.
  • the data of the video file may generally include multiple components.
  • the mp4 video file can usually include multiple components such as ftyp box, moov box, mdat box and so on.
  • ftyp box can indicate the format of the video file, and describe the version of the video file, compatible protocol, etc.; the moov box can contain the metadata of the video file, which can describe the information of each video frame in the video; mdat box Then, the media data of the video file can be included, and the media data can be played by the client after being parsed by the client.
  • the mdat box can contain header information and ontology information, where the actual media data can be stored in the ontology information, and the header information can be used to describe the data size and media data of the media data in the ontology information. The data offset in the entire video file.
  • the data length of 1024 can usually cover the start position of the moov box, then the data offset and the end data offset of the first data interval can be 0 and 1023, respectively, which can constitute [0,1023] Such a data interval having a data length of 1024.
  • the proxy server may construct a first video area request including the loading address and the first data interval, and send the first video range request to the source server that stores the target video.
  • the proxy server can determine the starting position of the metadata, and then based on the starting position of the metadata, the standard length of the metadata, and the media data
  • the standard length of the header information determines how much data interval is needed to obtain complete metadata and media data header information, so that a second data interval covering the metadata and the media data header information can be generated .
  • the first data interval is [0,1023].
  • the proxy server may construct a second video area request including the second data interval and the loading address, and send the second video area request to the source server storing the target video to obtain the target The metadata of the video and the header information of the media data.
  • the proxy server can analyze the specific information of each video frame in the media data of the target video, the data size of the media data, and each video frame in the media data Information such as the data offset.
  • the proxy server can obtain the metadata instance of the target video.
  • the metadata instance can be consistent with the analysis result, so that the specific information of each video frame in the target video, the data size of the media data, and the data offset of each video frame can be described.
  • the proxy server obtains a part of the media data from the source server according to the start position and the end position.
  • the proxy server needs to build an independent mp4 file based on this part of the media data when feeding back to the client, and the built file also needs to contain the above ftyp box , Moov box, mdat box and other components.
  • the dragging video data is selected from the video data of the target video, various components of the target video are also applicable to the video file corresponding to the dragging video data. Therefore, the various components in the target video can be used, but some parameters need to be modified according to the actual data size of the dragging video data.
  • the feedback of the new dragging video data also needs to be an independent video file
  • the proxy server can construct a response message for the new video dragging request, and the response message includes response header information and dragging video metadata ;
  • the response header information at least describes the data size of the drag video defined by the new start position and the new end position
  • the drag video metadata is used to describe the new start The playback attribute of the dragging video defined by the location and the new end location
  • the proxy server may feed back the response message to the client.
  • the data acquiring unit is configured to construct a video area request pointing to the target video in response to the video drag request, and send the video area request to the source server storing the target video to acquire the target video Metadata and media data header information;
  • the position determining unit is configured to parse the metadata and the media data header information to obtain a metadata instance of the target video, and determine the video drag parameter in the target video according to the metadata instance The corresponding start position and end position in the media data;
  • the response message Constructing a response message for the video drag request, the response message including response header information and dragging video metadata; wherein, the response header information at least describes that the start position and the end position are defined
  • the data size of the drag video, and the drag video metadata is used to describe the playback attributes of the drag video defined by the start position and the end position;

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种拖拉视频数据的处理方法及代理服务器,其中,所述方法包括:接收客户端发起的指向目标视频的视频拖拉请求;响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求;解析反馈的元数据和媒体数据头部信息,得到所述目标视频的元数据实例,并确定视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并将反馈的拖拉视频数据发送至所述客户端。本申请提供的技术方案,能够使得代理服务器也能够正常处理视频拖拉请求。

Description

一种拖拉视频数据的处理方法及代理服务器 技术领域
本发明涉及互联网技术领域,特别涉及一种拖拉视频数据的处理方法及代理服务器。
背景技术
随着网络通信带宽的不断增加,当前的视频播放网站通常都支持视频在线播放。用户在线观看视频时,可以对视频的播放进度进行拖拉。用户在对视频进行一次拖拉后,视频客户端便会产生一次视频拖拉请求,该请求可以被视频客户端发送至存储视频的资源服务器。这样,资源服务器可以根据视频拖拉请求向视频客户端反馈对应的视频内容。
目前的这种视频拖拉的实现方式,在资源服务器中通常都需要存在已经缓存或者已经存储的视频文件,这样,资源服务器才能够根据视频拖拉请求向视频客户端反馈对应的内容。
然而在现有的一些网络架构中,视频客户端和资源服务器之间往往是通过代理服务器进行数据转发,而在代理服务器中,通常不会缓存视频文件,从而使得当前的代理服务器无法有效地处理视频客户端发起的视频拖拉请求。
发明内容
本申请的目的在于提供一种拖拉视频数据的处理方法及代理服务器,能够使得代理服务器也能够正常处理视频拖拉请求。
为实现上述目的,本申请一方面提供一种拖拉视频数据的处理方法,所述方法包括:接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数;根据所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;解析所述元数据和所述媒体数据头部信息,得到所述目标视 频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
为实现上述目的,本申请另一方面还提供一种代理服务器,所述代理服务器包括:视频拖拉请求接收单元,用于接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数;数据获取单元,用于响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;位置确定单元,用于解析所述元数据和所述媒体数据头部信息,得到所述目标视频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;拖拉视频数据发送单元,用于构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
为实现上述目的,本申请另一方面还提供一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的拖拉视频数据的处理方法。
为实现上述目的,本申请另一方面还提供一种拖拉视频数据的处理方法,所述方法包括:接收客户端发起的指向目标视频的视频拖拉请求,并从预设哈希表中查询所述视频拖拉请求对应的元数据实例;根据所述元数据实例,确定所述视频拖拉请求在所述目标视频的媒体数据中对应的起始位置和终止位置;构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
为实现上述目的,本申请另一方面还提供一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的拖拉视频数据的处理方法。
由上可见,本申请提供的技术方案,代理服务器在接收到客户端发起的指向目标视频的视频拖拉请求后,可以根据该请求构建视频区域请求,该视频区域请求可以从源站服务器中获取目标视频的部分数据,这部分数据可以包括目标视频的元数据和媒体数据头部信息。代理服务器通过解析元数据和媒体数据头部信息,可以得到目标视频的元数据实例。该元数据实例中可以包括目标视频的每个视频帧的信息,例如可以包括视频帧在目标视频中对应的播放时间节点以及该视频帧在目标视频的数据中的偏移量。然后,根据上述视频拖拉请求中的视频拖拉参数,可以计算出该视频拖拉参数在目标视频的媒体数据中对应的起始位置和终止位置。然后,通过构建包含所述起始位置和所述终止位置的数据获取请求,从而可以从源站服务器处获取对应的拖拉视频数据,并可以将所述拖拉视频数据发送至所述客户端。这样,通过本申请提供的技术方案,能够使得代理服务器也能正常处理客户端的视频拖拉请求,并能够成功向客户端反馈对应的拖拉视频数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中的系统架构示意图;
图2是本发明实施方式中拖拉视频数据的处理方法流程图;
图3是本发明实施方式中客户端、代理服务器以及源站服务器之间的交互示意图;
图4是本发明实施方式中代理服务器的功能模块示意图;
图5是本发明另一个实施方式中拖拉视频数据的处理方法流程图;
图6是本发明实施方式中代理服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种拖拉视频数据的处理方法,所述方法可以应用于如图1所示的系统架构中。在该系统架构中,可以包括客户端、代理服务器和源站服务器。所述客户端可以是用户使用的终端设备。所述终端设备例如可以是智能手机、平板电脑、笔记本电脑、个人计算机、智能电视、智能可穿戴设备(智能手表、虚拟现实眼镜等)等电子设备。所述客户端还可以是运行于上述电子设备中的具备视频播放功能的软件。例如,所述客户端可以是优酷、爱奇艺、哔哩哔哩、AcFun等视频客户端。所述代理服务器可以通过转发客户端和源站服务器之间的请求或者数据,从而保持客户端和源站服务器之间的数据互通。当然,在实际应用中,所述源站服务器也可以是缓存了视频文件的缓存服务器,为了描述方便,在本申请中均通过源站服务器进行描述。因此,本申请中的源站服务器,实际上是指存储或者缓存了视频文件的服务器,并非表示与源站服务器之间的通信过程就一定是回源过程。
请参阅图2和图3,本实施方式中提供的拖拉视频数据的处理方法,其执行主体可以是上述的代理服务器。如图2和图3所示,所述方法可以包括以下步骤。
S1:接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数。
在本实施方式中,用户在客户端中观看在线视频时,可以通过拖拉进度条的方式来调节视频的播放进度。在拖拉动作完成后,进度条所处的位置就可以是视频开始播放的位置。在实际应用中,完整的视频文件可以划分为多个视频片段存储于源站服务器中,客户端可以从源站服务器处依次获取各个视频片段的数据并进行播放。因此,用户在完成拖拉动作后,根据进度条所处的位置可以确定拖拉起始时间点,然后可以识别出根据该拖拉起始时间点所处的视频片段,并将识别出的视频片段的结尾时间节点作为拖拉终止时间点。这样,当用户完成一次拖拉操作后,客户端便可以生成用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数,然后,客户端便可以向代理服务器发送一个HTTP请求,该HTTP请求中可以携带所述目标视频的加载地址和上述的视频拖拉参数,该HTTP请求便可以是步骤S1中的指向目标视频的视频拖拉请求。这样,代理服务器便可以接收到客户端发来的所述视频拖拉请求。
S3:响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求, 并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息。
在本实施方式中,代理服务器接收到所述视频拖拉请求后,可以通过对目标视频的元数据进行分析的方式,获取到该视频拖拉请求对应的拖拉视频数据。具体地,视频文件的数据中通常可以包括多个组成部分。以mp4格式的视频文件为例,mp4视频文件中通常可以包括ftyp box、moov box、mdat box等多个组成部分。其中,ftyp box可以注明视频文件的格式,并描述视频文件的版本、兼容协议等;moov box中可以包含视频文件的元数据,该元数据可以描述视频中每一个视频帧的信息;mdat box则可以包含视频文件的媒体数据,该媒体数据被客户端解析后可以播放对应的视频内容。在实际应用中,mdat box中可以包含头部信息和本体信息,其中,本体信息中可以存放实际的媒体数据,而头部信息则可以用于描述本体信息中媒体数据的数据大小以及媒体数据在整个视频文件中的数据偏移量。
在本实施方式中,代理服务器首先可以尝试从源站服务器中获取视频文件的元数据。因此,代理服务器可以从所述视频拖拉请求中提取出所述目标视频的加载地址,该加载地址例如可以是目标视频的URL(Uniform Resource Locator,统一资源定位符)。然后,代理服务器可以生成第一数据区间。所述第一数据区间可以由起始数据偏移量和终止数据偏移量来限定。该第一数据区间的目的是能涵盖视频文件中元数据的起始位置。在实际应用中,可以根据视频文件格式的不同,选用对应的第一数据区间。例如,对于mp4文件而言,1024的数据长度通常能够覆盖moov box的起始位置,那么所述第一数据区间的数据偏移量和终止数据偏移量可以分别是0和1023,从而可以构成[0,1023]这样的具备1024数据长度的数据区间。这样,代理服务器可以构建包含所述加载地址和所述第一数据区间的第一视频区域请求,并向存储所述目标视频的源站服务器发送所述第一视频区域(range)请求。
在本实施方式中,源站服务器在接收到所述第一视频区域请求后,通过其中的加载地址,可以确定代理服务器目前需要获取的是哪个视频的数据,然后根据第一数据区间,可以确定代理服务器需要获取的是该视频中哪一部分的数据。代理服务器在接收到源站服务器反馈的所述目标视频中位于所述第一数据区间内的数据后,由于位于所述第一数据区间内的数据中至少包括所述目标视 频的元数据的起始位置处的数据,因此代理服务器可以在位于所述第一数据区间内的数据中识别所述目标视频的元数据的起始位置。所述元数据的起始位置也可以通过数据偏移量来表示。例如,所述元数据的起始位置在目标视频的视频数据中的数据偏移量为1000。在识别出元数据的起始位置后,为了顺利解析所述目标视频的元数据实例,代理服务器需要获取目标视频的全部元数据以及媒体数据的头部信息。通常而言,元数据的数据长度和媒体数据的头部信息的数据长度均可以是标准的长度,这两个标准的长度可以随着视频文件格式的不同而不同。若视频文件的格式确定了,那么这两个标准的长度通常也可以确定。并且,在目标视频的视频数据中,元数据之后紧接着就是媒体数据的头部信息和本体信息。因此,代理服务器通过解析位于所述第一数据区间内的数据后,可以确定出元数据的起始位置,然后可以基于所述元数据的起始位置、所述元数据的标准长度以及媒体数据头部信息的标准长度,确定出为了获取完整的元数据和媒体数据的头部信息具体需要多大的数据区间,从而可以生成覆盖所述元数据和所述媒体数据头部信息的第二数据区间。举例来说,对于mp4文件而言,第一数据区间是[0,1023],通过第一数据区间获取到的数据分析后,确定出元数据的起始位置为1000,而元数据的标准长度为50,媒体数据头部信息的标准长度为100,那么生成的第二数据区间便可以是[1000,1149]。然后,代理服务器可以构建包含所述第二数据区间和所述加载地址的第二视频区域请求,并且向存储所述目标视频的源站服务器发送所述第二视频区域请求,以获取所述目标视频的所述元数据和所述媒体数据头部信息。
这样,在本实施方式中,通过发送两个不同的视频区域请求,从而可以获取所述目标视频的元数据和媒体数据头部信息。
当然,在实际应用中,如果网络条件允许,代理服务器也可以直接发送一个数据区间较大的视频区域请求,从而一次性地获取到全部元数据和媒体数据头部信息,甚至还可以获取到一部分媒体数据本体信息。然后再从获取到的数据中提取出元数据和媒体数据头部信息。因此,本申请的技术方案并不限定于通过两次视频区域请求来获取元数据和媒体数据头部信息的方式,本领域技术人员在理解本申请技术方案的精髓的情况下,可以根据实际情况通过更多次数或者更少次数的视频区域请求,来获取元数据和媒体数据头部信息。本领域技术人员应当理解,上述这种发送更多次数或者更少次数的视频区域请求的方式, 也应当属于本申请的保护范围内。
S5:解析所述元数据和所述媒体数据头部信息,得到所述目标视频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置。
在本实施方式中,代理服务器获取到元数据和媒体数据头部信息后,便可以分析出目标视频的媒体数据中每一个视频帧的具体信息、媒体数据的数据大小以及媒体数据中各个视频帧的数据偏移量等信息。通过解析所述元数据和所述媒体数据头部信息,代理服务器便可以得到所述目标视频的元数据实例。所述元数据实例可以与解析的结果相一致,从而可以描述目标视频中每一个视频帧的具体信息、媒体数据的数据大小以及各个视频帧的数据偏移量等信息。
在本实施方式中,在得到所述元数据实例后,代理服务器可以将目标视频的标识与所述元数据实例通过键值对(key-value)的方式进行存储,以方便后续的查询。在实际应用中,可以通过哈希表的方式来存储生成的元数据实例。具体地,代理服务器可以识别所述目标视频的标识,所述标识例如可以是目标视频的加载地址,或者是目标视频的视频名称,然后可以计算所述标识的哈希值。然后代理服务器可以在预设哈希表中确定所述哈希值指向的位置,并可以将所述目标视频的元数据实例写入确定的所述位置处。后续,通过将目标视频的标识换算为对应的哈希值,便可以快速地从哈希表中查询出对应的元数据实例。
在本实施方式中,在得到所述元数据实例后,便可以根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置。这里的起始位置和终止位置可以通过数据偏移量来表示。所述视频拖拉参数中包含的是拖拉起始时间点和拖拉终止时间点,因此需要将时间点转换为对应的数据偏移量。具体地,由于元数据实例中可以包含每一个视频帧的详细信息,该详细信息可以包含了视频帧在视频中对应的时间点。因此,通过查询该元数据实例,可以在所述元数据实例中分别查询所述拖拉起始时间点和所述拖拉终止时间点对应的第一视频帧信息和第二视频帧信息。此外,视频帧信息中还可以包含视频帧在视频文件中对应的数据偏移量,因此,可以分别从所述第一视频帧信息和第二视频帧信息中读取第一数据偏移量和第二数据偏移量,并可以将所述第一数据偏移量作为所述起始位置,以及将所述第二数据偏移量作 为所述终止位置。
S7:构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
在本实施方式中,在确定出所述起始位置和终止位置后,代理服务器便可以构建包含所述起始位置和所述终止位置的数据获取请求。其中,所述数据获取请求其实也可以是一个视频区域请求,在该视频区域请求中,可以包含由上述的第一数据偏移量和第二数据偏移量构成的数据区间。这样,源站服务器接收到该数据获取请求后,便可以将由第一数据偏移量和第二数据偏移量构成的数据区间中的拖拉视频数据反馈给代理服务器。然后,代理服务器便可以将所述拖拉视频数据提供给客户端。
请参阅图3,在一个实施方式中,代理服务器在确定出所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置之后,可以针对所述视频拖拉请求,向客户端反馈响应报文。具体地,所述响应报文可以包含响应头部信息和响应本体信息。其中,所述响应头部信息中可以包含该响应报文的一些描述信息,例如,可以包含该响应报文所采用的通信协议,还可以包含由所述起始位置和所述终止位置限定的拖拉视频的数据大小。需要说明的是,代理服务器在接收到源站服务器反馈的拖拉视频数据后,需要将该拖拉视频数据作为独立的拖拉视频文件发送至所述客户端。也就是说,向客户端反馈的拖拉视频数据中,也需要包含正常视频的各个组成部分。例如,对于mp4文件而言,代理服务器根据所述起始位置和终止位置,从源站服务器中获取到的是一部分的媒体数据。而为了客户端能够正常解析和播放这部分媒体数据,代理服务器在向客户端反馈时,需要基于这部分媒体数据,构建一个独立的mp4文件,构建的该文件中,也需要包含上述的ftyp box、moov box、mdat box等多个组成部分。在实际应用中,由于拖拉视频数据是从目标视频的视频数据中节选的,因此目标视频的各个组成部分也适用于拖拉视频数据对应的视频文件中。因此,可以沿用目标视频中的各个组成部分,只不过需要根据拖拉视频数据的实际数据大小对应修改其中的部分参数。这样,便可以形成用于表征所述拖拉视频数据的一个独立的视频文件。在本实施方式中,代理服务器向客户端反馈的响应报文中,响应本体信息便可以包含上述的独立的视频文件对应的拖拉视频元数 据,所述拖拉视频元数据可以用于描述由所述起始位置和所述终止位置限定的拖拉视频的播放属性。这样,客户端在向代理服务器发送视频拖拉请求后,可以接收到代理服务器反馈的响应报文,以及一个独立的用户表征拖拉视频数据的视频文件。这样,客户端便可以通过解析该独立的视频文件,从而播放拖拉视频的内容。
在一个实施方式中,如果用户在观看目标视频的过程中,再次拖拉播放进度条,那么客户端可以再次生成一个新的视频拖拉请求。代理服务器在接收到所述客户端再次发起的指向所述目标视频的新的视频拖拉请求后,可以从所述新的视频拖拉请求中提取所述目标视频的标识,并计算所述目标视频的标识的哈希值,然后可以在所述预设哈希表中查询计算出的所述哈希值对应的位置,并将所述位置处存储的元数据实例作为所述新的视频拖拉请求对应的所述元数据实例。这样,代理服务器便可以通过查询哈希表的方式,直接得到所述新的视频拖拉请求对应的所述元数据实例。后续,便可以按照上述的过程,根据所述元数据实例,确定所述新的视频拖拉请求在所述目标视频的媒体数据中对应的新的起始位置和新的终止位置,然后可以构建包含所述新的起始位置和所述新的终止位置的新的数据获取请求,并将所述新的数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的新的拖拉视频数据后,将所述新的拖拉视频数据发送至所述客户端。当然,反馈的新的拖拉视频数据也需要是独立的视频文件,并且代理服务器可以针对所述新的视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的数据大小,所述拖拉视频元数据用于描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的播放属性,并且代理服务器可以向所述客户端反馈所述响应报文。
这样,代理服务器通过构建元数据实例的方式,可以正常地处理客户端发来的视频拖拉请求,并且后续如果客户端再次发来针对同一视频的视频拖拉请求,那么可以通过查询哈希表的方式,直接从本地调用已缓存的元数据实例,并根据该已缓存的元数据实例确定出需要获取的视频片段。由此可见,在本申请中,针对同一个视频而言,只需创建一次元数据实例,后续针对该视频的拖拉请求可以省去创建元数据实例的过程,而是直接使用本地缓存的元数据实例, 从而加快数据的响应速度。
请参阅图4,本申请还提供一种代理服务器,所述代理服务器包括:
视频拖拉请求接收单元,用于接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数;
数据获取单元,用于响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;
位置确定单元,用于解析所述元数据和所述媒体数据头部信息,得到所述目标视频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;
拖拉视频数据发送单元,用于构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
本申请还提供一种拖拉视频数据的处理方法,所述方法可以是在生成了目标视频的元数据实例,并将所述元数据实例写入预设哈希表之后实施。具体地,请参阅图5,所述方法包括以下步骤。
S11:接收客户端发起的指向目标视频的视频拖拉请求,并从预设哈希表中查询所述视频拖拉请求对应的元数据实例。
S13:根据所述元数据实例,确定所述视频拖拉请求在所述目标视频的媒体数据中对应的起始位置和终止位置。
S15:构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
在一个实施方式中,从预设哈希表中查询所述视频拖拉请求对应的元数据实例包括:
从所述视频拖拉请求中识别所述目标视频的标识,并计算所述标识的哈希值;
在所述预设哈希表中确定所述哈希值指向的位置,并将所述位置处写入的元数据实例作为所述视频拖拉请求对应的元数据实例。
在一个实施方式中,在确定所述视频拖拉请求在所述目标视频的媒体数据中对应的起始位置和新的终止位置之后,所述方法还包括:
针对所述视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述起始位置和所述终止位置限定的拖拉视频的数据大小,所述拖拉视频元数据用于描述由所述起始位置和所述终止位置限定的拖拉视频的播放属性;
向所述客户端反馈所述响应报文。
在一个实施方式中,所述视频拖拉请求对应的元数据实例按照以下方式生成:
构建指向所述目标视频的视频区域请求,并向存储所述目标视频的所述源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;
解析所述元数据和所述媒体数据头部信息,得到所述视频拖拉请求对应的元数据实例。
具体地,如果用户在观看目标视频的过程中,再次拖拉播放进度条,那么客户端可以再次生成一个新的视频拖拉请求。代理服务器在接收到所述客户端再次发起的指向所述目标视频的新的视频拖拉请求后,可以从所述新的视频拖拉请求中提取所述目标视频的标识,并计算所述目标视频的标识的哈希值,然后可以在所述预设哈希表中查询计算出的所述哈希值对应的位置,并将所述位置处存储的元数据实例作为所述新的视频拖拉请求对应的所述元数据实例。这样,代理服务器便可以通过查询哈希表的方式,直接得到所述新的视频拖拉请求对应的所述元数据实例。后续,便可以按照上述的过程,根据所述元数据实例,确定所述新的视频拖拉请求在所述目标视频的媒体数据中对应的新的起始位置和新的终止位置,然后可以构建包含所述新的起始位置和所述新的终止位置的新的数据获取请求,并将所述新的数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的新的拖拉视频数据后,将所述新的拖拉视频数据发送至所述客户端。当然,反馈的新的拖拉视频数据也需要是独立的视频文件,并且代理服务器可以针对所述新的视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的数据大小,所 述拖拉视频元数据用于描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的播放属性,并且代理服务器可以向所述客户端反馈所述响应报文。
请参阅图6,本申请还提供一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现如上述的拖拉视频数据的处理方法。具体地,如图6所示,在硬件层面,该代理服务器可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述识别装置的结构造成限定。例如,所述代理服务器还可包括比图6中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者具有与图6所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不错限定。
需要说明的是,本说明书中的代理服务器,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由上可见,本申请提供的技术方案,代理服务器在接收到客户端发起的指向目标视频的视频拖拉请求后,可以根据该请求构建视频区域请求,该视频区域请求可以从源站服务器中获取目标视频的部分数据,这部分数据可以包括目标视频的元数据和媒体数据头部信息。代理服务器通过解析元数据和媒体数据头部信息,可以得到目标视频的元数据实例。该元数据实例中可以包括目标视频的每个视频帧的信息,例如可以包括视频帧在目标视频中对应的播放时间节点以及该视频帧在目标视频的数据中的偏移量。然后,根据上述视频拖拉请求中的视频拖拉参数,可以计算出该视频拖拉参数在目标视频的媒体数据中对应 的起始位置和终止位置。然后,通过构建包含所述起始位置和所述终止位置的数据获取请求,从而可以从源站服务器处获取对应的拖拉视频数据,并可以将所述拖拉视频数据发送至所述客户端。这样,通过本申请提供的技术方案,能够使得代理服务器也能正常处理客户端的视频拖拉请求,并能够成功向客户端反馈对应的拖拉视频数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

  1. 一种拖拉视频数据的处理方法,其特征在于,所述方法包括:
    接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的视频拖拉参数;
    根据所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;
    解析所述元数据和所述媒体数据头部信息,得到所述目标视频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;
    构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
  2. 根据权利要求1所述的方法,其特征在于,响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求包括:
    从所述视频拖拉请求中提取出所述目标视频的加载地址,并生成第一数据区间,并构建包含所述加载地址和所述第一数据区间的第一视频区域请求;
    相应地,向存储所述目标视频的源站服务器发送所述视频区域请求包括:
    向存储所述目标视频的源站服务器发送所述第一视频区域请求,以获取所述目标视频中位于所述第一数据区间内的数据;其中,位于所述第一数据区间内的数据中至少包括所述目标视频的元数据的起始位置处的数据。
  3. 根据权利要求2所述的方法,其特征在于,构建指向所述目标视频的视频区域请求还包括:
    在位于所述第一数据区间内的数据中识别所述目标视频的元数据的起始位置,并基于所述元数据的起始位置、所述元数据的标准长度以及媒体数据头部信息的标准长度,生成覆盖所述元数据和所述媒体数据头部信息的第二数据区间,并构建包含所述第二数据区间和所述加载地址的第二视频区域请求;
    相应地,向存储所述目标视频的源站服务器发送所述视频区域请求还包括:
    向存储所述目标视频的源站服务器发送所述第二视频区域请求,以获取所述目标视频的所述元数据和所述媒体数据头部信息。
  4. 根据权利要求1所述的方法,其特征在于,根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置包括:
    在所述元数据实例中分别查询所述拖拉起始时间点和所述拖拉终止时间点对应的第一视频帧信息和第二视频帧信息;
    分别从所述第一视频帧信息和第二视频帧信息中读取第一数据偏移量和第二数据偏移量,并将所述第一数据偏移量作为所述起始位置,以及将所述第二数据偏移量作为所述终止位置。
  5. 根据权利要求1或4所述的方法,其特征在于,在确定出所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置之后,所述方法还包括:
    针对所述视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述起始位置和所述终止位置限定的拖拉视频的数据大小,所述拖拉视频元数据用于描述由所述起始位置和所述终止位置限定的拖拉视频的播放属性;
    向所述客户端反馈所述响应报文。
  6. 根据权利要求5所述的方法,其特征在于,将所述拖拉视频数据发送至所述客户端包括:
    将所述拖拉视频数据作为独立的拖拉视频文件发送至所述客户端。
  7. 根据权利要求1所述的方法,其特征在于,在得到所述目标视频的元数据实例之后,所述方法还包括:
    识别所述目标视频的标识,并计算所述标识的哈希值;
    在预设哈希表中确定所述哈希值指向的位置,并将所述目标视频的元数据 实例写入确定的所述位置处。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    接收所述客户端再次发起的指向所述目标视频的新的视频拖拉请求,并从所述预设哈希表中查询所述新的视频拖拉请求对应的所述元数据实例;
    根据所述元数据实例,确定所述新的视频拖拉请求在所述目标视频的媒体数据中对应的新的起始位置和新的终止位置;
    构建包含所述新的起始位置和所述新的终止位置的新的数据获取请求,并将所述新的数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的新的拖拉视频数据后,将所述新的拖拉视频数据发送至所述客户端。
  9. 根据权利要求8所述的方法,其特征在于,从所述预设哈希表中查询所述新的视频拖拉请求对应的所述元数据实例包括:
    从所述新的视频拖拉请求中提取所述目标视频的标识,并计算所述目标视频的标识的哈希值;
    在所述预设哈希表中查询计算出的所述哈希值对应的位置,并将所述位置处存储的元数据实例作为所述新的视频拖拉请求对应的所述元数据实例。
  10. 根据权利要求8所述的方法,其特征在于,在确定所述新的视频拖拉请求在所述目标视频的媒体数据中对应的新的起始位置和新的终止位置之后,所述方法还包括:
    针对所述新的视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的数据大小,所述拖拉视频元数据用于描述由所述新的起始位置和所述新的终止位置限定的拖拉视频的播放属性;
    向所述客户端反馈所述响应报文。
  11. 一种代理服务器,其特征在于,所述代理服务器包括:
    视频拖拉请求接收单元,用于接收客户端发起的指向目标视频的视频拖拉请求,所述视频拖拉请求中包括用于限定拖拉起始时间点和拖拉终止时间点的 视频拖拉参数;
    数据获取单元,用于响应于所述视频拖拉请求,构建指向所述目标视频的视频区域请求,并向存储所述目标视频的源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;
    位置确定单元,用于解析所述元数据和所述媒体数据头部信息,得到所述目标视频的元数据实例,并根据所述元数据实例,确定所述视频拖拉参数在所述目标视频的媒体数据中对应的起始位置和终止位置;
    拖拉视频数据发送单元,用于构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至所述源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
  12. 一种代理服务器,其特征在于,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至10中任一所述的方法。
  13. 一种拖拉视频数据的处理方法,其特征在于,所述方法包括:
    接收客户端发起的指向目标视频的视频拖拉请求,并从预设哈希表中查询所述视频拖拉请求对应的元数据实例;
    根据所述元数据实例,确定所述视频拖拉请求在所述目标视频的媒体数据中对应的起始位置和终止位置;
    构建包含所述起始位置和所述终止位置的数据获取请求,并将所述数据获取请求发送至源站服务器,并在接收到所述源站服务器反馈的拖拉视频数据后,将所述拖拉视频数据发送至所述客户端。
  14. 根据权利要求13所述的方法,其特征在于,从预设哈希表中查询所述视频拖拉请求对应的元数据实例包括:
    从所述视频拖拉请求中识别所述目标视频的标识,并计算所述标识的哈希值;
    在所述预设哈希表中确定所述哈希值指向的位置,并将所述位置处写入的元数据实例作为所述视频拖拉请求对应的元数据实例。
  15. 根据权利要求13所述的方法,其特征在于,在确定所述视频拖拉请求在所述目标视频的媒体数据中对应的起始位置和新的终止位置之后,所述方法还包括:
    针对所述视频拖拉请求构建响应报文,所述响应报文中包括响应头部信息和拖拉视频元数据;其中,所述响应头部信息至少描述由所述起始位置和所述终止位置限定的拖拉视频的数据大小,所述拖拉视频元数据用于描述由所述起始位置和所述终止位置限定的拖拉视频的播放属性;
    向所述客户端反馈所述响应报文。
  16. 根据权利要求13所述的方法,其特征在于,所述视频拖拉请求对应的元数据实例按照以下方式生成:
    构建指向所述目标视频的视频区域请求,并向存储所述目标视频的所述源站服务器发送所述视频区域请求,以获取所述目标视频的元数据和媒体数据头部信息;
    解析所述元数据和所述媒体数据头部信息,得到所述视频拖拉请求对应的元数据实例。
  17. 一种代理服务器,其特征在于,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求13至16中任一所述的方法。
PCT/CN2019/072175 2018-12-28 2019-01-17 一种拖拉视频数据的处理方法及代理服务器 WO2020133608A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19904603.8A EP3902266A4 (en) 2018-12-28 2019-01-17 PROCESSING METHODS FOR PULLING VIDEO DATA AND PROXY SERVER
US17/292,792 US20210400317A1 (en) 2018-12-28 2019-01-17 Method for processing video-dragging data, and proxy server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811623054.8A CN109640113B (zh) 2018-12-28 2018-12-28 一种拖拉视频数据的处理方法及代理服务器
CN201811623054.8 2018-12-28

Publications (1)

Publication Number Publication Date
WO2020133608A1 true WO2020133608A1 (zh) 2020-07-02

Family

ID=66078792

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/072175 WO2020133608A1 (zh) 2018-12-28 2019-01-17 一种拖拉视频数据的处理方法及代理服务器

Country Status (4)

Country Link
US (1) US20210400317A1 (zh)
EP (1) EP3902266A4 (zh)
CN (1) CN109640113B (zh)
WO (1) WO2020133608A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4024876A4 (en) * 2020-11-04 2023-01-04 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO RECORDING METHOD AND APPARATUS

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472492A (zh) * 2019-07-05 2019-11-19 平安国际智慧城市科技股份有限公司 目标生物检测方法、装置、计算机设备和存储介质
CN113453062B (zh) * 2020-03-25 2023-05-05 北京金山云网络技术有限公司 视频元数据的获取、处理方法及装置、系统、电子设备
CN113473247B (zh) * 2020-03-30 2022-11-04 北京金山云网络技术有限公司 一种视频播放请求处理方法、装置、系统和电子设备
CN112770132B (zh) * 2021-01-05 2023-01-24 北京东方网信科技股份有限公司 一种代理缓存中降低mp4视频出口流量的方法及系统
US11503011B2 (en) * 2021-01-08 2022-11-15 Intuit Inc. Making local data available in a cloud computing environment
CN113411675B (zh) * 2021-05-20 2023-04-25 歌尔股份有限公司 视频混合播放方法、装置、设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287107A (zh) * 2008-05-29 2008-10-15 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN102438004A (zh) * 2011-09-05 2012-05-02 深圳创维数字技术股份有限公司 获取媒体文件的元数据信息的方法、系统及多媒体播放器
CN105323597A (zh) * 2014-08-04 2016-02-10 中国电信股份有限公司 Mp4文件播放方法、处理方法和装置以及播放系统
WO2017027484A1 (en) * 2015-08-09 2017-02-16 Ramasamy Celambarasan System and method for microshare based content funding and distribution
CN107809678A (zh) * 2016-09-09 2018-03-16 阿里巴巴集团控股有限公司 多媒体文件的处理方法、装置和设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4667639B2 (ja) * 2001-05-10 2011-04-13 パナソニック株式会社 映像プロクシサーバ
CN101217638B (zh) * 2007-12-28 2012-10-24 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置
US9749713B2 (en) * 2009-10-15 2017-08-29 Citrix Systems, Inc. Budget encoding
WO2013075342A1 (zh) * 2011-11-26 2013-05-30 华为技术有限公司 一种视频处理的方法及装置
US8918821B2 (en) * 2012-12-11 2014-12-23 Morega Systems, Inc. Client device with video playlist translation via client-side proxy and methods for use therewith
US9794375B2 (en) * 2013-03-14 2017-10-17 Openwave Mobility, Inc. Method, apparatus, and non-transitory computer medium for obtaining a required frame size for a compressed data frame
CN106572358B (zh) * 2016-11-11 2022-03-08 青岛海信宽带多媒体技术有限公司 一种直播时移方法及客户端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287107A (zh) * 2008-05-29 2008-10-15 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN102438004A (zh) * 2011-09-05 2012-05-02 深圳创维数字技术股份有限公司 获取媒体文件的元数据信息的方法、系统及多媒体播放器
CN105323597A (zh) * 2014-08-04 2016-02-10 中国电信股份有限公司 Mp4文件播放方法、处理方法和装置以及播放系统
WO2017027484A1 (en) * 2015-08-09 2017-02-16 Ramasamy Celambarasan System and method for microshare based content funding and distribution
CN107809678A (zh) * 2016-09-09 2018-03-16 阿里巴巴集团控股有限公司 多媒体文件的处理方法、装置和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3902266A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4024876A4 (en) * 2020-11-04 2023-01-04 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO RECORDING METHOD AND APPARATUS

Also Published As

Publication number Publication date
EP3902266A1 (en) 2021-10-27
CN109640113A (zh) 2019-04-16
US20210400317A1 (en) 2021-12-23
EP3902266A4 (en) 2022-02-23
CN109640113B (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
WO2020133608A1 (zh) 一种拖拉视频数据的处理方法及代理服务器
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
CN106534243B (zh) 基于http协议的缓存、请求、响应方法及相应装置
KR101824222B1 (ko) 동적 컨텐츠 및 스테일 컨텐츠를 포함하는 웹사이트들의 고속 렌더링
CN106464945B (zh) 增强型流媒体回放的方法、系统及计算机可读介质
WO2018076952A1 (zh) 一种视频文件的存储、定位播放方法及装置
EP2383941B1 (en) Client terminal, method and system for downloading streaming media
US20160227258A1 (en) Method for playing back live video and device
WO2016070718A1 (zh) 进行文件下载的方法、装置和浏览器
WO2015106692A1 (en) Webpage pushing method, client, server, and system
WO2018024116A1 (zh) 基于卡片的信息展示方法、信息展示业务的处理方法及装置
WO2020134956A1 (zh) 一种视频推荐方法及设备
US11706498B2 (en) Playback method, system, device and readable storage medium of live broadcast content
US10623517B2 (en) Content prefetching and cache management
WO2017140165A1 (zh) 一种存储资源的方法、装置及电子设备
US20150058452A1 (en) Video loading method, device and system of mobile terminal
WO2018233539A1 (zh) 视频处理方法、计算机存储介质及设备
EP3414671A1 (en) Real-time content editing with limited interactivity
WO2020124724A1 (zh) 资源描述文件的处理、页面资源的获取方法及设备
WO2020155956A1 (zh) 首帧均衡限流方法、装置、计算机设备及可读存储介质
WO2015154682A1 (zh) 一种网络请求处理方法、网络服务器和网络系统
WO2017096836A1 (zh) 视频文件的缓存方法和系统
EP3896939A1 (en) Resource description file processing and page resource obtaining method, and intermediate server
WO2016197691A1 (zh) 下载流媒体的方法及装置
WO2019196225A1 (zh) 一种反馈资源文件的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19904603

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019904603

Country of ref document: EP

Effective date: 20210723