WO2021159770A1 - 视频播放方法、装置、设备和存储介质 - Google Patents

视频播放方法、装置、设备和存储介质 Download PDF

Info

Publication number
WO2021159770A1
WO2021159770A1 PCT/CN2020/126105 CN2020126105W WO2021159770A1 WO 2021159770 A1 WO2021159770 A1 WO 2021159770A1 CN 2020126105 W CN2020126105 W CN 2020126105W WO 2021159770 A1 WO2021159770 A1 WO 2021159770A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
plot
development
scenario
options
Prior art date
Application number
PCT/CN2020/126105
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 JP2022524677A priority Critical patent/JP7386990B2/ja
Priority to EP20918595.8A priority patent/EP4021000A4/en
Publication of WO2021159770A1 publication Critical patent/WO2021159770A1/zh
Priority to US17/675,098 priority patent/US20220174346A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • 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/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/485End-user interface for client configuration
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/8541Content authoring involving branching, e.g. to different story endings
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform

Definitions

  • the embodiments of the present application relate to the field of human-computer interaction, and in particular, to a video playback method, device, device, and storage medium.
  • Interactive movie games are the interactive combination of movies and games, which include mobile games, web games, and mobile games based on movie and TV works.
  • Interactive movie games expand the game plot in the form of video.
  • the game plot has multiple branches. As the plot develops, different options will be displayed. Players can make reasonable choices. The plot will move to different branches as the player chooses. Play different video content.
  • the embodiments of the present application provide a video playback method, device, equipment, and storage medium.
  • a terminal plays a video, it does not need to be downloaded and decoded from a server, thereby achieving smooth video playback.
  • the technical solution is as follows:
  • a video playback method is provided, the method is applied to a terminal, and the method includes:
  • the plot acquisition request is used to request to obtain the plot information of the first plot video
  • the plot information of the first plot video includes the video address of the first plot video
  • the first plot video Corresponding n plot development options, where n is a positive integer
  • the scenario video data of the second scenario video is obtained from the cache list and the second scenario video is played.
  • the video refers to the story video corresponding to the target story development option.
  • a video playback method is provided, the method is applied to a terminal, and the method includes:
  • a second scenario video is played in the user interface, where the second scenario video refers to the scenario corresponding to the target scenario development option Video, the second storyline video is obtained according to the video data of the second storyline video recorded in the buffer list.
  • a video playback device including:
  • the request sending module is configured to send a plot acquisition request, the plot acquisition request is used to request to acquire the plot information of the first plot video, the plot information of the first plot video includes the video address of the first plot video, and N plot development options corresponding to the first plot video, where n is a positive integer;
  • the first play module is configured to play the first story video according to the video address of the first story video
  • a data acquisition module which is used to acquire the plot video data corresponding to the n plot development options in the process of playing the first plot video
  • a list adding module configured to add the plot video data corresponding to the n plot development options to the cache list
  • the second play module is configured to obtain the story video data of the second story video from the cache list in response to receiving a selection instruction of the target story development option among the n story development options and play the second story.
  • Video, the second plot video refers to the plot video corresponding to the target plot development option.
  • a video playback device including:
  • the first play module is used to play the first storyline video in the user interface of the game application;
  • the option display module is configured to display n plot development options corresponding to the first plot video in response to the end of the playback of the first plot video, where n is a positive integer;
  • the second playing module is configured to play a second story video in the user interface in response to receiving a selection instruction of the target story development option among the n story development options, where the second story video refers to the The scenario video corresponding to the target scenario development option, the second scenario video is obtained according to the video data of the second scenario video recorded in the cache list.
  • a computer device includes a processor and a memory.
  • the memory stores at least one instruction, at least one program, code set, or instruction set, and the at least one instruction
  • the at least one piece of program, the code set or the instruction set is loaded and executed by the processor to implement the video playback method as described in the foregoing aspect.
  • a computer-readable storage medium stores at least one instruction, at least one program, code set or instruction set, the at least one instruction, the At least one program, the code set, or the instruction set is loaded and executed by the processor to implement the video playback method described in the foregoing aspect.
  • a computer program product includes computer instructions stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the video playback method described in the foregoing aspects.
  • the video data corresponding to the target scenario development option is directly obtained from the cache list and played.
  • Fig. 1 is a schematic structural diagram of a computer system provided by an exemplary embodiment of the present application
  • Fig. 2 is a flowchart of a video playback method provided by an exemplary embodiment of the present application
  • Fig. 3 is a flowchart of a video playback method provided by another exemplary embodiment of the present application.
  • Fig. 4 is a flowchart of a video playback method provided by another exemplary embodiment of the present application.
  • Fig. 5 is a schematic diagram of a user interface provided by an exemplary embodiment of the present application.
  • Fig. 6 is a schematic diagram of plot development options provided by an exemplary embodiment of the present application.
  • FIG. 7 is a schematic diagram of a user interface provided by another exemplary embodiment of the present application.
  • Fig. 8 is a block diagram of a video playback device provided by an exemplary embodiment of the present application.
  • Fig. 9 is a block diagram of a video playback device provided by another exemplary embodiment of the present application.
  • Fig. 10 is a block diagram of a video playback device provided by another exemplary embodiment of the present application.
  • Fig. 11 is a block diagram of a video playback device provided by another exemplary embodiment of the present application.
  • FIG. 12 is a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a server provided by an exemplary embodiment of the present application.
  • Interactive movie games It can also be called interactive movie games, which is an interactive combination of movies and games.
  • Interactive video games include mobile games, web games, and mobile games based on film and television works. In the game, there are multiple branches of the plot. As the plot develops, different options will be displayed. Players can make reasonable choices. The plot will move to different branches and play different video content as the player chooses.
  • HLS HTTP Live Streaming
  • M3U8 fragmented index files M3U8 fragmented index files
  • TS Transport Stream, Transport stream
  • HLS The working principle of HLS is to divide the entire audio and video stream into small HTTP-based files to download, and only part of it is downloaded each time.
  • the client can choose to download the same resource at different rates from many different backup sources, allowing the streaming media session to adapt to different data rates.
  • M3U8 file an index file of TS slices, used to store the download address of each TS slice in the server, and the terminal can read each TS slice in turn according to the M3U8 file.
  • TS segmentation refers to the complete video file or video stream segmented into video segments.
  • read_thread video reading thread, used to read video data.
  • AVFormatContext Describes the composition and basic information of a media file or media stream. It is created by read_thread and mainly assigns function pointers, determines the default file opening function, and the file closing function.
  • Fig. 1 shows a schematic structural diagram of a computer system provided by an embodiment of the present application.
  • the computer system includes: a terminal 10 and a server 20.
  • the aforementioned terminal 10 may be a mobile phone, a PC (Personal Computer, personal computer), a tablet computer, an e-book reader, an MP3 (Moving Picture Experts Group Audio Layer III, a dynamic image expert compressing standard audio layer 3) player, and an MP4 (Moving Picture Experts) player. Experts Group Audio Layer IV, dynamic image experts compress standard audio layer 4) Players, etc.
  • the embodiment of the application does not limit this.
  • a client terminal running a target application is installed in the terminal 10.
  • the target application may be a game application, and the game may be an interactive narrative game, an interactive plot game, or an interactive video game (such as an interactive movie). ), interactive music games or other games with plot.
  • the game sets a large game story frame, and multiple game story branches are set in the game story frame. These game story branches are connected according to a certain story logic to form a corresponding game story. Play interactive operations in the game.
  • the terminal develops the corresponding game plot based on the player's interactive operations. For example, as the plot develops, different options will be displayed, and the player can make a reasonable choice. The plot will follow the player's choice.
  • the branch further, makes the whole game story go to a different ending.
  • the aforementioned server 20 may communicate with the terminal 10 via a wired or wireless network.
  • the server 20 may be a background server of the above-mentioned target application program, and is used to provide background services for the target application program.
  • the aforementioned server 20 may be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or it may provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, and network services.
  • Cloud servers for basic cloud computing services such as services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, which are not limited in the embodiments of this application .
  • Cloud Technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network within a wide area network or a local area network to realize the calculation, storage, processing, and sharing of data.
  • Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc., based on the application of cloud computing business models. It can form a resource pool, which can be used as needed and is flexible and convenient. Cloud computing technology will become an important support.
  • the background service of the technical network system requires a large amount of computing and storage resources, such as video websites, image websites and more portal websites.
  • each item may have its own identification mark, which needs to be transmitted to the back-end system for logical processing. Data of different levels will be processed separately, and all types of industry data need to be powerful The backing of the system can only be achieved through cloud computing.
  • Cloud Computing refers to the delivery and use mode of IT (Internet Technology) infrastructure, which refers to the acquisition of required resources through the network in an on-demand and easily scalable manner; broadly cloud computing refers to the delivery and use mode of services, which refers to the network Obtain the required services in an on-demand and easily scalable manner.
  • This service can be related to IT and software, the Internet, or other services.
  • Cloud computing is grid computing (Grid Computing), distributed computing (Distributed Computing), parallel computing (Parallel Computing), utility computing (Utility Computing), network storage (Network Storage Technologies), virtualization (Virtualization), load balancing ( Load Balance) and other traditional computer and network technology development and integration products.
  • Fig. 2 shows a flowchart of a video playback method provided by an embodiment of the present application.
  • the method is mainly applied to the client terminal of the target application installed and running in the terminal 10 shown in FIG. 1 as an example.
  • the method can include the following steps:
  • Step 201 Send a plot acquisition request.
  • the user runs the client of the target application installed in the terminal, and then the client sends the above scenario acquisition request to the server.
  • the plot obtaining request is used to request to obtain plot information of the first plot video; where the first plot video refers to the plot video being played in the client.
  • the server records the play node of the plot video played by the client. Therefore, after receiving the plot acquisition request sent by the client, the server can directly query the play node of the played plot video to determine the above-mentioned first plot video. And obtain the plot information of the first plot video and send it to the client.
  • the above-mentioned plot information of the first plot video includes information related to the first plot video.
  • the plot information of the first plot video includes the video address of the first plot video and n plot development options corresponding to the first plot video, where n is a positive integer.
  • the aforementioned video address includes URL (Uniform Resource Locator, Uniform Resource Locator), where URL is a concise representation of the location and access method of resources obtained from the Internet, and is the address of a standard resource on the Internet.
  • URL Uniform Resource Locator
  • the video data can be obtained through the video address.
  • plot development options are used for players to choose from. Each plot development option corresponds to a different plot branch. Players can make reasonable choices. The plot will move to different branches as the player chooses. Further, the entire plot To a different ending.
  • the above-mentioned plot development option may be a text option, a voice option, or a picture option, which is not limited in the embodiment of the present application.
  • Step 202 Play the first storyline video according to the video address of the first storyline video.
  • the client terminal After acquiring the plot information of the first plot video sent by the server, the client terminal plays the first plot video according to the video address of the first plot video in the plot information.
  • the client after obtaining the video address of the first plot video, the client obtains the video data of the first plot video according to the video address of the first plot video, and plays the first plot video according to the video data of the first video .
  • Step 203 In the process of playing the first plot video, obtain plot video data corresponding to each of the n plot development options.
  • the client terminal obtains the storyline video data corresponding to the above-mentioned n storyline development options respectively.
  • the above-mentioned plot video data may be video data obtained by decapsulating the data obtained according to the video address.
  • the plot video data can be expressed as AVPacket.
  • Step 204 Add the plot video data corresponding to the n plot development options to the cache list.
  • the client terminal may add the plot video data corresponding to the n plot development options to the cache list.
  • the buffer list is used for buffering the plot video data, that is, the buffer list is essentially a list of video data.
  • Step 205 in response to receiving a selection instruction of the target scenario development option among the n scenario development options, obtain the scenario video data of the second scenario video from the cache list and play the second scenario video.
  • the player can select the target plot development option from n plot development options.
  • the client can obtain the selection instruction for the target plot development option, and the selection instruction for the target plot development option is used to instruct to play the target plot development option Corresponding plot video.
  • the above-mentioned target scenario development option may be any one of the n scenario development options.
  • the client After receiving the selection instruction for the target plot development option, the client can directly obtain the plot video data of the second plot video from the cache list and play the second plot video.
  • the above second plot video refers to the target plot development option corresponding The plot video.
  • the technical solution provided by the embodiment of the present application obtains the plot video data of the plot development option corresponding to the first plot video during the process of playing the first plot video, and adds the plot video data to the cache List, so that after obtaining the selection instruction for the target scenario development option, the video data corresponding to the target scenario development option is directly obtained from the cache list for playing.
  • Fig. 3 shows a flowchart of a video playback method provided by another embodiment of the present application.
  • the method is mainly applied to the client terminal of the target application installed and running in the terminal 10 shown in FIG. 1 as an example.
  • the method can include the following steps:
  • Step 301 Send a plot acquisition request.
  • the above scenario acquisition request is used to request the acquisition of the scenario information of the first scenario video.
  • the plot information of the first plot video includes the video address of the first plot video and n plot development options corresponding to the first plot video, where n is a positive integer.
  • This step is the same as or similar to the content of step 201 in the embodiment of FIG. 2, and will not be repeated here.
  • the plot information of the first plot video above further includes video index files corresponding to the n plot development options.
  • the aforementioned video index file may be an M3U8 file.
  • the M3U8 file has been introduced above, so I won’t repeat it here.
  • Step 302 Play the first storyline video according to the video address of the first storyline video.
  • This step is the same as or similar to the content of step 202 in the embodiment of FIG. 2, and will not be repeated here.
  • the above-mentioned playing the first plot video according to the video address of the first plot video includes: invoking the second sub-thread of the video reading thread to play the first plot video according to the video address of the first plot video.
  • the above-mentioned video reading thread is used to read video data.
  • the video reading thread can create two AVFormatContexts, called the first sub-thread and the second sub-thread, where the first sub-thread is used for buffering video data, and the second sub-thread is used for decoding and Play the video.
  • the AVFormatContext has been introduced above, so I won’t repeat it here.
  • two sub-threads are used, one is used for decoding and playback, and the other is used for buffering video data, thereby avoiding video playback jams.
  • Step 303 Parse the video index files corresponding to the n plot development options, and obtain the video addresses corresponding to the n plot development options.
  • the client can parse the video index files corresponding to the n plot development options to obtain Video addresses corresponding to n plot development options respectively.
  • Step 304 Add the video addresses corresponding to the n plot development options to the queue to be buffered.
  • the video addresses are added to the queue to be buffered.
  • the above queue to be buffered is used to record the video address of the story video to be buffered, that is, the queue with buffer is essentially a video address queue.
  • Step 305 According to the video addresses corresponding to the n plot development options, respectively, the plot video data corresponding to the n plot development options are obtained.
  • the plot video data corresponding to the n plot development options are obtained.
  • the video data is introduced above, so I won’t repeat it here.
  • the foregoing acquisition of the plot video data corresponding to the n plot development options according to the video addresses respectively corresponding to the n plot development options includes:
  • the first sub-thread calling the video reading thread obtains the plot video data corresponding to the n plot development options according to the video addresses respectively corresponding to the n plot development options .
  • the client invokes the first sub-thread in the video reading thread to obtain the plot video data.
  • the video reading thread creates a corresponding ExtraPacketInfo data structure for the video addresses of the plot videos that need to be cached, and stores the plot video data through the ExtraPacketInfo data structure.
  • the client invokes a cache thread to query whether there is a video address of the plot video to be cached in the queue to be cached.
  • the cache thread queries the queue to be cached in a polling manner.
  • a hash (hash) index may also be used for query, which is not limited in the embodiment of the present application.
  • the plot video data of the second plot video may not be added to the cache list.
  • the client can call the second sub-thread of the video reading thread to obtain the second sub-thread from the server.
  • the video index file corresponding to the plot video obtains the plot video data of the second plot video according to the video index file corresponding to the second plot video.
  • the client may call the second sub-thread of the video reading thread, starting from the first plot fragment, and sequentially obtain the video index files corresponding to each plot fragment, and further The plot video data of each plot segment is obtained.
  • Step 306 Add the plot video data corresponding to the n plot development options to the cache list.
  • This step is the same as or similar to the content of step 204 in the embodiment of FIG. 2, and will not be repeated here.
  • Step 307 In response to receiving a selection instruction of the target scenario development option among the n scenario development options, obtain the scenario video data of the first scenario segment of the second scenario video from the cache list.
  • the above-mentioned second plot video includes m plot segments, where m is a positive integer.
  • the client terminal obtains the plot of the first plot fragment of the second plot video from the cache list Video data.
  • the first plot segment refers to the first plot segment in the second plot video.
  • the cache list is cleared from the scenario video data corresponding to other scenario development options except the target scenario development option.
  • the client can also optimize the entire cache queue and reduce the cache queue by clearing the cache list and removing the plot video data corresponding to other plot development options other than the target plot development option. length.
  • Step 308 Play the first plot segment according to the plot video data of the first plot segment.
  • the plot video data of the first plot segment can be pushed to the second sub-thread for decoding, and the first plot segment is played after the decoding is completed.
  • Step 309 In the process of playing the first plot segment, sequentially obtain the plot video data of m-1 plot segments after the first plot segment.
  • the client can use the time of playing the cached first plot segment to sequentially obtain the plot video data of m-1 plot segments after the first plot segment, so as to play the first plot at the end.
  • m-1 plot segments can be played directly based on the plot video data of the m-1 plot segments that have been obtained, so as to achieve smooth video playback.
  • the client can call the second sub-thread of the video reading thread to obtain the index file of the m-1 plot fragments from the server, and then obtain m-1 plot fragments based on the index file of the m-1 plot fragments Video data of the plot.
  • Step 310 According to the plot video data of the m-1 plot segments, play in the order of the m-1 plot segments in the second plot video.
  • the playback sequence of the plot segment in the second plot video can be clarified through the playback time stamp.
  • the technical solution provided by the embodiment of the present application obtains the plot video data of the plot development option corresponding to the first plot video during the process of playing the first plot video, and adds the plot video data to the cache List, so that after obtaining the selection instruction for the target scenario development option, the video data corresponding to the target scenario development option is directly obtained from the cache list for playing.
  • the video reading thread includes two sub-threads, one for decoding and playback, and the other for buffering video data, so that video playback can be avoided.
  • the entire cache queue can be optimized and the length of the cache queue can be reduced.
  • Fig. 4 shows a flowchart of a video playback method provided by another embodiment of the present application.
  • the method is mainly applied to a client terminal of a target application (such as a game application) installed and running in the terminal 10 shown in FIG. 1 as an example.
  • the method can include the following steps:
  • Step 401 Play the first storyline video in the user interface of the game application.
  • the user runs the client of the target application installed in the terminal, and the client displays a user interface, and plays the above-mentioned first plot video on the user interface.
  • the above-mentioned user interface plays a plot video;
  • the above-mentioned first plot video refers to a plot video being played in the client.
  • the user interface includes video duration information, and the video duration information includes the total duration of the video and the already-played duration of the video, where the total duration of the video refers to the total duration of the first plot video, and the already-played duration refers to the duration of the video.
  • the duration of the playback includes
  • the user interface also includes a definition adjustment control, a playback speed adjustment control, a screenshot control, and so on.
  • the definition switching control is used to adjust the definition of the video
  • the playback speed switching control is used to adjust the playback speed of the video
  • the screenshot control is used to allow the user to take an image screenshot of the video being played.
  • the aforementioned user interface further includes other controls such as setting controls, which are not limited in the embodiment of the present application.
  • the user interface 50 in the user interface 50, the first storyline video is being played.
  • the user interface displays video duration information, such as the total video duration 51 and the video played duration 52; optionally, the user interface also displays the definition adjustment control 53, the playback speed adjustment control 54, and the screenshot control. 55 and so on.
  • step 402 in response to the end of the play of the first plot video, display n plot development options corresponding to the first plot video, where n is a positive integer.
  • n plot development options corresponding to the first storyline video may be displayed.
  • plot development options are used for players to choose from. Each plot development option corresponds to a different plot development branch. Players can make reasonable choices. The plot will move to different branches as the player chooses. The game story goes to a different ending.
  • the above-mentioned plot development option may be a text option, a voice option, or a picture option, which is not limited in the embodiment of the present application.
  • scenario development option as a text option as an example
  • 4 scenario development options can be displayed, such as the first scenario development option 61: “Mr. Fang and Sun What is the situation of the sir?";
  • the second plot development option 62 “What is the organization's arrangement for me?”;
  • the third plot development option 63 “Why does the teacher pretend to break with me?”;
  • the fourth plot development option 64 "Teacher, Fang Min, she".
  • Step 403 In response to receiving a selection instruction of the target scenario development option among the n scenario development options, play a second scenario video on the user interface.
  • the player can choose from the above n scenario development options by himself.
  • the client terminal plays the second scenario video in the user interface after obtaining a selection instruction for the target scenario development option among the n scenario development options.
  • the above-mentioned second plot video refers to the plot video corresponding to the target plot development option.
  • the second storyline video is obtained according to the video data of the second storyline video recorded in the cache list.
  • the user interface 50 may play the scenario video corresponding to the target scenario development option.
  • the foregoing loading progress information is used to indicate the progress of loading the second scenario video.
  • loading progress information 56 may be displayed, such as "loading progress information for you".
  • the loading progress information 56 automatically disappears after the plot video is loaded. .
  • the technical solution provided by the embodiments of the present application obtains the second storyline video directly according to the video data of the second storyline video recorded in the cache list during the process of playing the first storyline video, so that the second storyline video can be After the video playback is over, the second storyline video is played directly without downloading and decoding the second storyline video from the server, which avoids the pause of the video playback due to too long loading time, and realizes the smooth playback of the video.
  • the player can clearly know the current loading progress.
  • Fig. 8 shows a block diagram of a video playback device provided by an embodiment of the present application.
  • the device has the function of realizing the above example of the video playing method, and the function can be realized by hardware, or by hardware executing corresponding software.
  • the device can be the terminal described above, or it can be set on the terminal.
  • the device 800 may include: a request sending module 810, a first playing module 820, a data acquiring module 830, a list adding module 840, and a second playing module 850.
  • the request sending module 810 is configured to send a plot acquisition request.
  • the plot acquisition request is used to request to obtain plot information of the first plot video.
  • the plot information of the first plot video includes the video address of the first plot video and the relationship with the first plot. N plot development options corresponding to the video, n is a positive integer.
  • the first play module 820 is configured to play the first story video according to the video address of the first story video.
  • the data obtaining module 830 is configured to obtain the plot video data corresponding to the n plot development options in the process of playing the first plot video.
  • the list adding module 840 is configured to add the plot video data corresponding to the n plot development options to the cache list.
  • the second play module 850 is configured to obtain the plot video data of the second plot video from the cache list and play the second plot video in response to receiving a selection instruction of the target plot development option among the n plot development options.
  • the second story video refers to the story video corresponding to the target story development option.
  • the technical solution provided by the embodiment of the present application obtains the plot video data of the plot development option corresponding to the first plot video during the process of playing the first plot video, and adds the plot video data to the cache List, so that after obtaining the selection instruction for the target scenario development option, the video data corresponding to the target scenario development option is directly obtained from the cache list for playing.
  • the plot information of the first plot video further includes a video index file corresponding to at least one plot development option; as shown in FIG. 9, the data acquisition module 830 includes: a file parsing unit 831 and an address adding unit 832 and a data acquisition unit 833.
  • the file parsing unit 831 is configured to analyze the video index files corresponding to the n plot development options, and obtain the video addresses corresponding to the n plot development options.
  • the address adding unit 832 is configured to add the video addresses corresponding to the n plot development options to the queue to be cached, and the queue to be cached is used to record the video address of the plot video to be cached.
  • the data obtaining unit 833 is configured to obtain the plot video data corresponding to the n plot development options respectively according to the video addresses corresponding to the n plot development options.
  • the data acquisition unit 833 is configured to respond to the presence of the video address of the plot video to be cached in the queue to be cached, and call the first sub-thread of the video reading thread to correspond to each of the n plot development options. To obtain the plot video data corresponding to the n plot development options respectively.
  • the second plot video includes m plot segments, and m is a positive integer; the second play module 850 is used to obtain the plot video data of the first plot segment of the second plot video from the cache list ; Play the first plot segment according to the plot video data of the first plot segment; in the process of playing the first plot segment, sequentially obtain the plot video data of m-1 plot segments after the first plot segment; according to m-1 The plot video data of the plot segment is played according to the sequence of m-1 plot segments in the second plot video.
  • the device 800 further includes: a data clearing module 860.
  • the data clearing module 860 is configured to clear, in response to the selection instruction of the target plot development option, the plot video data corresponding to other plot development options except the target plot development option from the cache list.
  • the device 800 further includes: a file acquisition module 870 and a video acquisition module 880.
  • the file acquisition module 870 is configured to, in response to the absence of plot video data of the second plot video in the cache list, call the second sub-thread of the video reading thread to obtain the video index file corresponding to the second plot video.
  • the video acquisition module 880 is configured to acquire the plot video data of the second plot video according to the video index file corresponding to the second plot video.
  • the first playing module 820 is used to call the second sub-thread of the video reading thread to play the first story video according to the video address of the first story video.
  • Fig. 10 shows a block diagram of a video playback device provided by another embodiment of the present application.
  • the device has the function of realizing the above example of the video playing method, and the function can be realized by hardware, or by hardware executing corresponding software.
  • the device can be the terminal described above, or it can be set on the terminal.
  • the device 1000 may include: a first playing module 1010, an option display module 1020, and a second playing module 1030.
  • the first playing module 1010 is used to play the first storyline video in the user interface of the game application.
  • the option display module 1020 is configured to display n plot development options corresponding to the first plot video in response to the end of the playback of the first plot video, where n is a positive integer.
  • the second play module 1030 is configured to play a second story video in the user interface in response to receiving a selection instruction of the target story development option among the n story development options, and the second story video refers to the target story development option corresponding The second story video is obtained based on the video data of the second story video recorded in the cache list.
  • the technical solution provided by the embodiments of the present application obtains the second storyline video directly according to the video data of the second storyline video recorded in the cache list during the process of playing the first storyline video, so that the second storyline video can be After the video playback is over, the second storyline video is played directly without downloading and decoding the second storyline video from the server, which avoids the pause of the video playback due to too long loading time, and realizes the smooth playback of the video.
  • the device 1000 further includes: a progress display module 1040 and a display cancellation module 1050.
  • the progress display module 1040 is configured to display loading progress information during the process of playing the first plot video, and the loading progress information is used to indicate the progress of loading the second plot video.
  • the display cancellation module 1050 is configured to cancel the display of the loading progress information in response to the completion of the loading of the second scenario video.
  • FIG. 12 shows a structural block diagram of a terminal provided by an embodiment of the present application.
  • the terminal 1200 includes a processor 1201 and a memory 1202.
  • the processor 1201 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on.
  • the processor 1201 can be implemented in at least one hardware form among DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), PLA (Programmable Logic Array, Programmable Logic Array) .
  • the processor 1201 may also include a main processor and a coprocessor.
  • the main processor is a processor used to process data in the awake state, also called a CPU (Central Processing Unit, central processing unit); the coprocessor is A low-power processor used to process data in the standby state.
  • the processor 1201 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used to render and draw content that needs to be displayed on the display screen.
  • the processor 1201 may further include an AI (Artificial Intelligence) processor, and the AI processor is used to process computing operations related to machine learning.
  • AI Artificial Intelligence
  • the memory 1202 may include one or more computer-readable storage media, which may be non-transitory.
  • the memory 1202 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices.
  • the non-transitory computer-readable storage medium in the memory 1202 is used to store at least one instruction, at least one program, code set or instruction set, the at least one instruction, at least one program, code set or instruction set It is used to be executed by the processor 1201 to implement the video playback method provided in the method embodiment of the present application.
  • the terminal 1200 may optionally further include: a peripheral device interface 1203 and at least one peripheral device.
  • the processor 1201, the memory 1202, and the peripheral device interface 1203 may be connected by a bus or a signal line.
  • Each peripheral device can be connected to the peripheral device interface 1203 through a bus, a signal line, or a circuit board.
  • the peripheral device may include: at least one of a communication interface 1204, a display screen 1205, an audio circuit 1206, a camera component 1207, a positioning component 1208, and a power supply 1209.
  • FIG. 12 does not constitute a limitation on the terminal 1200, and may include more or fewer components than those shown in the figure, or combine certain components, or adopt different component arrangements.
  • FIG. 13 shows a schematic structural diagram of a server provided by an embodiment of the present application. Specifically:
  • the server 1300 includes a CPU (Central Processing Unit, central processing unit) 1301, a system memory 1304 including RAM (Random Access Memory) 1302 and ROM (Read Only Memory) 1303, and a connection system The system bus 1305 of the memory 1304 and the central processing unit 1301.
  • the server 1300 also includes a basic I/O (Input/Output input/output) system 1306 that helps to transfer information between various devices in the computer, and a large-scale I/O system for storing the operating system 1313, application programs 1314, and other program modules 1312. Capacity storage device 1307.
  • the basic input/output system 1306 includes a display 1308 for displaying information and an input device 1309 such as a mouse and a keyboard for the user to input information.
  • the display 1308 and the input device 1309 are both connected to the central processing unit 1301 through the input and output controller 1310 connected to the system bus 1305.
  • the basic input/output system 1306 may also include an input and output controller 1310 for receiving and processing input from multiple other devices such as a keyboard, a mouse, or an electronic stylus.
  • the input and output controller 1310 also provides output to a display screen, a printer, or other types of output devices.
  • the mass storage device 1307 is connected to the central processing unit 1301 through a mass storage controller (not shown) connected to the system bus 1305.
  • the mass storage device 1307 and its associated computer readable medium provide non-volatile storage for the server 1300. That is, the mass storage device 1307 may include a computer-readable medium (not shown) such as a hard disk or a CD-ROM (Compact Disc Read-Only Memory) drive.
  • the computer-readable media may include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, EPROM (Erasable Programmable Read Only Memory), flash memory or other solid-state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tapes, disks Storage or other magnetic storage devices.
  • RAM random access memory
  • ROM read only memory
  • EPROM Erasable Programmable Read Only Memory
  • flash memory or other solid-state storage technologies
  • CD-ROM Compact Disk Read Only Memory
  • DVD Compact Disc
  • magnetic tapes magnetic tapes
  • disks Storage or other magnetic storage devices.
  • the aforementioned system memory 1304 and mass storage device 1307 can be collectively referred to as memory.
  • the server 1300 may also be connected to a remote computer on the network to run through a network such as the Internet. That is, the server 1300 can be connected to the network 1312 through the network interface unit 1311 connected to the system bus 1305, or in other words, the network interface unit 1311 can also be used to connect to other types of networks or remote computer systems (not shown) .
  • the memory also includes at least one instruction, at least one program, code set, or instruction set.
  • the at least one instruction, at least one program, code set, or instruction set is stored in the memory and configured to be used by one or more processors. Execute to realize the above-mentioned video playback method.
  • a computer device is also provided.
  • the computer equipment can be a terminal or a server.
  • the computer device includes a processor and a memory, and the memory stores at least one instruction, at least one program, code set or instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded by the processor And execute to realize the above video playback method.
  • a computer-readable storage medium stores at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program ,
  • the code set or the instruction set implements the above video playback method when executed by the processor.
  • a computer-readable storage medium is also provided, and a computer program is stored in the computer-readable storage medium, and the computer program implements the foregoing video playback method when executed by a processor.
  • a computer program product includes computer instructions stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the video playback method as described in the foregoing aspects.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请提供了一种视频播放方法、装置、设备和存储介质,涉及计算机技术领域。所述方法包括:发送剧情获取请求;根据第一剧情视频的视频地址,播放第一剧情视频;在播放第一剧情视频的过程中,获取n个剧情发展选项分别对应的剧情视频数据;将n个剧情发展选项分别对应的剧情视频数据添加入缓存列表;响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,从缓存列表中获取第二剧情视频的剧情视频数据并播放第二剧情视频。本申请在获取到对于目标剧情发展选项的选择指令后,直接从缓存列表中获取该目标剧情发展选项对应的视频数据进行播放,无需从服务器下载并解码,避免了视频播放由于加载时间过长导致的停顿,实现了视频的流畅播放。

Description

视频播放方法、装置、设备和存储介质
本申请要求于2020年02月14日提交的申请号为202010105302.0、发明名称为“视频播放方法、装置、设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及人机交互领域,特别涉及一种视频播放方法、装置、设备和存储介质。
背景技术
互动影游是影视与游戏的互动结合,其包括根据影视作品改造的手游、页游、端游等游戏产品。互动影游以视频的形式展开游戏剧情,游戏剧情存在多个分支,随着剧情的发展会显示出不同的选项,玩家可以进行合理的选择,剧情会随着玩家的选择而走向不同的分支,播放不同的视频内容。
相关技术中,玩家在对游戏给出的选项做出选择之前,玩家无法预知到接下来播放的视频内容。因为包体限制,大量的视频数据无法存在本地,所以视频数据都存在后台服务器上。当播放视频时,需要从服务器上获取视频的分片索引文件,通过解析视频的分片索引文件获取分片的地址,以获取分片,之后才可以播放。
在上述相关技术中,由于播放视频需要先下载并解码,无法做到快速无缝切换视频内容,这会造成视频播放的停顿。
发明内容
本申请实施例提供了一种视频播放方法、装置、设备和存储介质,终端在播放视频时,无需从服务器下载并解码,实现了视频的流畅播放。所述技术方案如下:
根据本申请的一方面,提供了一种视频播放方法,所述方法应用于终端,所述方法包括:
发送剧情获取请求,所述剧情获取请求用于请求获取第一剧情视频的剧情信息,所述第一剧情视频的剧情信息包括所述第一剧情视频的视频地址,以及与所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
根据所述第一剧情视频的视频地址,播放所述第一剧情视频;
在播放所述第一剧情视频的过程中,获取所述n个剧情发展选项分别对应的剧情视频数据;
将所述n个剧情发展选项分别对应的剧情视频数据添加入缓存列表;
响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,从所述缓存列表中获取第二剧情视频的剧情视频数据并播放所述第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频。
根据本申请的另一方面,提供了一种视频播放方法,所述方法应用于终端,所述方法包括:
在游戏应用程序的用户界面中播放第一剧情视频;
响应于所述第一剧情视频播放结束,显示所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,在所述用户界面中播放第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频,所述第二剧情视频是根据缓存列表中记录的所述第二剧情视频的视频数据获取的。
根据本申请的另一方面,提供了一种视频播放装置,所述装置包括:
请求发送模块,用于发送剧情获取请求,所述剧情获取请求用于请求获取第一剧情视频的剧情信息,所述第一剧情视频的剧情信息包括所述第一剧情视频的视频地址,以及与所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
第一播放模块,用于根据所述第一剧情视频的视频地址,播放所述第一剧情视频;
数据获取模块,用于在播放所述第一剧情视频的过程中,获取所述n个剧情发展选项分别对应的剧情视频数据;
列表添加模块,用于将所述n个剧情发展选项分别对应的剧情视频数据添加入缓存列表;
第二播放模块,用于响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,从所述缓存列表中获取第二剧情视频的剧情视频数据并播放所述第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频。
根据本申请的另一方面,提供了一种视频播放装置,所述装置包括:
第一播放模块,用于在游戏应用程序的用户界面中播放第一剧情视频;
选项显示模块,用于响应于所述第一剧情视频播放结束,显示所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
第二播放模块,用于响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,在所述用户界面中播放第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频,所述第二剧情视频是根据缓存列表中记录的所述第二剧情视频的视频数据获取的。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的视频播放方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的视频播放方法。
根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述各方面所述的视频播放方法。
本申请实施例提供的技术方案可以包括如下有益效果:
通过在播放第一剧情视频的过程中,获取与第一剧情视频对应的剧情发展选项的剧情视频数据,并将该剧情视频数据添加入缓存列表,以便在获取到对于目标剧情发展选项的选择指令后,直接从缓存列表中获取该目标剧情发展选项对应的视频数据进行播放。无需从服务器上获取视频的分片索引文件,也无需根据解析该分片索引文件获取分片的地址来播放视频片段,避免了视频播放 由于加载时间过长导致的停顿,实现了视频的流畅播放。
附图说明
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的视频播放方法的流程图;
图3是本申请另一个示例性实施例提供的视频播放方法的流程图;
图4是本申请另一个示例性实施例提供的视频播放方法的流程图;
图5是本申请一个示例性实施例提供的用户界面的示意图;
图6是本申请一个示例性实施例提供的剧情发展选项的示意图;
图7是本申请另一个示例性实施例提供的用户界面的示意图;
图8是本申请一个示例性实施例提供的视频播放装置的框图;
图9是本申请另一个示例性实施例提供的视频播放装置的框图;
图10是本申请另一个示例性实施例提供的视频播放装置的框图;
图11是本申请另一个示例性实施例提供的视频播放装置的框图;
图12是本申请一个示例性实施例提供的终端的结构框图;
图13是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
首先,对本申请实施例中涉及的名词进行简要介绍:
1、互动影游:也可以称为互动影视游戏,是影视与游戏的互动结合。互动影游包括根据影视作品改造的手游、页游、端游等游戏产品。在游戏中,剧情存在多个分支,随着剧情的发展会显示出不同的选项,玩家可以进行合理的选择,剧情会随着玩家的选择而走向不同的分支,播放不同的视频内容。
2、HLS(HTTP Live Streaming,实时流传输):是一个由苹果公司提出的基于HTTP的流媒体网络传输协议,主要用于终端的音视频服务,由M3U8分片索引文件和TS(Transport Stream,传输流)分片组成。HLS协议的优点是部署方便,便于分发,对服务器的性能要求比较低,支持自适应码率播放。
HLS的工作原理是把整个音视频流分成一个个小的基于HTTP的文件来下载,每次只下载部分。当媒体流正在播放时,客户端可以选择从许多不同的备 用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。
3、M3U8文件:是TS片的索引文件,用于存储各TS分片在服务器中的下载地址,终端可以根据该M3U8文件依次读取到各个TS片。
4、TS分片:是指完整视频文件或视频流切分成的视频片段。
5、read_thread:视频读取线程,用于读取视频数据。
6、AVFormatContext:描述了一个媒体文件或媒体流的构成和基本信息,由read_thread创建,主要为函数指针赋值,确定默认打开文件的函数,以及关闭文件的函数。
图1示出了本申请一个实施例提供的计算机系统的结构示意图。该计算机系统包括:终端10和服务器20。
上述终端10可以是手机、PC(Personal Computer,个人计算机)、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器等等。本申请实施例对此不作限定。
可选地,该终端10中安装运行有目标应用程序的客户端,该目标应用程序可以是游戏应用程序,该游戏可以是互动叙事类游戏、互动剧情类游戏、互动视频类游戏(如互动电影)、互动音乐类游戏或者其它具有剧情的游戏。比如,游戏设定一个大的游戏故事框架,在游戏故事框架设定多个游戏剧情分支,这些游戏剧情分支按照一定的剧情逻辑连接起来从而形成相应的游戏故事。玩在游戏中进行互动操作,终端基于玩家的互动操作发展相应的游戏剧情,如随着剧情的发展会显示出不同的选项,玩家可以进行合理的选择,剧情会随着玩家的选择而走向不同的分支,进一步,使得整个游戏故事走向不同的结局。
上述服务器20可以通过有线或者无线网络与终端10进行通信。该服务器20可以是上述目标应用程序的后台服务器,用于为目标应用程序提供后台服务。
可选地,上述服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台 等基础云计算服务的云服务器,本申请实施例对此不作限定。
其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(Cloud Computing)指IT(Internet Technology)基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
下面,通过几个实施例对本申请技术方案进行介绍说明。
图2示出了本申请一个实施例提供的视频播放方法的流程图。在本实施例中,主要以该方法应用于图1所示的终端10中安装运行的目标应用程序的客户端中来举例说明。该方法可以包括如下几个步骤:
步骤201,发送剧情获取请求。
用户运行终端中安装的目标应用程序的客户端,之后,客户端向服务器发送上述剧情获取请求。该剧情获取请求用于请求获取第一剧情视频的剧情信息;其中,第一剧情视频是指客户端中正在播放的剧情视频。
对于上述目标应用程序,已在上文进行了介绍,此处不再赘述。
对应地,服务器中记录有客户端播放的剧情视频的播放节点,因此,服务器在接收到客户端发送的剧情获取请求之后,可以直接查询播放的剧情视频的播放节点,确定上述第一剧情视频,并获取该第一剧情视频的剧情信息发送给客户端。
上述第一剧情视频的剧情信息包括与第一剧情视频相关的信息。该第一剧情视频的剧情信息包括第一剧情视频的视频地址,以及与第一剧情视频对应的n个剧情发展选项,该n为正整数。
其中,上述视频地址包括URL(Uniform Resource Locator,统一资源定位符),其中,URL是对从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。通过该视频地址可以获取到视频数据。
上述n个剧情发展选项用于供玩家进行选择,每个剧情发展选项对应于不同的剧情分支,玩家可以进行合理的选择,剧情会随着玩家的选择而走向不同的分支,进一步,使得整个剧情走向不同的结局。
可选地,上述剧情发展选项可以是文字选项,也可以是语音选项,还可以是图片选项,本申请实施例对此不作限定。
步骤202,根据第一剧情视频的视频地址,播放第一剧情视频。
在获取到服务器发送的第一剧情视频的剧情信息之后,客户端根据该剧情信息中的第一剧情视频的视频地址,播放该第一剧情视频。
可选地,客户端在获取到该第一剧情视频的视频地址之后,根据该第一剧情视频的视频地址获取第一剧情视频的视频数据,根据该第一视频的视频数据播放第一剧情视频。
步骤203,在播放第一剧情视频的过程中,获取n个剧情发展选项分别对应的剧情视频数据。
在播放上述第一剧情视频的过程中,客户端获取上述n个剧情发展选项分别对应的剧情视频数据。
可选地,上述剧情视频数据可以是对根据视频地址获取到的数据进行解封装后的视频数据。该剧情视频数据可以表示为AVPacket。
步骤204,将n个剧情发展选项分别对应的剧情视频数据添加入缓存列表。
客户端可以将该n个剧情发展选项分别对应的剧情视频数据添加入缓存列表。
该缓存列表用于缓存剧情视频数据,即该缓存列表实质上是一视频数据列表。
步骤205,响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,从缓存列表中获取第二剧情视频的剧情视频数据并播放第二剧情视频。
玩家可以自行从n个剧情发展选项中选择目标剧情发展选项,对应地,客户端可以获取到针对目标剧情发展选项的选择指令,该针对目标剧情发展选项的选择指令用于指示播放目标剧情发展选项对应的剧情视频。
可选地,上述目标剧情发展选项可以是n个剧情发展选项中的任意一个剧情发展选项。
客户端在接收到该针对目标剧情发展选项的选择指令之后,可以直接从缓存列表中获取第二剧情视频的剧情视频数据并播放第二剧情视频,上述第二剧情视频是指目标剧情发展选项对应的剧情视频。
综上所述,本申请实施例提供的技术方案,通过在播放第一剧情视频的过程中,获取与第一剧情视频对应的剧情发展选项的剧情视频数据,并将该剧情视频数据添加入缓存列表,以便在获取到对于目标剧情发展选项的选择指令后,直接从缓存列表中获取该目标剧情发展选项对应的视频数据进行播放。无需从服务器上获取视频的分片索引文件,也无需根据解析该分片索引文件后获取分片的地址来播放视频片段,避免了视频播放由于加载时间过长导致的停顿,实现了视频的流畅播放。
图3示出了本申请另一个实施例提供的视频播放方法的流程图。在本实施例中,主要以该方法应用于图1所示的终端10中安装运行的目标应用程序的客户端中来举例说明。该方法可以包括如下几个步骤:
步骤301,发送剧情获取请求。
上述剧情获取请求用于请求获取第一剧情视频的剧情信息。其中,第一剧情视频的剧情信息包括第一剧情视频的视频地址,以及与第一剧情视频对应的n个剧情发展选项,该n为正整数。
此步骤与图2实施例中步骤201的内容相同或类似,此处不再赘述。
可选地,上述第一剧情视频的剧情信息还包括n个剧情发展选项对应的视频索引文件。上述视频索引文件可以是M3U8文件。关于M3U8文件已在上文 进行了介绍,此处不再赘述。
步骤302,根据第一剧情视频的视频地址,播放第一剧情视频。
此步骤与图2实施例中步骤202的内容相同或类似,此处不再赘述。
可选地,上述根据第一剧情视频的视频地址,播放第一剧情视频,包括:调用视频读取线程的第二分线程根据第一剧情视频的视频地址,播放第一剧情视频。
上述视频读取线程用于读取视频数据。在本申请实施例中,该视频读取线程可以创建两个AVFormatContext,称为第一分线程和第二分线程,其中,第一分线程用于缓存视频数据,第二分线程用于解码和播放视频。关于AVFormatContext已在上文进行了介绍,此处不再赘述。
本申请实施例中,通过两个分线程,一个用于解码和播放,另一个用于缓存视频数据,从而可以避免视频播放卡顿。
步骤303,解析n个剧情发展选项分别对应的视频索引文件,获取n个剧情发展选项分别对应的视频地址。
当第一剧情视频的剧情信息包括n个剧情发展选项对应的视频索引文件时,客户端在获取到上述视频索引文件之后,可以解析该n个剧情发展选项分别对应的视频索引文件,以获取到n个剧情发展选项分别对应的视频地址。
步骤304,将n个剧情发展选项分别对应的视频地址添加入待缓存队列。
在获取到上述n个剧情发展选项分别对应的视频地址之后,将该视频地址添加入待缓存队列。
上述待缓存队列用于记录待缓存的剧情视频的视频地址,即该带缓存队列实质上是一个视频地址队列。
步骤305,根据n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据。
在获取到上述n个剧情发展选项分别对应的视频地址之后,根据该n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据。关于视频数据一下上文中进行了介绍,此处不再赘述。
可选地,上述根据n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据,包括:
响应于待缓存队列中存在待缓存的剧情视频的视频地址,调用视频读取线 程的第一分线程根据n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据。
当待缓存队列中存在需要缓存的剧情视频的视频地址时,客户端调用视频读取线程中的第一分线程获取剧情视频数据。
可选地,视频读取线程对于需要缓存的剧情视频的视频地址都会创建对应的ExtraPacketInfo数据结构,通过该ExtraPacketInfo数据结构存储剧情视频数据。
可选地,客户端调用缓存线程查询待缓存队列中是否存在待缓存的剧情视频的视频地址。
可选地,缓存线程采用轮询的方式查询待缓存队列。在一些其他实施例中,还可以采用hash(哈希)索引的方式进行查询,本申请实施例对此不作限定。
另外,在客户端查询到待缓存队列中不存在待缓存的剧情视频的视频地址,还可以执行下述步骤:
(1)响应于缓存列表中不存在第二剧情视频的剧情视频数据,调用视频读取线程的第二分线程获取第二剧情视频对应的视频索引文件;
(2)根据第二剧情视频对应的视频索引文件获取第二剧情视频的剧情视频数据。
由于网络质量较差等原因,可能会导致第二剧情视频的剧情视频数据没有添加入缓存列表,在这种情况下,客户端可以调用视频读取线程的第二分线程,从服务器获取第二剧情视频对应的视频索引文件,根据该第二剧情视频对应的视频索引文件获取第二剧情视频的剧情视频数据。
可选地,当第二剧情视频包括m个剧情片段时,客户端可以调用视频读取线程的第二分线程,从第一个剧情片段开始,依次获取各个剧情片段对应的视频索引文件,进一步获取到各个剧情片段的剧情视频数据。
步骤306,将n个剧情发展选项分别对应的剧情视频数据添加入缓存列表。
此步骤与图2实施例中步骤204的内容相同或类似,此处不再赘述。
步骤307,响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,从缓存列表中获取第二剧情视频的第一剧情片段的剧情视频数据。
上述第二剧情视频包括m个剧情片段,该m为正整数。
当第二剧情视频包括多个剧情片段时,在获取到针对n个剧情发展选项中 的目标剧情发展选项的选择指令之后,客户端从缓存列表中获取第二剧情视频的第一剧情片段的剧情视频数据。该第一剧情片段是指第二剧情视频中的第一个剧情片段。
可选地,响应于获取到目标剧情发展选项的选择指令,清除缓存列表中,除去目标剧情发展选项之外的其它剧情发展选项对应的剧情视频数据。
在获取到对应于目标剧情发展选项的选择指令之后,客户端还可以通过清除缓存列表中,除去目标剧情发展选项之外的其它剧情发展选项对应的剧情视频数据来优化整个缓存队列,降低缓存队列的长度。
步骤308,根据第一剧情片段的剧情视频数据播放第一剧情片段。
在获取到第一剧情片段的剧情视频数据之后,可以将该第一剧情片段的剧情视频数据推送到第二分线程进行解码,在解码完成后播放该第一剧情片段。
步骤309,在播放第一剧情片段的过程中,依次获取第一剧情片段之后的m-1个剧情片段的剧情视频数据。
在播放第一剧情片段的过程中,客户端可以利用播放缓存好的第一剧情片段的时间,依次获取第一剧情片段之后的m-1个剧情片段的剧情视频数据,以便在结束播放第一剧情片段之后,可以直接基于已经获取到m-1个剧情片段的剧情视频数据,播放m-1个剧情片段,实现视频的流畅播放。
可选地,客户端可以调用视频读取线程的第二分线程从服务器获取上述m-1个剧情片段的索引文件,然后基于该m-1个剧情片段的索引文件得到m-1个剧情片段的剧情视频数据。
步骤310,根据m-1个剧情片段的剧情视频数据,按照m-1个剧情片段在第二剧情视频中的顺序进行播放。
在获取到上述m-1个剧情片段的剧情视频数据之后,进一步可以基于m-1个剧情片段的剧情视频数据获取到m-1个剧情片段,并按照m-1个剧情片段在第二剧情视频中的顺序进行播放。
可选地,每个剧情片段都存在播放时间戳,通过该播放时间戳可以明确该剧情片段在第二剧情视频中的播放顺序。
综上所述,本申请实施例提供的技术方案,通过在播放第一剧情视频的过程中,获取与第一剧情视频对应的剧情发展选项的剧情视频数据,并将该剧情视频数据添加入缓存列表,以便在获取到对于目标剧情发展选项的选择指令后, 直接从缓存列表中获取该目标剧情发展选项对应的视频数据进行播放。无需从服务器上获取视频的分片索引文件,也无需根据解析该分片索引文件获取分片的地址来播放视频片段,避免了视频播放由于加载时间过长导致的停顿,实现了视频的流畅播放。
另外,通过视频读取线程包括两个分线程,一个用于解码和播放,另一个用于缓存视频数据,从而可以避免视频播放卡顿。
另外,通过清除缓存列表中,除去目标剧情发展选项之外的其它剧情发展选项对应的剧情视频数据,可以优化整个缓存队列,降低缓存队列的长度。
图4示出了本申请又一个实施例提供的视频播放方法的流程图。在本实施例中,主要以该方法应用于图1所示的终端10中安装运行的目标应用程序(如游戏应用程序)的客户端中来举例说明。该方法可以包括如下几个步骤:
步骤401,在游戏应用程序的用户界面中播放第一剧情视频。
用户运行终端中安装的目标应用程序的客户端,客户端显示用户界面,并在该用户界面中播放上述第一剧情视频。
其中,上述用户界面播放剧情视频;上述第一剧情视频是指客户端中正在播放的剧情视频。
可选地,该用户界面中包括视频时长信息,该视频时长信息包括视频总时长和视频已播放时长,其中,视频总时长是指第一剧情视频的总的时长,视频已播放时长是指已经播放的时长。
可选地,该用户界面中还包括清晰度调整控件、播放速度调整控件、截图控件等等。其中,清晰度切换控件用于调整视频的清晰度;播放速度切换控件用于调整视频的播放速度;截图控件用于供用户对正在播放的视频进行图像截图。在一些实施例中,上述用户界面中还包括如设置控件等其它控件,本申请实施例对此不作限定。
示例性地,如图5所示,在用户界面50中,正在播放第一剧情视频。可选地,该用户界面中显示视频时长信息,如视频总时长51和视频已播放时长52;可选地,该用户界面中还显示有清晰度调整控件53、播放速度调整控件54、截图控件55等等。
步骤402,响应于第一剧情视频播放结束,显示第一剧情视频对应的n个剧 情发展选项,该n为正整数。
当上述第一剧情视频播放结束之后,可以显示该第一剧情视频对应的n个剧情发展选项。
上述n个剧情发展选项用于供玩家进行选择,每个剧情发展选项对应于不同的剧情发展分支,玩家可以进行合理的选择,剧情会随着玩家的选择而走向不同的分支,进一步,使得整个游戏故事走向不同的结局。
可选地,上述剧情发展选项可以是文字选项,也可以是语音选项,还可以是图片选项,本申请实施例对此不作限定。
示例性地,如图6所示,以剧情发展选项是文字选项为例,当第一剧情视频播放结束之后,可以显示4个剧情发展选项,如第一剧情发展选项61:“方老师和孙先生的情况是?”;第二剧情发展选项62:“组织对我的安排是?”;第三剧情发展选项63:“老师为什么要装作和我决裂?”;第四剧情发展选项64:“老师,方敏她……”。
步骤403,响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,在用户界面中播放第二剧情视频。
玩家可以自行从上述n个剧情发展选项中进行选择,对应地,客户端在获取到针对n个剧情发展选项中的目标剧情发展选项的选择指令之后,在用户界面中播放第二剧情视频。上述第二剧情视频是指目标剧情发展选项对应的剧情视频。
该第二剧情视频是根据缓存列表中记录的第二剧情视频的视频数据获取的。
示例性地,如图7所示,用户在选择n个剧情发展选项中的目标剧情发展选项之后,可以在用户界面50中播放该目标剧情发展选项对应的剧情视频。
可选地,在播放第一剧情视频的过程中,显示加载进度信息;响应于第二剧情视频加载完成,取消显示加载进度信息。
上述加载进度信息用于指示加载第二剧情视频的进度。
示例性地,如图5所示,在播放第一剧情视频的过程中,可以显示加载进度信息56,如“正在为你加载进度信息”,该加载进度信息56在剧情视频加载完成之后自动消失。
综上所述,本申请实施例提供的技术方案,通过在播放第一剧情视频的过 程中,直接根据缓存列表中记录的第二剧情视频的视频数据获取第二剧情视频,以便在第一剧情视频播放结束之后,直接播放第二剧情视频,无需从服务器下载并解码该第二剧情视频,避免了视频播放由于加载时间过长导致的停顿,实现了视频的流畅播放。
另外,通过在显示加载进度信息,可以使玩家能够明确获知当前的加载进度。
图8示出了本申请一个实施例提供的视频播放装置的框图。该装置具有实现上述视频播放方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端上。该装置800可以包括:请求发送模块810、第一播放模块820、数据获取模块830、列表添加模块840和第二播放模块850。
所述请求发送模块810,用于发送剧情获取请求,剧情获取请求用于请求获取第一剧情视频的剧情信息,第一剧情视频的剧情信息包括第一剧情视频的视频地址,以及与第一剧情视频对应的n个剧情发展选项,n为正整数。
所述第一播放模块820,用于根据第一剧情视频的视频地址,播放第一剧情视频。
所述数据获取模块830,用于在播放第一剧情视频的过程中,获取n个剧情发展选项分别对应的剧情视频数据。
所述列表添加模块840,用于将n个剧情发展选项分别对应的剧情视频数据添加入缓存列表。
所述第二播放模块850,用于响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,从缓存列表中获取第二剧情视频的剧情视频数据并播放第二剧情视频,第二剧情视频是指目标剧情发展选项对应的剧情视频。
综上所述,本申请实施例提供的技术方案,通过在播放第一剧情视频的过程中,获取与第一剧情视频对应的剧情发展选项的剧情视频数据,并将该剧情视频数据添加入缓存列表,以便在获取到对于目标剧情发展选项的选择指令后,直接从缓存列表中获取该目标剧情发展选项对应的视频数据进行播放。无需从服务器上获取视频的分片索引文件,也无需根据解析该分片索引文件获取分片的地址来播放视频片段,避免了视频播放由于加载时间过长导致的停顿,实现 了视频的流畅播放。
在一些可能的设计中,第一剧情视频的剧情信息还包括至少一个剧情发展选项对应的视频索引文件;如图9所示,所述数据获取模块830,包括:文件解析单元831、地址添加单元832和数据获取单元833。
所述文件解析单元831,用于解析n个剧情发展选项分别对应的视频索引文件,获取n个剧情发展选项分别对应的视频地址。
所述地址添加单元832,用于将n个剧情发展选项分别对应的视频地址添加入待缓存队列,待缓存队列用于记录待缓存的剧情视频的视频地址。
所述数据获取单元833,用于根据n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据。
在一些可能的设计中,所述数据获取单元833,用于响应于待缓存队列中存在待缓存的剧情视频的视频地址,调用视频读取线程的第一分线程根据n个剧情发展选项分别对应的视频地址,获取n个剧情发展选项分别对应的剧情视频数据。
在一些可能的设计中,第二剧情视频包括m个剧情片段,m为正整数;所述第二播放模块850,用于从缓存列表中获取第二剧情视频的第一剧情片段的剧情视频数据;根据第一剧情片段的剧情视频数据播放第一剧情片段;在播放第一剧情片段的过程中,依次获取第一剧情片段之后的m-1个剧情片段的剧情视频数据;根据m-1个剧情片段的剧情视频数据,按照m-1个剧情片段在第二剧情视频中的顺序进行播放。
在一些可能的设计中,所述装置800还包括:数据清除模块860。
所述数据清除模块860,用于响应于获取到目标剧情发展选项的选择指令,清除缓存列表中,除去目标剧情发展选项之外的其它剧情发展选项对应的剧情视频数据。
在一些可能的设计中,所述装置800还包括:文件获取模块870和视频获取模块880。
所述文件获取模块870,用于响应于缓存列表中不存在第二剧情视频的剧情视频数据,调用视频读取线程的第二分线程获取第二剧情视频对应的视频索引文件。
所述视频获取模块880,用于根据第二剧情视频对应的视频索引文件获取第 二剧情视频的剧情视频数据。
在一些可能的设计中,所述第一播放模块820,用于调用视频读取线程的第二分线程根据第一剧情视频的视频地址,播放第一剧情视频。
图10示出了本申请又一个实施例提供的视频播放装置的框图。该装置具有实现上述视频播放方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端上。该装置1000可以包括:第一播放模块1010、选项显示模块1020和第二播放模块1030。
所述第一播放模块1010,用于在游戏应用程序的用户界面中播放第一剧情视频。
所述选项显示模块1020,用于响应于第一剧情视频播放结束,显示第一剧情视频对应的n个剧情发展选项,n为正整数。
所述第二播放模块1030,用于响应于接收到n个剧情发展选项中的目标剧情发展选项的选择指令,在用户界面中播放第二剧情视频,第二剧情视频是指目标剧情发展选项对应的剧情视频,第二剧情视频是根据缓存列表中记录的第二剧情视频的视频数据获取的。
综上所述,本申请实施例提供的技术方案,通过在播放第一剧情视频的过程中,直接根据缓存列表中记录的第二剧情视频的视频数据获取第二剧情视频,以便在第一剧情视频播放结束之后,直接播放第二剧情视频,无需从服务器下载并解码该第二剧情视频,避免了视频播放由于加载时间过长导致的停顿,实现了视频的流畅播放。
在一些可能的设计中,如图11所示,所述装置1000还包括:进度显示模块1040和显示取消模块1050。
所述进度显示模块1040,用于在播放第一剧情视频的过程中,显示加载进度信息,加载进度信息用于指示加载第二剧情视频的进度。
所述显示取消模块1050,用于响应于第二剧情视频加载完成,取消显示加载进度信息。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功 能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图12,其示出了本申请一个实施例提供的终端的结构框图。通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集用于被处理器1201所执行以实现本申请中方法实施例提供的视频播放方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备可以包括:通信接口1204、显示屏1205、音频电路1206、摄像头组件1207、定位组件1208和电源1209中的至少一种。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限 定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
请参考图13,其示出了本申请一个实施例提供的服务器的结构示意图。具体来讲:
所述服务器1300包括CPU(Central Processing Unit,中央处理器)1301、包括RAM(Random Access Memory,随机存取存储器)1302和ROM(Read Only Memory,只读存储器)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述服务器1300还包括帮助计算机内的各个器件之间传输信息的基本I/O(Input/Output输入/输出)系统1306,和用于存储操作系统1313、应用程序1314和其他程序模块1312的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为服务器1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述 的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本申请的各种实施例,所述服务器1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述视频播放方法。
在示例性实施例中,还提供了一种计算机设备。该计算机设备可以是终端或服务器。所述计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述视频播放方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集在被处理器执行时实现上述视频播放方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序在被处理器执行时实现上述视频播放方法。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从该计算机可读存储介质读取该计算机指令,该处理器执行该计算机指令,使得该计算机设备执行如上述各方面所述的视频播放方法。

Claims (13)

  1. 一种视频播放方法,其特征在于,所述方法应用于终端,所述方法包括:
    发送剧情获取请求,所述剧情获取请求用于请求获取第一剧情视频的剧情信息,所述第一剧情视频的剧情信息包括所述第一剧情视频的视频地址,以及与所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
    根据所述第一剧情视频的视频地址,播放所述第一剧情视频;
    在播放所述第一剧情视频的过程中,获取所述n个剧情发展选项分别对应的剧情视频数据;
    将所述n个剧情发展选项分别对应的剧情视频数据添加入缓存列表;
    响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,从所述缓存列表中获取第二剧情视频的剧情视频数据并播放所述第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频。
  2. 根据权利要求1所述的方法,其特征在于,所述第一剧情视频的剧情信息还包括所述至少一个剧情发展选项对应的视频索引文件;
    所述在播放所述第一剧情视频的过程中,获取所述n个剧情发展选项分别对应的剧情视频数据,包括:
    解析所述n个剧情发展选项分别对应的视频索引文件,获取所述n个剧情发展选项分别对应的视频地址;
    将所述n个剧情发展选项分别对应的视频地址添加入待缓存队列,所述待缓存队列用于记录待缓存的剧情视频的视频地址;
    根据所述n个剧情发展选项分别对应的视频地址,获取所述n个剧情发展选项分别对应的剧情视频数据。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述n个剧情发展选项分别对应的视频地址,获取所述n个剧情发展选项分别对应的剧情视频数据,包括:
    响应于所述待缓存队列中存在所述待缓存的剧情视频的视频地址,调用视频读取线程的第一分线程根据所述n个剧情发展选项分别对应的视频地址,获 取所述n个剧情发展选项分别对应的剧情视频数据。
  4. 根据权利要求1所述的方法,其特征在于,所述第二剧情视频包括m个剧情片段,所述m为正整数;
    所述从所述缓存列表中获取第二剧情视频的剧情视频数据并播放所述第二剧情视频,包括:
    从所述缓存列表中获取所述第二剧情视频的第一剧情片段的剧情视频数据;
    根据所述第一剧情片段的剧情视频数据播放所述第一剧情片段;
    在播放所述第一剧情片段的过程中,依次获取所述第一剧情片段之后的m-1个剧情片段的剧情视频数据;
    根所述据m-1个剧情片段的剧情视频数据,按照所述m-1个剧情片段在所述第二剧情视频中的顺序进行播放。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
    响应于获取到所述目标剧情发展选项的选择指令,清除所述缓存列表中,除去所述目标剧情发展选项之外的其它剧情发展选项对应的剧情视频数据。
  6. 根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
    响应于所述缓存列表中不存在所述第二剧情视频的剧情视频数据,调用视频读取线程的第二分线程获取所述第二剧情视频对应的视频索引文件;
    根据所述第二剧情视频对应的视频索引文件获取所述第二剧情视频的剧情视频数据。
  7. 根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述第一剧情视频的视频地址,播放所述第一剧情视频,包括:
    调用视频读取线程的第二分线程根据所述第一剧情视频的视频地址,播放所述第一剧情视频。
  8. 一种视频播放方法,其特征在于,所述方法应用于终端,所述方法包括:
    在游戏应用程序的用户界面中播放第一剧情视频;
    响应于所述第一剧情视频播放结束,显示所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
    响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,在所述用户界面中播放第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频,所述第二剧情视频是根据缓存列表中记录的所述第二剧情视频的视频数据获取的。
  9. 根据权利要求8所述方法,其特征在于,所述方法还包括:
    在播放所述第一剧情视频的过程中,显示加载进度信息,所述加载进度信息用于指示加载所述第二剧情视频的进度;
    响应于所述第二剧情视频加载完成,取消显示所述加载进度信息。
  10. 一种视频播放装置,其特征在于,所述装置包括:
    请求发送模块,用于发送剧情获取请求,所述剧情获取请求用于请求获取第一剧情视频的剧情信息,所述第一剧情视频的剧情信息包括所述第一剧情视频的视频地址,以及与所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
    第一播放模块,用于根据所述第一剧情视频的视频地址,播放所述第一剧情视频;
    数据获取模块,用于在播放所述第一剧情视频的过程中,获取所述n个剧情发展选项分别对应的剧情视频数据;
    列表添加模块,用于将所述n个剧情发展选项分别对应的剧情视频数据添加入缓存列表;
    第二播放模块,用于响应于接收到所述n个剧情发展选项中的目标剧情发展选项的选择指令,从所述缓存列表中获取第二剧情视频的剧情视频数据并播放所述第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频。
  11. 一种视频播放装置,其特征在于,所述装置包括:
    第一播放模块,用于在游戏应用程序的用户界面中播放第一剧情视频;
    选项显示模块,用于响应于所述第一剧情视频播放结束,显示所述第一剧情视频对应的n个剧情发展选项,所述n为正整数;
    第二播放模块,用于响应于针对所述n个剧情发展选项中的目标剧情发展选项的选择指令,在所述用户界面中播放第二剧情视频,所述第二剧情视频是指所述目标剧情发展选项对应的剧情视频,所述第二剧情视频是根据缓存列表中记录的所述第二剧情视频的视频数据获取的。
  12. 一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法,或者实现如权利要求8或9所述的方法。
  13. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的方法,或者实现如权利要求8或9所述的方法。
PCT/CN2020/126105 2020-02-14 2020-11-03 视频播放方法、装置、设备和存储介质 WO2021159770A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022524677A JP7386990B2 (ja) 2020-02-14 2020-11-03 ビデオ再生方法、装置、機器及びコンピュータプログラム
EP20918595.8A EP4021000A4 (en) 2020-02-14 2020-11-03 VIDEO PLAYBACK METHOD, DEVICE, APPARATUS AND STORAGE MEDIA
US17/675,098 US20220174346A1 (en) 2020-02-14 2022-02-18 Video playing method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010105302.0 2020-02-14
CN202010105302.0A CN111277869B (zh) 2020-02-14 2020-02-14 视频播放方法、装置、设备和存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/675,098 Continuation US20220174346A1 (en) 2020-02-14 2022-02-18 Video playing method and apparatus

Publications (1)

Publication Number Publication Date
WO2021159770A1 true WO2021159770A1 (zh) 2021-08-19

Family

ID=70999178

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/126105 WO2021159770A1 (zh) 2020-02-14 2020-11-03 视频播放方法、装置、设备和存储介质

Country Status (5)

Country Link
US (1) US20220174346A1 (zh)
EP (1) EP4021000A4 (zh)
JP (1) JP7386990B2 (zh)
CN (1) CN111277869B (zh)
WO (1) WO2021159770A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125532A (zh) * 2021-10-30 2022-03-01 杭州当虹科技股份有限公司 互动视频无缝切播方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277869B (zh) * 2020-02-14 2021-12-14 腾讯科技(深圳)有限公司 视频播放方法、装置、设备和存储介质
CN112954479A (zh) * 2021-01-26 2021-06-11 广州欢网科技有限责任公司 基于电视终端的剧情类游戏实现方法及装置
CN113271475B (zh) * 2021-04-12 2023-01-10 北京奇艺世纪科技有限公司 一种数据处理方法、系统、电子设备及存储介质
CN113347498A (zh) * 2021-05-28 2021-09-03 北京爱奇艺科技有限公司 一种视频播放方法、装置及计算机可读存储介质
CN113797542B (zh) * 2021-09-29 2024-04-23 上海完美时空软件有限公司 任务数据的生成方法及装置、存储介质、电子装置
CN114051152A (zh) * 2022-01-17 2022-02-15 飞狐信息技术(天津)有限公司 视频播放方法及装置、存储介质及电子设备
CN115175000A (zh) * 2022-06-29 2022-10-11 网易(杭州)网络有限公司 游戏视频的播放方法、装置、介质及电子设备
CN116582696B (zh) * 2023-07-14 2023-09-26 北京医百科技有限公司 切换节目场景到预设监视窗口的方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127867A (zh) * 2006-08-16 2008-02-20 任峰 可选择情节的视频播放方法
CN101282348A (zh) * 2007-04-06 2008-10-08 上海晨兴电子科技有限公司 运用http协议实现流媒体功能的方法
CN109600635A (zh) * 2019-01-24 2019-04-09 四川长虹电器股份有限公司 一种根据智能电视视频按需推送信息的系统及方法
CN110430461A (zh) * 2019-08-28 2019-11-08 腾讯科技(深圳)有限公司 一种控制视频播放的方法、装置及视频播放设备
US10555023B1 (en) * 2017-09-25 2020-02-04 Amazon Technologies, Inc. Personalized recap clips
CN111277869A (zh) * 2020-02-14 2020-06-12 腾讯科技(深圳)有限公司 视频播放方法、装置、设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101435412B1 (ko) * 2007-10-18 2014-09-01 삼성전자주식회사 컨텐츠의 줄거리 정보 제공 방법 및 장치
JP5488180B2 (ja) * 2010-04-30 2014-05-14 ソニー株式会社 コンテンツ再生装置、制御情報提供サーバ、及びコンテンツ再生システム
KR101280962B1 (ko) * 2011-06-15 2013-07-02 인하대학교 산학협력단 비디오 서버 및 그 운영 방법
JP5388377B2 (ja) 2011-12-07 2014-01-15 シャープ株式会社 表示装置、表示方法、及び表示プログラム
US8600220B2 (en) 2012-04-02 2013-12-03 JBF Interlude 2009 Ltd—Israel Systems and methods for loading more than one video content at a time
CN102843605A (zh) * 2012-08-22 2012-12-26 Tcl集团股份有限公司 视频播放方法、装置
US9009619B2 (en) * 2012-09-19 2015-04-14 JBF Interlude 2009 Ltd—Israel Progress bar for branched videos
US9161090B2 (en) * 2012-12-27 2015-10-13 EchoStar Technologies, L.L.C. Fast channel change from electronic programming guide
CN105792020A (zh) * 2014-12-26 2016-07-20 北京奇虎科技有限公司 播放视频文件的方法及装置
US10582265B2 (en) * 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
CN106131610A (zh) * 2016-06-28 2016-11-16 乐视控股(北京)有限公司 在线播放视频的方法、设备及装置
CN106534946A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 视频播放的控制方法和装置
CN107277558B (zh) * 2017-06-19 2020-03-31 网宿科技股份有限公司 一种实现直播视频同步的播放器客户端、系统及方法
CN107948751A (zh) * 2017-11-24 2018-04-20 互影科技(北京)有限公司 分支剧情视频的播放方法及装置
CN108156523A (zh) * 2017-11-24 2018-06-12 互影科技(北京)有限公司 交互视频播放的互动方法及装置
CN108124187A (zh) * 2017-11-24 2018-06-05 互影科技(北京)有限公司 交互视频的生成方法及装置
CN108260014A (zh) * 2018-04-12 2018-07-06 腾讯科技(上海)有限公司 一种视频播放方法和终端以及存储介质
JP2019051411A (ja) 2019-01-09 2019-04-04 グリー株式会社 制御プログラム、制御方法及びコンピュータ
CN109788350A (zh) * 2019-01-18 2019-05-21 北京睿峰文化发展有限公司 一种基于影视剧情选择无缝连续播放的方法和装置
CN110366024A (zh) * 2019-07-01 2019-10-22 北京达佳互联信息技术有限公司 一种播放视频的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127867A (zh) * 2006-08-16 2008-02-20 任峰 可选择情节的视频播放方法
CN101282348A (zh) * 2007-04-06 2008-10-08 上海晨兴电子科技有限公司 运用http协议实现流媒体功能的方法
US10555023B1 (en) * 2017-09-25 2020-02-04 Amazon Technologies, Inc. Personalized recap clips
CN109600635A (zh) * 2019-01-24 2019-04-09 四川长虹电器股份有限公司 一种根据智能电视视频按需推送信息的系统及方法
CN110430461A (zh) * 2019-08-28 2019-11-08 腾讯科技(深圳)有限公司 一种控制视频播放的方法、装置及视频播放设备
CN111277869A (zh) * 2020-02-14 2020-06-12 腾讯科技(深圳)有限公司 视频播放方法、装置、设备和存储介质

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125532A (zh) * 2021-10-30 2022-03-01 杭州当虹科技股份有限公司 互动视频无缝切播方法和装置

Also Published As

Publication number Publication date
EP4021000A1 (en) 2022-06-29
CN111277869B (zh) 2021-12-14
JP2022553996A (ja) 2022-12-27
JP7386990B2 (ja) 2023-11-27
EP4021000A4 (en) 2022-12-07
US20220174346A1 (en) 2022-06-02
CN111277869A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
WO2021159770A1 (zh) 视频播放方法、装置、设备和存储介质
US20230289329A1 (en) Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
US11417341B2 (en) Method and system for processing comment information
US11019119B2 (en) Web-based live broadcast
KR102108949B1 (ko) 미디어 애플리케이션 백그라운딩
US8473628B2 (en) Dynamically altering playlists
US8510460B2 (en) Reduced video player start-up latency in HTTP live streaming and similar protocols
WO2017080168A1 (zh) 视频审核的方法及系统
US7698528B2 (en) Shared memory pool allocation during media rendering
US11588875B2 (en) Multi-media redirection for media applications
CN112839238B (zh) 投屏播放方法、装置和存储介质
WO2019128800A1 (zh) 一种内容服务的实现方法、装置及内容分发网络节点
CN113424553B (zh) 用于重放媒体项目的方法和系统
US11588881B2 (en) Web browser multi-media redirection
US20180139501A1 (en) Optimized delivery of sequential content by skipping redundant segments
AU2022217784A1 (en) Systems, apparatus and methods for rendering digital content
US20180288484A1 (en) Virtual high definition video player
KR102134250B1 (ko) 스트리밍 콘텐츠의 재생 방법 및 시스템
KR20140102838A (ko) 클라우드 스트리밍 서비스를 제공하기 위한 장치, 이를 위한 방법 및 이를 위한 시스템
US11212562B1 (en) Targeted video streaming post-production effects
JP7282981B2 (ja) ローカルストリーミングサーバを利用したストリーミングコンテンツの再生方法およびシステム
US20200272568A1 (en) Adaptive retrieval of objects from remote storage
CN112887755A (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: 20918595

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020918595

Country of ref document: EP

Effective date: 20220302

ENP Entry into the national phase

Ref document number: 2022524677

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE