WO2018171437A1 - Display method and device for preview image - Google Patents
Display method and device for preview image Download PDFInfo
- Publication number
- WO2018171437A1 WO2018171437A1 PCT/CN2018/078446 CN2018078446W WO2018171437A1 WO 2018171437 A1 WO2018171437 A1 WO 2018171437A1 CN 2018078446 W CN2018078446 W CN 2018078446W WO 2018171437 A1 WO2018171437 A1 WO 2018171437A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- preview
- preview image
- client
- information
- index file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
- H04N21/83555—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed using a structured language for describing usage rules of the content, e.g. REL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Definitions
- the present invention relates to the field of video, and in particular, to a method and device for displaying a preview image.
- the preview implementation protocol and the video playback protocol provided by each video service provider are independent of each other.
- the preview information provided by each video service provider is not uniform, and the implementation difference is large, which is not conducive to the consistency of the user experience.
- a method for displaying a preview image including:
- the client obtains an index file of the video program from the server, where the index file includes description information of the preview image, and the index file is a media presentation description MPD file in the DASH protocol;
- the client acquires a preview image from the server according to the preview description information
- the client displays the preview image according to a user operation instruction, such as displaying a preview image of the corresponding position when the user drags the play progress bar.
- the method includes the description information of the preview image in the index file of the video program, so that when the video is played according to the index file, the client can directly obtain the preview image according to the index file.
- the preview description information includes:
- the address information of the preview image and the time information corresponding to the preview image may be location information stored in the preview image, and the time information corresponding to the preview image may include a corresponding time of the first preview image of the video and a time interval between the preview images.
- the client can determine which preview image needs to be displayed according to the time information of the preview image and the position of the playback progress bar, thereby obtaining a corresponding preview image for display, and ensuring the preview image and the video display. consistency.
- the client may download the preview image from the server to the local location according to the address information of the preview image, and obtain a preview image of the corresponding time from the local time when the user drags the play progress bar, so that the speed of the preview image is displayed. Faster and more real-time.
- the client determines the address information of the corresponding preview image according to the position of the play progress bar and the time information corresponding to the preview image, according to the determined preview image.
- the address information is downloaded from the server and previewed. This option can reduce storage pressure on the client and save storage space.
- a method for displaying a preview image which is applied to a server, and includes:
- the server sends an index file of the video program to the client, where the index file is a media presentation description MPD file of the DASH protocol, and the index file includes description information of the preview image;
- the preview image is sent to the client in response to the client's download request.
- the preview description information includes:
- the method further includes:
- the server generates preview and preview description information according to the preview generation rule.
- the preview generation rule includes:
- the server may generate a preview image by directly capturing a video frame from the video file according to the interval information and the resolution information of the preview image.
- a client device including:
- a receiver configured to acquire an index file of a video program from a server, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;
- a processor configured to acquire a preview image from the server according to the preview description information, and display the preview image according to a user operation instruction.
- the preview description information includes:
- the processor is specifically configured to:
- the corresponding preview image is displayed according to the position of the play progress bar.
- the processor is further configured to: before the user drags the play progress bar, download the preview image from the server according to the address information of the preview image.
- the processor is further configured to: when the user drags the play progress bar, determine the address information of the corresponding preview image according to the position of the play progress bar and the time information corresponding to the preview image, according to the The address information of the determined preview is downloaded from the server.
- a server including:
- a transmitter configured to send an index file of a video program to the client, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;
- a receiver configured to receive a client preview download request
- the transmitter is further configured to send the preview image to the client in response to the download request of the client.
- the server further includes:
- a processor is configured to generate a preview image and preview description information according to the preview generation rule.
- the preview generation rule includes:
- the processor may generate a preview image by directly capturing a video frame from the video file according to the interval information and the resolution information of the preview image.
- a computer program product comprising executable program code, wherein the program code includes instructions that, when executed by the processor, cause the server or client to perform as described above The preview display method described in the aspect.
- an embodiment of the present application provides a computer storage medium for storing computer software instructions used by the server and the client, and includes a program designed to execute the foregoing aspects.
- FIG. 1 is a system architecture diagram of an adaptive HTTP stream transmission for implementing an embodiment of the present application
- FIG. 2 is a structural block diagram of a network device used to implement an embodiment of the present application
- FIG. 3 is an interaction flowchart of a preview display method according to an embodiment of the present application.
- FIG. 4 is an interaction flowchart of a preview display method according to another embodiment of the present application.
- FIG. 1 illustrates a typical system architecture for implementing adaptive HTTP streaming for embodiments of the present application.
- the system 100 can include n HTTP servers 110, n can be any integer number, client 120, and network 130.
- HTTP server 110 and client 120 may be coupled to one another via network 130 and other network components such as an HTTP cache (not shown).
- the HTTP server 110 can be any hardware computer server for transmitting and receiving data over HTTP.
- the HTTP server 110 may include a server DASH module (DM) 111 for transmitting and receiving data via HTTP and according to the DASH standard.
- the HTTP server may form a content distribution network (CDN) 140, which may refer to a distributed server system deployed across multiple backbones for distributing content over multiple backbones.
- the CDN 140 can include any number of HTTP servers 110 such that n can be any integer number. Typically, a CDN can include hundreds or thousands of servers.
- Client 120 can be any hardware device for transmitting and receiving data over HTTP.
- client 120 can be a laptop, tablet, desktop, mobile phone, or other device.
- Client 120 may include a client DASH module (DM) 121, an application 122, and a graphical user interface (GUI) 123.
- DM client DASH module
- GUI graphical user interface
- the client DM121 can be used to send and receive data over HTTP and according to the DASH standard.
- the client DM121 may further include a DASH access engine (DAE) 1211 and a media export (ME) 1212.
- DAE 1211 may be the primary component for receiving raw data from the HTTP server 110 and building the data into a viewing format.
- the DAE 1211 can format the data in the Moving Picture Experts Group (MPEG) container format along with the timing data, and then output the formatted data to the ME 1212.
- the ME 1212 may be responsible for initialization, playback, and other functions associated with the content and output the content to the application 122.
- MPEG Moving Picture Experts Group
- Application 122 may be a web browser or other application with an interface for downloading and presenting content.
- Application 122 can be coupled to GUI 123 such that a user associated with client 120 can view various functions of application 122.
- the application 122 can include a search function so that the user can search for content.
- the application 122 can include a search bar so that the user can enter a string to search for a movie.
- the application 122 can display a search hit list, and the user can select the desired movie from the hit list.
- the application 122 can send an instruction to download the movie to the client DM121.
- the DM 121 can download movies and process movies for output to the application 122.
- the application 122 can provide instructions to the GUI 123 for the GUI 123 to display the movie for viewing by the user.
- the application 122 can further provide instructions to the GUI 123 for the GUI 123 to display a progress bar that displays the time progress of the movie.
- Network 130 may be any network for providing communication between HTTP server 110 and client 120.
- network 130 is either the Internet, a mobile telephone network, or other network.
- Network 130 may allow for communication along a wired or wireless channel.
- Apparatus 200 can include a plurality of ingress ports 210 and/or receiver units (Rx) 220 for receiving data; a logic unit or processor 230 for processing signals; a plurality of egress ports 240 and/or transmitter units (Tx ) 250 for transmitting data to other components; and a memory 260.
- Apparatus 200 can be adapted to implement any of the disclosed features, methods, and apparatus.
- device 200 can be adapted to implement HTTP server 110, and client 120.
- Logic unit 230 (which may be referred to as a central processing unit (CPU)) may be in communication with ingress port 210, receiver unit 220, egress port 240, transmitter unit 250, and memory 260.
- Logic unit 230 can be implemented as one or more CPU chips, cores (eg, multi-core processors), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and/or digital signal processors (DSPs), and/ Or it can be part of one or more ASICs.
- CPU central processing unit
- the memory 260 can be comprised of one or more magnetic disks, tape drives, optical drives, or solid state drives; can be used for non-volatile storage of data and as an overflow data storage device; can be used to store programs when such programs are selected for execution; Can be used to store instructions and data that are read during program execution.
- Memory 260 can be volatile and/or non-volatile and can be read only memory (ROM), random access memory (RAM), triple content addressed memory (TCAM), static random access memory (SRAM). , other suitable memory types, or any combination thereof.
- Memory 260 can include DM 270, which can be adapted to implement server DM 111 or client DM 121. Although memory 260 is shown as including DM 270, logic unit 230 or any combination of logic unit 230 and memory 260 can include DM 270.
- FIG. 3 is a flow interaction diagram of a preview display method according to an embodiment of the present application.
- Client 110 may use an HTTP GET request or similar message to download a Media Presentation Description (MPD) from HTTP server 120 or HTTP cache (not shown).
- the MPD can be an Extensible Markup Language (XML) document.
- the MPD includes metadata of a format used to encode the media content, such as bit rate, codec, screen resolution, and language.
- the MPD further includes description information of the preview image.
- the server may read the preview image generation rule of the corresponding video, for example, the interval time of the preview image, the resolution of the preview image, etc., and generate the preview image and the description information of the preview image, and preview the description.
- Information can be implemented in multiple ways:
- all preview images can be compressed into one file and carried in the form of a compressed package.
- the attribute parameters of the preview map are defined in MPD Representation, as follows:
- Id preview group ID.
- Width the width of the preview, in pixels.
- Height the height of the preview, in pixels.
- startTime The first preview corresponds to the time point in the video.
- Interval Interval length of adjacent previews, in seconds.
- BaseURL The URL of the group preview image packaged into a zip file for download.
- the preview map is described by a list, and the attribute parameters of the preview map are defined in the MPD Representation, and are described as follows:
- Id the identifier of the preview (group).
- Width the width of the preview, in pixels.
- Height the height of the preview, in pixels.
- startTime The first preview corresponds to the time point in the video.
- Interval Interval length of adjacent preview pictures, in seconds.
- SegmentURL Tags support multiple values
- the preview image is described by the template, and the attribute parameters of the preview image are defined in the MPD Representation, as follows:
- PreviewTemplate The rule for previewing the download address (URL).
- PreviewTimeline A rule that describes the video content corresponding to the preview.
- startTime The first preview corresponds to the point in time in the video.
- Interval Interval length of adjacent preview pictures, in seconds.
- Width The width of the preview, in pixels.
- Height the height of the preview, in pixels.
- the preview display method of this embodiment includes the following steps:
- step 310 the client 120 can send a request for the MPD to the HTTP server 110.
- the HTTP server 110 can send the MPD to the client 120.
- the client 120 can receive the MPD through the DASH access engine DAE 1211.
- the MPD includes description information of the preview image.
- the description information of the preview image may include address information of the preview image, time information, and may also include resolution information of the preview image.
- the client 120 parses the description information of the preview image from the MPD file, and obtains the address information, the time information, and the resolution information of the preview image, where the time information of the preview image includes at least: the time corresponding to the preview image of the first frame, The time between adjacent previews and the total number of frames in the preview.
- step 340 the client 120 requests a preview image from the HTTP server according to the description information of the preview image.
- the client 120 may select a suitable preview resolution according to a terminal parameter such as a screen size, and a corresponding preview image xml document, and request a corresponding preview image from the server according to the address of the preview image in the document.
- a terminal parameter such as a screen size
- a corresponding preview image xml document a terminal parameter that specifies a corresponding preview image from the server according to the address of the preview image in the document.
- step 350 the HTTP server sends a preview to the client 120, and the client 120 caches the preview into the local storage.
- step 360 the client 120 displays a preview of the corresponding progress when the user drags the play progress bar.
- dragging the play progress bar may be performed by the user directly using the mouse, or the user directly inputs the time parameter to locate the position of the play progress bar.
- the client 120 may download all preview images from the server to the local storage according to the address information of the preview image at the beginning of the video playback, and obtain a preview of the corresponding time locally when the user drags the playback progress bar. Display, this way can display the preview in real time when the user drags the play progress bar, showing the experience better.
- the client 120 may also determine the stop position of the progress bar and the corresponding time when the user drags the progress bar, select a preview image of the corresponding time according to the time, and download the corresponding preview image from the server according to the position information of the preview image. Show that this method can reduce the storage pressure of the client and save the storage space of the client.
- FIG. 4 it is an interactive flowchart of a preview display method according to another embodiment of the present application.
- the preview description information may be a separate XML file, and the MPD may include only the description of the XML file, such as the URL of the preview image XML file.
- the preview image XML file is obtained from the server according to the URL of the preview image XML file.
- the MPD description of the preview image XML file can be as follows:
- mimeType identifies application/xml, non-video audio, preview image belongs to application class, hosted by XML
- Representation id When there are multiple sets of resolution previews to provide preview, multiple Representations are distinguished by id.
- BaseURL Previews the URL of the XML file.
- the client can obtain detailed description information of the preview image based on the URL.
- the preview image XML file in a single picture mode, and each preview image is a single picture, which is described as follows:
- Timemline The content under the XML node is the scene for the timeline
- the preview image XML file is a merged picture mode, that is, multiple preview images are combined in one picture.
- Timemline The content under the XML node is the scene for the timeline
- startTime the start time of the video, format: HHMMSS
- EndTime end time of the video, format: HHMMSS
- Interval Interval between previews in this video. Unit: second
- the merge picture mode can reduce the number of pictures, and the client can read the merged picture, which can reduce the number of files opened and closed, and improve the display speed.
- the preview display method includes the following steps:
- step 410 the client 120 can send a request for the MPD to the HTTP server 110.
- the HTTP server 110 can send the MPD to the client 120.
- the client 120 can receive the MPD through the DAE 1211, where the MPD includes preview description information.
- the preview description information includes: a URL of the preview description file.
- the preview description information can be described as follows:
- the obtained preview image of 240 resolution is taken as an example.
- step 430 the client 120 parses the URL of the preview description file from the MPD file.
- step 440 the client 120 requests the preview description file from the server according to the URL of the preview description file.
- the client 120 may request the description file of the preview image from the server according to the selected BaseURL of the preview with a resolution of 240.
- step 450 the HTTP server 110 returns the description file of the preview image to the client 120.
- the preview description file can be an XML document, and the specific content can be as follows:
- step 460 the client 120 requests a preview image from the HTTP server according to the description file of the preview image.
- step 470 the HTTP server sends a preview to the client 120, and the client 120 caches the preview into the local storage.
- step 480 the client 120 displays a preview of the corresponding progress when the user drags the play progress bar.
- the position and time at which the play progress bar stops are determined, and a preview image of the corresponding time is obtained according to the time for display.
- the client 120 may download all preview images from the server to the local storage according to the address information of the preview image at the beginning of the video playback, and obtain a preview of the corresponding time locally when the user drags the playback progress bar. Display, this way can display the preview in real time when the user drags the play progress bar, showing the experience better.
- the client 120 may also determine the stop position of the progress bar and the corresponding time when the user drags the progress bar, select a preview image of the corresponding time according to the time, and download the corresponding preview image from the server according to the position information of the preview image. Show that this method can reduce the storage pressure of the client and save the storage space of the client.
- the solution of the embodiment of the present application can also be applied to other HTTP protocols such as HLS.
- HLS protocol is applicable, and the description information of the preview image may be included in the M3U8 file.
- M3U8 file For the specific implementation manner, refer to the foregoing embodiment.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The embodiment of the present invention provides a display method for a preview image. The method comprising: a client acquires from a server an index file of a video program, the index file comprising description information of a preview image; the client acquires the preview image according to the description information of the preview image; and the client displays the preview image according to a user operational instruction. According to the method, the description information of the preview image is comprised in the index file of the video program, so that when playbacking the video according to the index file, the client can acquire the preview image directly according to the index file. By combining the implementation and a playback protocol of the preview image, the consistency in user experience is ensured; the complexity for a video service provider to separately develop a preview image implementation protocol can also be reduced; and a video service thus can be quickly launched.
Description
本申请要求于2017年3月21日提交中国专利局、申请号为201710170348.9、发明名称为“预览图的展示方法以及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application, filed on March 21, 2017, the application Serial No. .
本发明涉及视频领域,尤其涉及一种预览图的展示方法以及设备。The present invention relates to the field of video, and in particular, to a method and device for displaying a preview image.
随着互联网的发展,视频资源越来越丰富,在视频播放中,通过拖动播放进度条来拖动视频进度是一种比较常见的用户体验。在视频进度拖动的过程中,目前很多视频服务厂商都提供了预览图效果,能准实的看到对应的播放进度条位置上的视频的预览图(video preview),帮助用户快速定位到想看的内容。With the development of the Internet, video resources are becoming more and more abundant. In video playback, dragging the progress bar by dragging the progress of the video is a relatively common user experience. In the process of video progress dragging, many video service providers now provide preview images, which can accurately see the video preview of the corresponding playback progress bar position, helping users to quickly locate the desired image. Look at the content.
但是目前各视频服务厂商提供的预览图实现协议和视频播放协议是相互独立的,另外,各视频服务厂商提供的预览图信息不统一,各家实现差异大,不利于用户体验的一致性。However, the preview implementation protocol and the video playback protocol provided by each video service provider are independent of each other. In addition, the preview information provided by each video service provider is not uniform, and the implementation difference is large, which is not conducive to the consistency of the user experience.
发明内容Summary of the invention
有鉴于此,实有必要提供一种与播放协议结合的预览图实现方法,保证用户体验的一致性。In view of this, it is necessary to provide a preview map implementation method combined with the playback protocol to ensure the consistency of the user experience.
第一方面,提供一种预览图的展示方法,包括:In a first aspect, a method for displaying a preview image is provided, including:
客户端从服务器获取视频节目的索引文件,所述索引文件包含预览图的描述信息,所述索引文件为DASH协议中的媒体展示描述MPD文件;The client obtains an index file of the video program from the server, where the index file includes description information of the preview image, and the index file is a media presentation description MPD file in the DASH protocol;
所述客户端根据所述预览图描述信息从所述服务器获取预览图;The client acquires a preview image from the server according to the preview description information;
所述客户端根据用户操作指令展示所述预览图,比如用户拖动播放进度条时,展示对应位置的预览图。该方法将预览图的描述信息包含在视频节目的索引文件中,使得客户端在根据该索引文件进行视频播放时,即可直接根据该索引文件获取预览图。将预览图的实现与播放协议结合起来,保证了用户体验的一致性,也可以减轻视频业务提供商另外再单独开发预览图实现协议的复杂度,能够实现视频业务的快速上线。The client displays the preview image according to a user operation instruction, such as displaying a preview image of the corresponding position when the user drags the play progress bar. The method includes the description information of the preview image in the index file of the video program, so that when the video is played according to the index file, the client can directly obtain the preview image according to the index file. Combining the implementation of the preview with the playback protocol ensures the consistency of the user experience, and also reduces the complexity of the video service provider separately developing the preview implementation protocol, and enables the video service to be quickly launched.
可选的,所述预览图描述信息包括:Optionally, the preview description information includes:
预览图的地址信息和预览图对应的时间信息,地址信息可以是预览图存储的位置信息,预览图对应的时间信息可以包括该视频首个预览图的对应时间以及预览图之间的时间间隔。这样,客户端在展示预览图时,可根据预览图的时间信息与播放进度条的位置确定具体需要展示的是哪个预览图,从而获取对应的预览图进行展示,保证展示的预览图与视频的一致性。The address information of the preview image and the time information corresponding to the preview image, the address information may be location information stored in the preview image, and the time information corresponding to the preview image may include a corresponding time of the first preview image of the video and a time interval between the preview images. In this way, when displaying the preview image, the client can determine which preview image needs to be displayed according to the time information of the preview image and the position of the playback progress bar, thereby obtaining a corresponding preview image for display, and ensuring the preview image and the video display. consistency.
可选的,客户端可以根据所述预览图的地址信息提前从服务器下载预览图存储到本地,在用户拖动播放进度条时,从本地获取对应时间的预览图,这样使得预览图展示的速度更快,实时性更强。Optionally, the client may download the preview image from the server to the local location according to the address information of the preview image, and obtain a preview image of the corresponding time from the local time when the user drags the play progress bar, so that the speed of the preview image is displayed. Faster and more real-time.
可选的,客户端也在用户拖动播放进度条时,根据所述播放进度条的位置以及所述预览图对应的时间信息,确定对应的预览图的地址信息,根据所述确定的预览图的地址信息从服务器下载预览图。该可选方式可以减轻客户端的存储压力,节省存储空间。Optionally, when the user drags the play progress bar, the client determines the address information of the corresponding preview image according to the position of the play progress bar and the time information corresponding to the preview image, according to the determined preview image. The address information is downloaded from the server and previewed. This option can reduce storage pressure on the client and save storage space.
第二方面,提供一种预览图的展示方法,应用在服务器端,包括:In a second aspect, a method for displaying a preview image is provided, which is applied to a server, and includes:
服务器向客户端发送视频节目的索引文件,所述索引文件为DASH协议的媒体展示描述MPD文件,所述索引文件包含预览图的描述信息;The server sends an index file of the video program to the client, where the index file is a media presentation description MPD file of the DASH protocol, and the index file includes description information of the preview image;
接收客户端预览图下载请求;Receiving a client preview download request;
响应所述客户端的下载请求,将所述预览图发送给所述客户端。The preview image is sent to the client in response to the client's download request.
可选的,所述预览图描述信息包括:Optionally, the preview description information includes:
预览图的地址信息和预览图对应的时间信息。Preview the address information of the map and the time information corresponding to the preview.
可选的,所述方法还包括:Optionally, the method further includes:
服务器根据预览图生成规则生成预览图和预览图描述信息。The server generates preview and preview description information according to the preview generation rule.
可选的,所述预览图生成规则包括:Optionally, the preview generation rule includes:
预览图间隔时间信息和预览图分辨率信息。Preview interval information and preview resolution information.
可选的,服务器可根据预览图的间隔时间信息和分辨率信息直接从视频文件中截取视频帧的方式生成预览图。Optionally, the server may generate a preview image by directly capturing a video frame from the video file according to the interval information and the resolution information of the preview image.
第三方面,提供一种客户端装置,包括:In a third aspect, a client device is provided, including:
接收器,用于从服务器获取视频节目的索引文件,所述索引文件为DASH协议的MPD文件,所述索引文件包含预览图的描述信息;a receiver, configured to acquire an index file of a video program from a server, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;
处理器,用于根据所述预览图描述信息从所述服务器获取预览图,根据用户操作指令展示所述预览图。And a processor, configured to acquire a preview image from the server according to the preview description information, and display the preview image according to a user operation instruction.
可选的,所述预览图描述信息包括:Optionally, the preview description information includes:
预览图的地址信息和预览图对应的时间信息。Preview the address information of the map and the time information corresponding to the preview.
可选的,所述处理器具体用于:Optionally, the processor is specifically configured to:
在用户拖动播放进度条时,根据播放进度条的位置显示对应的预览图。When the user drags the play progress bar, the corresponding preview image is displayed according to the position of the play progress bar.
可选的,所述处理器还用于:在用户拖动播放进度条之前,根据所述预览图的地址信息从服务器下载预览图。Optionally, the processor is further configured to: before the user drags the play progress bar, download the preview image from the server according to the address information of the preview image.
可选的,所述处理器还用于:在用户拖动播放进度条时,根据所述播放进度条的位置以及所述预览图对应的时间信息,确定对应的预览图的地址信息,根据所述确定的预览图的地址信息从服务器下载预览图。Optionally, the processor is further configured to: when the user drags the play progress bar, determine the address information of the corresponding preview image according to the position of the play progress bar and the time information corresponding to the preview image, according to the The address information of the determined preview is downloaded from the server.
第四方面,提供一种服务器,包括:In a fourth aspect, a server is provided, including:
发射器,用于向客户端发送视频节目的索引文件,所述索引文件为DASH协议的MPD文件,所述索引文件包含预览图的描述信息;a transmitter, configured to send an index file of a video program to the client, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;
接收器,用于接收客户端预览图下载请求;a receiver, configured to receive a client preview download request;
所述发射器还用于响应所述客户端的下载请求,将所述预览图发送给所述客户端。The transmitter is further configured to send the preview image to the client in response to the download request of the client.
可选的,该服务器还包括:Optionally, the server further includes:
处理器,用于根据预览图生成规则生成预览图和预览图描述信息。A processor is configured to generate a preview image and preview description information according to the preview generation rule.
可选的,所述预览图生成规则包括:Optionally, the preview generation rule includes:
预览图间隔时间信息和预览图分辨率信息。Preview interval information and preview resolution information.
可选的,处理器可根据预览图的间隔时间信息和分辨率信息直接从视频文件中截取视频帧的方式生成预览图。Optionally, the processor may generate a preview image by directly capturing a video frame from the video file according to the interval information and the resolution information of the preview image.
第五方面,提供一种计算机程序产品,包括可执行程序代码,其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述服务器或者客户端可执行如上述方面所述的预览图展示方法。In a fifth aspect, a computer program product is provided, comprising executable program code, wherein the program code includes instructions that, when executed by the processor, cause the server or client to perform as described above The preview display method described in the aspect.
第六方面,本申请实施例提供了一种计算机存储介质,用于储存为上述服务器、客户端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。In a sixth aspect, an embodiment of the present application provides a computer storage medium for storing computer software instructions used by the server and the client, and includes a program designed to execute the foregoing aspects.
图1是用于实施本申请实施例的自适应HTTP流传输的系统架构图;1 is a system architecture diagram of an adaptive HTTP stream transmission for implementing an embodiment of the present application;
图2是用于实施本申请实施例的网络设备结构框图;2 is a structural block diagram of a network device used to implement an embodiment of the present application;
图3是本申请一实施例的预览图展示方法交互流程图;3 is an interaction flowchart of a preview display method according to an embodiment of the present application;
图4是本申请另一实施例的预览图展示方法交互流程图。FIG. 4 is an interaction flowchart of a preview display method according to another embodiment of the present application.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。The technical solutions in the embodiments of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention.
图1示出了用于实施本申请实施例的自适应HTTP流传输的典型系统架构。如图1所示,该系统100可包括n个HTTP服务器110,n可为任意整数数字、客户端120和网络130。HTTP服务器110和客户端120可以通过网络130和HTTP缓存(未示出)等其它网络部件彼此耦合。FIG. 1 illustrates a typical system architecture for implementing adaptive HTTP streaming for embodiments of the present application. As shown in FIG. 1, the system 100 can include n HTTP servers 110, n can be any integer number, client 120, and network 130. HTTP server 110 and client 120 may be coupled to one another via network 130 and other network components such as an HTTP cache (not shown).
HTTP服务器110可以是用于通过HTTP发送和接收数据的任意硬件计算机服务器。HTTP服务器110可包括服务器DASH模块(dash module,DM)111,用于通过HTTP并根据DASH标准发送和接收数据。HTTP服务器可形成内容分发网(CDN)140,CDN140可指通过多个骨干网部署在多个数据中心用于分发内容的分布式服务器系统。CDN140可包括任意数目的HTTP服务器110,这样n可以是任意整数数字。通常,CDN可包括成千上百个服务器。The HTTP server 110 can be any hardware computer server for transmitting and receiving data over HTTP. The HTTP server 110 may include a server DASH module (DM) 111 for transmitting and receiving data via HTTP and according to the DASH standard. The HTTP server may form a content distribution network (CDN) 140, which may refer to a distributed server system deployed across multiple backbones for distributing content over multiple backbones. The CDN 140 can include any number of HTTP servers 110 such that n can be any integer number. Typically, a CDN can include hundreds or thousands of servers.
客户端120可以是用于通过HTTP发送和接收数据的任意硬件设备。例如,客户端120可为笔记本电脑、平板电脑、台式电脑、移动电话或其它设备。客户端120可包括客户端DASH模块(dash module,DM)121、应用122和图形用户界面(GUI)123。 Client 120 can be any hardware device for transmitting and receiving data over HTTP. For example, client 120 can be a laptop, tablet, desktop, mobile phone, or other device. Client 120 may include a client DASH module (DM) 121, an application 122, and a graphical user interface (GUI) 123.
客户端DM121可用于通过HTTP并根据DASH标准发送和接收数据。客户端DM121可进一步包括DASH访问引擎(dash access engine,DAE)1211和媒体输出(media export,ME)1212。DAE1211可以是用于从HTTP服务器110接收原始数据并将这些数据构建为观看格式的主要部件。例如,DAE1211可将为活动图像专家组(MPEG)容器格式的数据和定时数据一起格式化,随后将格式化后的数据输出到ME1212。ME1212可负责初始化、回放和其它与内容关联的功能并将内容输出到应用122。The client DM121 can be used to send and receive data over HTTP and according to the DASH standard. The client DM121 may further include a DASH access engine (DAE) 1211 and a media export (ME) 1212. The DAE 1211 may be the primary component for receiving raw data from the HTTP server 110 and building the data into a viewing format. For example, the DAE 1211 can format the data in the Moving Picture Experts Group (MPEG) container format along with the timing data, and then output the formatted data to the ME 1212. The ME 1212 may be responsible for initialization, playback, and other functions associated with the content and output the content to the application 122.
应用122可以是具有用于下载和展示内容的接口的网页浏览器或其它应用。应用122可耦合到GUI123,这样与客户端120关联的用户可查看应用122的各种功能。应用122可包括 搜索功能,这样用户能够搜索内容。例如,如果应用122为媒体播放器,那么应用122可包括搜索栏,这样用户可输入字符串搜索电影。应用122可展示搜索命中列表,用户可从命中列表中选择想要的电影。选择之后,应用122可将下载电影的指令发送到客户端DM121。DM121可下载电影和处理电影以输出到应用122。应用122可提供指令给GUI123以供GUI123展示电影给用户观看。应用122可进一步提供指令给GUI123以供GUI123展示进度条,该进度条显示电影的时间进度。 Application 122 may be a web browser or other application with an interface for downloading and presenting content. Application 122 can be coupled to GUI 123 such that a user associated with client 120 can view various functions of application 122. The application 122 can include a search function so that the user can search for content. For example, if the application 122 is a media player, the application 122 can include a search bar so that the user can enter a string to search for a movie. The application 122 can display a search hit list, and the user can select the desired movie from the hit list. After selection, the application 122 can send an instruction to download the movie to the client DM121. The DM 121 can download movies and process movies for output to the application 122. The application 122 can provide instructions to the GUI 123 for the GUI 123 to display the movie for viewing by the user. The application 122 can further provide instructions to the GUI 123 for the GUI 123 to display a progress bar that displays the time progress of the movie.
网络130可以是用于提供HTTP服务器110和客户端120之间通信的任意网络。例如,网络130以是因特网、移动电话网络或其它网络。网络130可允许沿有线或无线信道进行通信。 Network 130 may be any network for providing communication between HTTP server 110 and client 120. For example, network 130 is either the Internet, a mobile telephone network, or other network. Network 130 may allow for communication along a wired or wireless channel.
图2为用于实施本发明实施例的网络设备200的示意图。设备200可包括多个入端口210和/或接收器单元(Rx)220,用于接收数据;逻辑单元或处理器230,用于处理信号;多个出端口240和/或发射器单元(Tx)250,用于将数据发送到其它部件;以及存储器260。设备200可适于实施任意所公开的特征、方法和设备。例如,设备200可适于实施HTTP服务器110、和客户端120。2 is a schematic diagram of a network device 200 for implementing an embodiment of the present invention. Apparatus 200 can include a plurality of ingress ports 210 and/or receiver units (Rx) 220 for receiving data; a logic unit or processor 230 for processing signals; a plurality of egress ports 240 and/or transmitter units (Tx ) 250 for transmitting data to other components; and a memory 260. Apparatus 200 can be adapted to implement any of the disclosed features, methods, and apparatus. For example, device 200 can be adapted to implement HTTP server 110, and client 120.
逻辑单元230(可称为中央处理单元(CPU))可与入端口210、接收器单元220、出端口240、发射器单元250和存储器260通信。逻辑单元230可以实施为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。Logic unit 230 (which may be referred to as a central processing unit (CPU)) may be in communication with ingress port 210, receiver unit 220, egress port 240, transmitter unit 250, and memory 260. Logic unit 230 can be implemented as one or more CPU chips, cores (eg, multi-core processors), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and/or digital signal processors (DSPs), and/ Or it can be part of one or more ASICs.
存储器260可由一个或多个磁盘、磁带驱动器、光盘驱动器或固态驱动器组成;可用于数据的非易失性存储和用作溢流数据存储设备;可用于当选择执行此类程序时存储程序;以及可用于存储程序执行期间读取的指令和数据。存储器260可为易失性和/或非易失性的并且可以是只读存储器(ROM)、随机存取存储器(RAM)、三重内容寻址内存(TCAM)、静态随机存取存储器(SRAM)、其它合适的存储器类型、或其任意组合。存储器260可包括DM270,DM270可适于实施服务器DM111或客户端DM121。虽然存储器260示为包括DM270,但是逻辑单元230或逻辑单元230和存储器260的任意组合可包括DM270。The memory 260 can be comprised of one or more magnetic disks, tape drives, optical drives, or solid state drives; can be used for non-volatile storage of data and as an overflow data storage device; can be used to store programs when such programs are selected for execution; Can be used to store instructions and data that are read during program execution. Memory 260 can be volatile and/or non-volatile and can be read only memory (ROM), random access memory (RAM), triple content addressed memory (TCAM), static random access memory (SRAM). , other suitable memory types, or any combination thereof. Memory 260 can include DM 270, which can be adapted to implement server DM 111 or client DM 121. Although memory 260 is shown as including DM 270, logic unit 230 or any combination of logic unit 230 and memory 260 can include DM 270.
基于前述的HTTP流传输的典型系统架构和网络设备,图3为根据本申请实施例的预览图展示方法的流程交互图。Based on the foregoing typical system architecture and network device for HTTP streaming, FIG. 3 is a flow interaction diagram of a preview display method according to an embodiment of the present application.
客户端110可以使用HTTP GET请求或类似的消息,以从HTTP服务器120或HTTP缓存(图未示出)下载媒体展示描述(MPD)。MPD可以是可扩展标记语言(XML)文档。MPD包含对媒体内容进行编码所使用的格式的元数据,比如比特率、编解码、屏幕解析度、以及语言等信息,在本实施例中,MPD还包括预览图的描述信息。 Client 110 may use an HTTP GET request or similar message to download a Media Presentation Description (MPD) from HTTP server 120 or HTTP cache (not shown). The MPD can be an Extensible Markup Language (XML) document. The MPD includes metadata of a format used to encode the media content, such as bit rate, codec, screen resolution, and language. In the embodiment, the MPD further includes description information of the preview image.
本实施例中,视频内容注入时,服务器可读取对应视频的预览图生成规则,例如:预览图的间隔时间、预览图的分辨率等,生成预览图以及预览图的描述信息,预览图描述信息可以有多种实现方式:In this embodiment, when the video content is injected, the server may read the preview image generation rule of the corresponding video, for example, the interval time of the preview image, the resolution of the preview image, etc., and generate the preview image and the description information of the preview image, and preview the description. Information can be implemented in multiple ways:
第一种实现方式中,所有的预览图可以压缩成一个文件,以压缩包的形式承载,预览图的属性参数在MPD Representation中定义,描述如下:In the first implementation, all preview images can be compressed into one file and carried in the form of a compressed package. The attribute parameters of the preview map are defined in MPD Representation, as follows:
Representation标签内元素介绍:The elements in the Representation tag are introduced:
id:预览图组标识.Id: preview group ID.
width:预览图的宽,单位:像素.Width: the width of the preview, in pixels.
height:预览图的高,单位:像素.Height: the height of the preview, in pixels.
startTime:第一张预览图对应视频中的时间点.startTime: The first preview corresponds to the time point in the video.
interval:相邻预览图间隔时长,单位:秒.Interval: Interval length of adjacent previews, in seconds.
number:本视频生成的预览图总个数.Number: The total number of previews generated by this video.
BaseURL:该组预览图打包成zip文件后的URL,供下载用.BaseURL: The URL of the group preview image packaged into a zip file for download.
第二中实施方式中,通过列表描述预览图,预览图的属性参数在MPD Representation中定义,描述如下:In the second embodiment, the preview map is described by a list, and the attribute parameters of the preview map are defined in the MPD Representation, and are described as follows:
Representation标签内元素介绍:The elements in the Representation tag are introduced:
id:预览图(组)的标识.Id: the identifier of the preview (group).
width:预览图的宽,单位:像素.Width: the width of the preview, in pixels.
height:预览图的高,单位:像素.Height: the height of the preview, in pixels.
startTime:第一张预览图对应视频中的时间点.startTime: The first preview corresponds to the time point in the video.
interval:相邻预览图片间隔时长,单位:秒Interval: Interval length of adjacent preview pictures, in seconds.
number:本视频生成的预览图总个数.Number: The total number of previews generated by this video.
SegmentURL:标签支持多值SegmentURL: Tags support multiple values
Media:具体预览图文件URL,供终端下载用.Media: The URL of the specific preview file for download by the terminal.
第三种实施方式中,通过模板描述预览图,预览图的属性参数在MPD Representation中定义,描述如下:In the third embodiment, the preview image is described by the template, and the attribute parameters of the preview image are defined in the MPD Representation, as follows:
Representation标签内元素介绍:The elements in the Representation tag are introduced:
PreviewTemplate:预览图下载地址(URL)的规则。PreviewTemplate: The rule for previewing the download address (URL).
PreviewTimeline:描述预览图对应视频内容的规则。PreviewTimeline: A rule that describes the video content corresponding to the preview.
startTime:第一张预览图对应视频中的时间点。startTime: The first preview corresponds to the point in time in the video.
interval:相邻预览图片间隔时长,单位:秒。Interval: Interval length of adjacent preview pictures, in seconds.
number:本视频生成的预览图总个数。Number: The total number of previews generated by this video.
id:预览图(组)标识。Id: Preview map (group) ID.
width:预览图的宽,单位:像素。Width: The width of the preview, in pixels.
height:预览图的高,单位:像素。Height: the height of the preview, in pixels.
如图3所示,本实施例的预览图展示方法包括如下步骤:As shown in FIG. 3, the preview display method of this embodiment includes the following steps:
步骤310,客户端120可向HTTP服务器110发送对MPD的请求。In step 310, the client 120 can send a request for the MPD to the HTTP server 110.
步骤320,HTTP服务器110可将MPD发送到客户端120。客户端120可通过DASH访问引擎DAE1211接收MPD,其中MPD包括预览图的描述信息,具体的,预览图的描述信息可以包括预览图的地址信息、时间信息,还可以包含预览图的分辨率信息。At step 320, the HTTP server 110 can send the MPD to the client 120. The client 120 can receive the MPD through the DASH access engine DAE 1211. The MPD includes description information of the preview image. Specifically, the description information of the preview image may include address information of the preview image, time information, and may also include resolution information of the preview image.
步骤330,客户端120从MPD文件中解析出预览图的描述信息,获取预览图的地址信息、时间信息和分辨率信息,其中预览图的时间信息至少包括:第一帧预览图对应的时间、相邻预览图之间的间隔时间,以及预览图的总帧数。In step 330, the client 120 parses the description information of the preview image from the MPD file, and obtains the address information, the time information, and the resolution information of the preview image, where the time information of the preview image includes at least: the time corresponding to the preview image of the first frame, The time between adjacent previews and the total number of frames in the preview.
步骤340,客户端120根据预览图的描述信息,向HTTP服务器请求预览图。In step 340, the client 120 requests a preview image from the HTTP server according to the description information of the preview image.
具体的,客户端120可以根据屏幕大小等终端参数选择合适预览图分辨率,对应的预览图xml文档,根据文档中的预览图的地址,从服务器请求下载对应的预览图。Specifically, the client 120 may select a suitable preview resolution according to a terminal parameter such as a screen size, and a corresponding preview image xml document, and request a corresponding preview image from the server according to the address of the preview image in the document.
步骤350,HTTP服务器将预览图发送到客户端120,客户端120将预览图缓存到本地存储器中。In step 350, the HTTP server sends a preview to the client 120, and the client 120 caches the preview into the local storage.
步骤360,客户端120在用户拖动播放进度条时,展示对应进度的预览图。In step 360, the client 120 displays a preview of the corresponding progress when the user drags the play progress bar.
具体的,在用户拖动播放进度条时,确定播放进度条停止的位置以及时间,根据时间获取对应时间的预览图进行展示。需要注意的是,拖动播放进度条可以是用户直接使用鼠标拖动,或者用户直接输入时间参数以定位播放进度条的位置实现。Specifically, when the user drags the play progress bar, the position and time at which the play progress bar stops are determined, and a preview image of the corresponding time is obtained according to the time for display. It should be noted that dragging the play progress bar may be performed by the user directly using the mouse, or the user directly inputs the time parameter to locate the position of the play progress bar.
可选的,客户端120可在视频播放开始时,根据预览图的地址信息从服务器预先将所有的预览图下载到本地存储,在用户拖动播放进度条时,从本地获取对应时间的预览图进行展示,这种方式可以在用户拖动播放进度条时实时的显示预览图,展示体验更好。Optionally, the client 120 may download all preview images from the server to the local storage according to the address information of the preview image at the beginning of the video playback, and obtain a preview of the corresponding time locally when the user drags the playback progress bar. Display, this way can display the preview in real time when the user drags the play progress bar, showing the experience better.
另外,客户端120也可以在用户拖动进度条时,判断进度条停止位置及对应的时间,根据该时间选择对应时间的预览图,根据预览图的位置信息从服务器实时下载对应的预览图进行展示,该方式可以减轻客户端的存储压力,可以节省客户端的存储空间。In addition, the client 120 may also determine the stop position of the progress bar and the corresponding time when the user drags the progress bar, select a preview image of the corresponding time according to the time, and download the corresponding preview image from the server according to the position information of the preview image. Show that this method can reduce the storage pressure of the client and save the storage space of the client.
如图4所示,为本申请另一实施例的预览图展示方法交互流程图。As shown in FIG. 4, it is an interactive flowchart of a preview display method according to another embodiment of the present application.
本实施例中,预览图描述信息可以为独立的XML文件,MPD中可仅包括对该XML文件的描述,比如预览图XML文件的URL。客户端可解析MPD后,根据预览图XML文件的URL从服务器获取预览图XML文件。其中,MPD关于预览图XML文件的描述可如下:In this embodiment, the preview description information may be a separate XML file, and the MPD may include only the description of the XML file, such as the URL of the preview image XML file. After the client can parse the MPD, the preview image XML file is obtained from the server according to the URL of the preview image XML file. Among them, the MPD description of the preview image XML file can be as follows:
参数说明:Parameter Description:
mimeType:标识application/xml,非video audio,预览图属于应用类,用XML来承载mimeType: identifies application/xml, non-video audio, preview image belongs to application class, hosted by XML
value:明确是时间轴预览用,timelinepreview。Value: Clearly used for timeline preview, timelinepreview.
Representation id:当有多组分辨率的预览图提供预览时,通过id区分多个Representation。Representation id: When there are multiple sets of resolution previews to provide preview, multiple Representations are distinguished by id.
width,预览图宽度,单位为像素Width, preview width in pixels
height,预览图高度,单位为像素Height, the height of the preview, in pixels
BaseURL:预览图XML文件的URL,客户端可根据该URL获取预览图详细的描述信息。BaseURL: Previews the URL of the XML file. The client can obtain detailed description information of the preview image based on the URL.
具体的,预览图XML文件描述有多种方式,本实施例中,第一种实现方式中预览图XML文件为单图片模式,每张预览图都是一个单独的图片,描述如下:Specifically, there are multiple ways to describe the preview image XML file. In this embodiment, in the first implementation manner, the preview image XML file is in a single picture mode, and each preview image is a single picture, which is described as follows:
参数说明:Parameter Description:
timemline:该XML节点下的内容是用于时间轴的场景Timemline: The content under the XML node is the scene for the timeline
image:表示是对预览图对象节点进行描述Image: indicates that the preview object node is described
time:格式时分秒HHMMSSTime: format hour and minute HHMMSS
id=“preview_240_$time$.jpg”:预览图文件的URLId="preview_240_$time$.jpg": URL of the preview file
第二种实现方式中,预览图片XML文件为合并图片模式,即多个预览图合成在一张图片In the second implementation manner, the preview image XML file is a merged picture mode, that is, multiple preview images are combined in one picture.
中:in:
参数说明:Parameter Description:
timemline:该XML节点下的内容是用于时间轴的场景Timemline: The content under the XML node is the scene for the timeline
image:表示是对预览图对象节点进行描述Image: indicates that the preview object node is described
startTime:视频的开始时间,格式:HHMMSSstartTime: the start time of the video, format: HHMMSS
endTime:视频的结束时间,格式:HHMMSSendTime: end time of the video, format: HHMMSS
interval:本段视频内预览图生成间隔时间,单位:秒Interval: Interval between previews in this video. Unit: second
id=“preview_$startTime$_$endTime$.jpg”:预览图文件的URLId="preview_$startTime$_$endTime$.jpg": URL of the preview file
合并图片模式,能减少图片数量,客户端读取合并图片,能减少文件打开关闭的数量,提高显示的速度。The merge picture mode can reduce the number of pictures, and the client can read the merged picture, which can reduce the number of files opened and closed, and improve the display speed.
本实施例中,预览图展示方法,包括如下步骤:In this embodiment, the preview display method includes the following steps:
步骤410,客户端120可向HTTP服务器110发送对MPD的请求。In step 410, the client 120 can send a request for the MPD to the HTTP server 110.
步骤420,HTTP服务器110可将MPD发送到客户端120。客户端120可通过DAE1211接收MPD,其中MPD包括预览图描述信息,具体的,预览图描述信息包括:预览图描述文件的URL。In step 420, the HTTP server 110 can send the MPD to the client 120. The client 120 can receive the MPD through the DAE 1211, where the MPD includes preview description information. Specifically, the preview description information includes: a URL of the preview description file.
具体的,预览图描述信息可如下描述:Specifically, the preview description information can be described as follows:
客户端120根据value=“timelinepreview,确定该视频支持预览图特性,其中多个Representation,表示有多个分辨率的预览图可以获取,终端可根据自己屏幕大小,选择合适的分辨率预览图xml,本实例中以获取的240分辨率的预览图为例。The client 120 determines, according to the value=“timelinepreview”, that the video supports the preview feature, wherein multiple Representations indicate that the preview image with multiple resolutions can be obtained, and the terminal can select an appropriate resolution preview image xml according to the size of the screen. In this example, the obtained preview image of 240 resolution is taken as an example.
步骤430,客户端120从MPD文件中解析出预览图描述文件的URL。In step 430, the client 120 parses the URL of the preview description file from the MPD file.
步骤440,客户端120根据该预览图描述文件的URL向服务器请求该预览图描述文件。In step 440, the client 120 requests the preview description file from the server according to the URL of the preview description file.
具体的,客户端120可根据选择的分辨率为240的预览图的BaseURL从服务器请求该预览图的描述文件。Specifically, the client 120 may request the description file of the preview image from the server according to the selected BaseURL of the preview with a resolution of 240.
步骤450,HTTP服务器110将预览图的描述文件返回给客户端120。In step 450, the HTTP server 110 returns the description file of the preview image to the client 120.
具体的,预览图描述文件可为XML文档,具体内容可如下:Specifically, the preview description file can be an XML document, and the specific content can be as follows:
步骤460,客户端120根据预览图的描述文件,向HTTP服务器请求预览图。In step 460, the client 120 requests a preview image from the HTTP server according to the description file of the preview image.
步骤470,HTTP服务器将预览图发送到客户端120,客户端120将预览图缓存到本地存储器中。In step 470, the HTTP server sends a preview to the client 120, and the client 120 caches the preview into the local storage.
步骤480,客户端120在用户拖动播放进度条时,展示对应进度的预览图。In step 480, the client 120 displays a preview of the corresponding progress when the user drags the play progress bar.
具体的,在用户拖动播放进度条时,确定播放进度条停止的位置以及时间,根据时间获取对应时间的预览图进行展示。Specifically, when the user drags the play progress bar, the position and time at which the play progress bar stops are determined, and a preview image of the corresponding time is obtained according to the time for display.
可选的,客户端120可在视频播放开始时,根据预览图的地址信息从服务器预先将所有的预览图下载到本地存储,在用户拖动播放进度条时,从本地获取对应时间的预览图进行展示,这种方式可以在用户拖动播放进度条时实时的显示预览图,展示体验更好。Optionally, the client 120 may download all preview images from the server to the local storage according to the address information of the preview image at the beginning of the video playback, and obtain a preview of the corresponding time locally when the user drags the playback progress bar. Display, this way can display the preview in real time when the user drags the play progress bar, showing the experience better.
另外,客户端120也可以在用户拖动进度条时,判断进度条停止位置及对应的时间,根据该时间选择对应时间的预览图,根据预览图的位置信息从服务器实时下载对应的预览图进行展示,该方式可以减轻客户端的存储压力,可以节省客户端的存储空间。In addition, the client 120 may also determine the stop position of the progress bar and the corresponding time when the user drags the progress bar, select a preview image of the corresponding time according to the time, and download the corresponding preview image from the server according to the position information of the preview image. Show that this method can reduce the storage pressure of the client and save the storage space of the client.
需要注意的是,本申请实施例方案也可以适用于HLS等其他HTTP协议,如适用HLS协议,可将预览图的描述信息包含在M3U8文件中,具体实施方式可参考如上实施例。It should be noted that the solution of the embodiment of the present application can also be applied to other HTTP protocols such as HLS. For example, the HLS protocol is applicable, and the description information of the preview image may be included in the M3U8 file. For the specific implementation manner, refer to the foregoing embodiment.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, for clarity of hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any equivalent person can be easily conceived within the technical scope of the present invention by any person skilled in the art. Modifications or substitutions are intended to be included within the scope of the invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims (17)
- 一种预览图的展示方法,其特征在于,包括:A method for displaying a preview image, comprising:客户端从服务器获取视频节目的索引文件,所述索引文件为DASH协议的媒体展示描述(Media presentation description,MPD)文件,所述索引文件包含预览图的描述信息;The client obtains an index file of the video program from the server, where the index file is a Media Presentation description (MPD) file of the DASH protocol, and the index file includes description information of the preview image;所述客户端根据所述预览图描述信息获取预览图;The client acquires a preview image according to the preview description information;所述客户端根据用户操作指令展示所述预览图。The client presents the preview map according to a user operation instruction.
- 如权利要求1所述的方法,其特征在于,所述预览图描述信息包括:The method of claim 1, wherein the preview description information comprises:预览图的地址信息和预览图对应的时间信息。Preview the address information of the map and the time information corresponding to the preview.
- 如权利要求1或2所述的方法,其特征在于,所述客户端根据用户操作指令展示所述预览图,包括:The method according to claim 1 or 2, wherein the client displays the preview according to a user operation instruction, including:在用户拖动播放进度条时,根据播放进度条的位置显示对应的预览图。When the user drags the play progress bar, the corresponding preview image is displayed according to the position of the play progress bar.
- 如权利要求1-3任一项所述的方法,其特征在于,所述客户端根据所述预览图描述信息获取预览图,包括:The method according to any one of claims 1-3, wherein the client obtains a preview according to the preview description information, including:在用户拖动播放进度条之前,根据所述预览图的地址信息从服务器下载预览图存储到本地。Before the user drags the play progress bar, the preview image is downloaded from the server to the local according to the address information of the preview image.
- 如权利要求1-3任一项所述的方法,其特征在于,所述客户端根据所述预览图描述信息获取预览图,包括:The method according to any one of claims 1-3, wherein the client obtains a preview according to the preview description information, including:在用户拖动播放进度条时,根据所述播放进度条的位置以及所述预览图对应的时间信息,确定对应的预览图的地址信息,根据所述确定的预览图的地址信息从服务器下载预览图。When the user drags the play progress bar, determining the address information of the corresponding preview image according to the position of the play progress bar and the time information corresponding to the preview image, and downloading the preview from the server according to the determined address information of the preview image. Figure.
- 一种预览图的展示方法,其特征在于,包括:A method for displaying a preview image, comprising:服务器向客户端发送视频节目的索引文件,所述索引文件为DASH协议的MPD文件,所述索引文件包含预览图的描述信息;The server sends an index file of the video program to the client, where the index file is an MPD file of the DASH protocol, and the index file includes description information of the preview image;接收客户端预览图下载请求;Receiving a client preview download request;响应所述客户端的下载请求,将所述预览图发送给所述客户端。The preview image is sent to the client in response to the client's download request.
- 如权利要求6所述的方法,其特征在于,所述预览图描述信息包括:The method of claim 6 wherein said preview description information comprises:预览图的地址信息和预览图对应的时间信息。Preview the address information of the map and the time information corresponding to the preview.
- 如权利要求6或7所述的方法,其特征在于,所述方法还包括:The method of claim 6 or claim 7, wherein the method further comprises:根据预览图生成规则生成预览图和预览图描述信息。Generate preview and preview description information according to the preview generation rule.
- 如权利要求8所述的方法,其特征在于,所述预览图生成规则包括:The method of claim 8, wherein the preview generation rule comprises:预览图间隔时间信息和预览图分辨率信息。Preview interval information and preview resolution information.
- 一种客户端装置,包括:A client device comprising:接收器,用于从服务器获取视频节目的索引文件,所述索引文件为DASH协议的MPD文件,所述索引文件包含预览图的描述信息;a receiver, configured to acquire an index file of a video program from a server, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;处理器,用于根据所述预览图描述信息获取预览图;根据用户操作指令展示所述预览图。And a processor, configured to acquire a preview image according to the preview description information; and display the preview according to a user operation instruction.
- 根据权利要求10所述的客户端装置,其特征在于,所述预览图描述信息包括:The client device according to claim 10, wherein the preview description information comprises:预览图的地址信息和预览图对应的时间信息。Preview the address information of the map and the time information corresponding to the preview.
- 如权利要求10或11所述的客户端装置,其特征在于,所述处理器具体用于:The client device according to claim 10 or 11, wherein the processor is specifically configured to:在用户拖动播放进度条时,根据播放进度条的位置显示对应的预览图。When the user drags the play progress bar, the corresponding preview image is displayed according to the position of the play progress bar.
- 如权利要求10-12任一项所述的客户端装置,其特征在于,所述处理器还用于:在用户拖动播放进度条之前,根据所述预览图的地址信息从服务器下载预览图。The client device according to any one of claims 10 to 12, wherein the processor is further configured to: download a preview image from the server according to the address information of the preview image before the user drags the play progress bar .
- 如权利要求10-12任一项所述的方法,其特征在于,所述处理器还用于:在用户拖动播放进度条时,根据所述播放进度条的位置以及所述预览图对应的时间信息,确定对应的预览图的地址信息,根据所述确定的预览图的地址信息从服务器下载预览图。The method according to any one of claims 10 to 12, wherein the processor is further configured to: when the user drags the play progress bar, according to the position of the play progress bar and the corresponding preview image The time information determines the address information of the corresponding preview image, and downloads the preview image from the server according to the determined address information of the preview image.
- 一种服务器,包括:A server that includes:发射器,用于向客户端发送视频节目的索引文件,所述索引文件为DASH协议的MPD文件,所述索引文件包含预览图的描述信息;a transmitter, configured to send an index file of a video program to the client, where the index file is an MPD file of a DASH protocol, and the index file includes description information of the preview image;接收器,用于接收客户端预览图下载请求;a receiver, configured to receive a client preview download request;所述发射器还用于响应所述客户端的下载请求,将所述预览图发送给所述客户端。The transmitter is further configured to send the preview image to the client in response to the download request of the client.
- 如权利要求15所述的服务器,其特征在于,还包括:The server according to claim 15, further comprising:处理器,用于根据预览图生成规则生成预览图和预览图描述信息。A processor is configured to generate a preview image and preview description information according to the preview generation rule.
- 如权利要求16所述的服务器,其特征在于,所述预览图生成规则包括:The server according to claim 16, wherein the preview generation rule comprises:预览图间隔时间信息和预览图分辨率信息。Preview interval information and preview resolution information.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710170348.9 | 2017-03-21 | ||
CN201710170348.9A CN108632644B (en) | 2017-03-21 | 2017-03-21 | Preview display method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018171437A1 true WO2018171437A1 (en) | 2018-09-27 |
Family
ID=63586278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/078446 WO2018171437A1 (en) | 2017-03-21 | 2018-03-08 | Display method and device for preview image |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108632644B (en) |
WO (1) | WO2018171437A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561337A (en) * | 2018-11-19 | 2019-04-02 | 青岛海信传媒网络技术有限公司 | The playing method and device of preview video |
CN110198452B (en) * | 2019-04-02 | 2021-09-14 | 腾讯科技(深圳)有限公司 | Live video previewing method, device and system |
CN115499702B (en) * | 2021-06-18 | 2024-05-14 | 阿里巴巴创新公司 | Display method and device of preview image, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316370A (en) * | 2010-06-29 | 2012-01-11 | 腾讯科技(深圳)有限公司 | Method and device for displaying playback information |
US20120023254A1 (en) * | 2010-07-20 | 2012-01-26 | University-Industry Cooperation Group Of Kyung Hee University | Method and apparatus for providing multimedia streaming service |
CN102932679A (en) * | 2012-11-21 | 2013-02-13 | 合一网络技术(北京)有限公司 | Network video previewing system and method |
CN103957471A (en) * | 2014-05-05 | 2014-07-30 | 华为技术有限公司 | Network video playing method and device |
CN103974147A (en) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | MPEG (moving picture experts group)-DASH protocol based online video playing control system with code rate switch control and static abstract technology |
CN104937583A (en) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | Method and apparatus for performing adaptive streaming on media contents |
-
2017
- 2017-03-21 CN CN201710170348.9A patent/CN108632644B/en active Active
-
2018
- 2018-03-08 WO PCT/CN2018/078446 patent/WO2018171437A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316370A (en) * | 2010-06-29 | 2012-01-11 | 腾讯科技(深圳)有限公司 | Method and device for displaying playback information |
US20120023254A1 (en) * | 2010-07-20 | 2012-01-26 | University-Industry Cooperation Group Of Kyung Hee University | Method and apparatus for providing multimedia streaming service |
CN102932679A (en) * | 2012-11-21 | 2013-02-13 | 合一网络技术(北京)有限公司 | Network video previewing system and method |
CN104937583A (en) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | Method and apparatus for performing adaptive streaming on media contents |
CN103974147A (en) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | MPEG (moving picture experts group)-DASH protocol based online video playing control system with code rate switch control and static abstract technology |
CN103957471A (en) * | 2014-05-05 | 2014-07-30 | 华为技术有限公司 | Network video playing method and device |
Also Published As
Publication number | Publication date |
---|---|
CN108632644A (en) | 2018-10-09 |
CN108632644B (en) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6064249B2 (en) | Dynamic adaptive streaming over hypertext transfer protocol client behavior framework and session management implementation | |
US10735798B2 (en) | Video broadcast system and a method of disseminating video content | |
US9992537B2 (en) | Real-time tracking collection for video experiences | |
US9852762B2 (en) | User interface for video preview creation | |
JP6172688B2 (en) | Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocols | |
CN103583051B (en) | Playlists for real-time or near real-time streaming | |
CN106233734B (en) | Using live TV stream as ad serving | |
US12058389B2 (en) | Transcoding of video content | |
US20140341527A1 (en) | Creating, Editing, and Publishing a Video Using a Mobile Device | |
US20170195744A1 (en) | Live-stream video advertisement system | |
US10423320B2 (en) | Graphical user interface for navigating a video | |
US20190149885A1 (en) | Thumbnail preview after a seek request within a video | |
US10820045B2 (en) | Method and system for video stream personalization | |
US20190098369A1 (en) | System and method for secure cross-platform video transmission | |
US11750864B2 (en) | Methods and apparatuses for ingesting one or more media assets across a video platform | |
WO2018171437A1 (en) | Display method and device for preview image | |
JP2022525366A (en) | Methods, devices, and programs for receiving media data | |
US20230217047A1 (en) | Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment | |
US20220337647A1 (en) | Extended w3c media extensions for processing dash and cmaf inband events | |
US10893331B1 (en) | Subtitle processing for devices with limited memory | |
JP2024542607A (en) | Method, device, and computer-readable medium for processing alternative media presentation descriptions - Patents.com |
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: 18770849 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18770849 Country of ref document: EP Kind code of ref document: A1 |