WO2016078468A1 - 一种视频清晰度切换方法、视频播放器和视频播放系统 - Google Patents

一种视频清晰度切换方法、视频播放器和视频播放系统 Download PDF

Info

Publication number
WO2016078468A1
WO2016078468A1 PCT/CN2015/089182 CN2015089182W WO2016078468A1 WO 2016078468 A1 WO2016078468 A1 WO 2016078468A1 CN 2015089182 W CN2015089182 W CN 2015089182W WO 2016078468 A1 WO2016078468 A1 WO 2016078468A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
fragment file
fragment
file
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2015/089182
Other languages
English (en)
French (fr)
Inventor
王希
王林虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LeTV Information Technology Beijing Co Ltd
Original Assignee
LeTV Information Technology Beijing Co Ltd
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 LeTV Information Technology Beijing Co Ltd filed Critical LeTV Information Technology Beijing Co Ltd
Publication of WO2016078468A1 publication Critical patent/WO2016078468A1/zh
Priority to US15/246,388 priority Critical patent/US20160365123A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed
    • G11B2020/1295Increase of the access speed wherein the focus is on the read access speed

Definitions

  • the present application relates to video technologies, and in particular, to a video sharpness switching method, a video player, and a video playing system.
  • Video resources include many different types of definitions, such as normal, high-definition, and ultra-clear. Viewers can choose to watch videos of different definitions. When viewers change videos of different definitions, they can be called switching of video sharpness.
  • the embodiment of the present application provides a video clarity switching method, a video player, and a video playing system, which are used to solve the problem that video playback is inconsistent when switching video clarity.
  • a video clarity switching method including:
  • the video server And acquiring, by the video server, a configuration file of the second sharpness video according to the received sharpness switching instruction, where the configuration file includes: time information and address information of each fragment file in the second sharpness video;
  • the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • the method further includes: stopping importing other fragment files after the first fragment file of the first definition video in the second level buffer The video stream buffer and stop loading other fragmented files of the first sharpness video into the secondary cache.
  • the determining, by the time information, the second fragment file that meets the smooth switching condition in the second definition video corresponding to the first fragment file includes: determining an end time The same second fragment file as the first fragment file.
  • the method further includes: if the second clear video corresponding to the first fragment file is not found, the second condition that satisfies the smooth switching condition is not found according to the time information And when the fragment file is used, searching for a third fragment file in the first definition video that is temporally located after the first fragment file, and determining that the smoothness switching condition is satisfied in the second definition video corresponding to the third fragment file a fourth fragment file; sequentially loading, according to the address information and the time information, each fragment file of the second definition video after the fourth fragment file into the preset secondary buffer area; After the third fragment file is played, the fragment file is loaded from the preset secondary buffer area to the video stream buffer area, and the second definition video is started to be played.
  • a second aspect provides a video player, including: a cache control module, an instruction receiving module, a switching processing module, and a playback processing unit;
  • the cache control module is configured to load the first fragment file of the first definition video from the preset secondary buffer area to the video stream buffer area for playing;
  • the instruction receiving module is configured to receive a sharpness switching instruction, where the sharpness switching instruction is used to indicate switching from the first definition video to the second definition video;
  • the switching processing module is configured to acquire, according to the definition switching instruction received by the instruction receiving module, a configuration file of the second definition video from the video server, where the configuration file package Include: time information and address information of each fragment file in the second definition video; and determining, according to the time information, a second fragment file that satisfies a smooth switching condition in the second definition video corresponding to the first fragment file ;
  • the cache control module is further configured to sequentially load the fragment files that are after the second fragment file in the second definition video into the preset second level cache according to the address information and the time information. After the first fragment file is played, the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • the cache control module is further configured to stop, after the instruction receiving module receives the definition switching instruction, stop the first definition video in the second level buffer area.
  • the other fragment files after the first fragment file are imported into the video stream buffer, and the other fragment files of the first definition video are stopped from being loaded into the second level buffer.
  • the switching processing module when determining, according to the time information, the second fragment file that satisfies the smooth switching condition in the second definition video corresponding to the first fragment file, Configured to determine the second fragment file whose end time is the same as the first fragment file.
  • the switching processing module is further configured to: in the second clear video corresponding to the first fragment file, not found according to the time information And smoothing the second fragment file of the switching condition, searching for a third fragment file in the first definition video that is temporally located after the first fragment file, and determining the second definition video corresponding to the third fragment file a fourth fragment file that satisfies a smooth switching condition;
  • the cache control module is further configured to sequentially load, according to the address information and the time information, each fragment file that is arranged after the fourth fragment file in the second definition video into the preset secondary buffer area. After the third fragment file is played, the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • the cache control module loads, in the second definition video, each fragment file that is after the second fragment file into the preset two When the level buffer is used, it is sequentially loaded according to the time information of each fragment file.
  • a video playback system including: a video server and a video player as described above, wherein the video server is configured to store fragment files and configuration files of different definitions corresponding to the video to be played, the configuration file Includes time and address information for each fragment file in the video.
  • the second sharpness video corresponding to the currently played first sharpness video is determined according to the video configuration file
  • the second sharpness video is loaded and played from the corresponding fragment file.
  • FIG. 1 is a schematic structural diagram of an application system of a video sharpness switching method according to an embodiment of the present disclosure
  • FIG. 2 is a schematic diagram of a principle of a video sharpness switching method according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a video clarity switching method according to an embodiment of the present disclosure
  • FIG. 4 is a fragment information storage diagram in a video sharpness switching method according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a video player according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a video playing system according to an embodiment of the present application.
  • the video player is a client for playing video programs, such as a LeTV video player, a Sohu video player, etc., assuming that the user is currently using a video player to watch his favorite entertainment program, the entertainment program is being played in a normal version. If the user wants to switch to the HD version, the user clicks on the definition setting of the video player and selects "HD" resolution. At this time, the video player should switch to play for the user according to the user's selection. HD version of the entertainment program.
  • the video player will implement the handover process by performing the video sharpness switching method provided by the embodiment of the present application, as follows:
  • FIG. 1 shows an application system architecture of a video sharpness switching method provided by an embodiment of the present application.
  • a video server and a video player are involved.
  • the video player can be operated and interacted with on the user's laptop.
  • the video program played by the video player is stored on the video server side, and the video player downloads the relevant data of the video program from the video server, and The data is decoded and played.
  • FIG. 2 is a schematic diagram showing the principle of interactively playing a video program between a video server and a video player based on the architecture of the application system shown in FIG. 1.
  • the entertainment program described above is stored as a "fragment file” and a "profile”.
  • the fragment file is a program that divides the program into multiple pieces, such as a 20-minute period.
  • the embodiment of the present application assumes that the entertainment program is divided into X fragment files.
  • the configuration file is related information about the fragment file, such as "time information 1" and "address information 1" corresponding to the fragment file 1, wherein the time information 1 refers to the start time and end time of the fragment file 1 (for example For the above example, the video from the 1st to the 10th second is used as a fragment file, the start time of the fragment file is the 1st second, the end time is the 10th second), and the address information 1 refers to the Fragment file 1 is the storage address of the video server.
  • time information 1 refers to the start time and end time of the fragment file 1 (for example For the above example, the video from the 1st to the 10th second is used as a fragment file, the start time of the fragment file is the 1st second, the end time is the 10th second)
  • the address information 1 refers to the Fragment file 1 is the storage address of the video server.
  • the fragment file of the program is downloaded from the video server, and the fragment file is placed in the second-level buffer area, and the second-level buffer area is used to store the file. But you don't have to be imported into the fragment file of the video stream.
  • the video player extracts data from the secondary buffer area for decoding and transcoding, and then imports the video stream for playback.
  • the video clarity switching method in the embodiment of the present application includes the following steps:
  • Step 201 Loading a first fragment file of the first definition video from the preset secondary buffer area to the video stream buffer area for playing;
  • Step 202 Receive a sharpness switching instruction, where the sharpness switching instruction is used to indicate switching from the first definition video to the second definition video.
  • Step 203 Obtain a configuration file of the second sharpness video from the video server according to the received sharpness switching instruction, where the configuration file includes: time information and address information of each fragment file in the second sharpness video;
  • Step 204 Determine, according to the time information, a second corresponding to the first fragment file a second fragment file in the definition video that satisfies the smooth switching condition;
  • Step 205 sequentially load, according to the address information and the time information, each fragment file that is ranked after the second fragment file in the second definition video into the second level buffer area;
  • Step 206 After the first fragment file is played, load the fragment file from the preset second level buffer area to the video stream buffer area, and start playing the second definition video.
  • a second level buffer area is added in addition to the video stream buffer area; the video player pre-places the fragment file obtained from the video server.
  • the fragment file is subsequently loaded from the L2 cache to the video stream buffer for playing video.
  • step 201 it is assumed that the video player is playing the first fragment file of the first definition video, and the first fragment file is loaded from the preset second level buffer area to the video stream buffer area for playing;
  • the first definition is, for example, "high definition”, and the high definition video is also divided into a plurality of fragment files, and the first fragment file is currently being decoded and played.
  • the video player receives a sharpness switching instruction for instructing switching from the first sharpness video to the second sharpness video, the second sharpness being, for example, "super clear", of course, the user may also "Super Clear” switches to "HD".
  • the definition switching instruction may be a definition option that the user clicks on the video player to select the definition of the desired viewing.
  • the video player requests the video server to acquire the configuration file of the second definition video according to the second definition selected by the user.
  • the video server side usually stores a plurality of definition versions of video profiles, such as universal, high definition, and ultra clear, and provides corresponding configuration files according to the resolution selected by the user.
  • different definition versions of the video may use the same granularity when dividing the fragment file. For example, for the same video program, the HD version of the video is divided into a fragment file every 10 seconds. The length of each fragment file can be different. The video of the super-clear version is also divided into a fragment file every 10 seconds; or even if the video of each definition version has different fragmentation files, at least it must be ensured.
  • the two pieces of the first sharpness and the second sharpness that are engaged at the time of switching can be connected in time, as can be seen in the subsequent step 203.
  • the related playback process includes: stopping importing other fragment files after the first fragment file of the first definition video in the second level buffer into the video stream.
  • Timer 1 Used to wait for all the fragments currently being decoded to be imported into the video stream.
  • the working mechanism of the timer 1 is that if the first fragment file in the level 2 cache area does not have readable data and the fragment file is a complete fragment that has already been loaded, or there is no fragment file in the level 2 cache area. , then the fragment that is currently being decoded has been all imported into the video stream, and the timer 1 is stopped. Otherwise do the above again.
  • Timer 2 used to control video data decoding and import video stream.
  • the working mechanism of this timer is to take out the first fragment file in the buffer area when there is fragmented data in the second level buffer area (the first one here refers to two
  • the slot in the level buffer is sorted in time by the first bit, and it is determined whether the start play time of the fragment is within 10 seconds of the current play time; if so, the fragment data is decoded and packaged and imported into the video stream. Next, if the fragment is a complete fragment that has been loaded and there are other fragments in the level 2 cache, the fragment file is removed from the buffer. Then do the above again.
  • Timer 3 Used to control the loading of new fragment files.
  • the working mechanism of this timer is to take out the last fragment file in the buffer area when there is fragmented data in the level 2 cache area. It is determined whether the starting play time of the fragment is later than 60 seconds of the current playing time. If so, the file data of the fragment number +1 is loaded. Then do the above again.
  • the video player when the video player receives the sharpness switching instruction, it needs to stop the related processing regarding playing the first sharpness video, and does not continue decoding and loading.
  • the first fragment file of the first definition video currently being decoded still needs to continue to be decoded and played until the end of the fragment, and the first fragment file is kept in the always playing state, and the above is only two.
  • Fragment files of other first definition video in the level buffer are no longer decoded, and no new first definition fragment files are loaded from the video server.
  • the configuration file information processing in the subsequent step and the loading of the second sharpness video are performed simultaneously during the playing of the first fragment file, and the second is completed before the first fragment file is played.
  • the fragmentation file of the definition video is loaded into the second level buffer area, so that when the first fragment file is played, the second definition video can be directly played to maintain continuity.
  • step 204 the video player is to view the next second definition video and the current broadcast according to the configuration file of the second definition video. Whether the first sharpness video of the video satisfies the condition of smooth switching, that is, whether the fragment files of two different definition videos can be seamlessly connected. If the result of the determination is that the switch can be smoothly switched, step 205 is executed to load the second sharpness video to the second level buffer area, and wait for the end of the first fragment file of the current first definition video to be switched.
  • the smoothing condition is determined as follows: after obtaining the configuration file, the video player generates a new definition fragment list, which is stored in the form of a vector array, and each element in the array is a fragmentation information.
  • the list is fragmentation information, and each fragmentation information includes time information and address information of the corresponding fragment file.
  • the fragmentation information i includes start and end time information and storage address information of the fragment file i.
  • a way to find the second fragment file is to start from the 0th fragment of the new definition list and determine the current fragment end time in turn, if the difference between the start time of the i-th fragment and the current fragment end time in the list.
  • the absolute value which is less than or equal to the absolute value of the difference between the start time of the i+1th fragment and the current end time of the fragment, then the old sharpness fragment currently being played is considered to be the i-1th fragment in the new definition list.
  • the two fragment files correspond to the time that the currently playing time is within the time period in which the i-1th fragment file is located.
  • the first fragment file currently being played is corresponding to the i-th fragment file.
  • the video player determines that the first fragment file currently being played corresponds to the i-th fragment file (second fragment file) in the second definition video. Then, it is determined whether the first fragment file and the second fragment file satisfy a smooth switching condition. If the end time of the first fragment file and the second fragment file are the same, it indicates that the smooth switching condition is satisfied, and step 204 is continued to load the second definition video.
  • the time period of the first fragment file and the second fragment file is the 10th to 25th seconds of the entertainment program, and the end time of both is the same as the 25th second; or, the first fragment file may be The time period is from 15th to 25th, and the time period of the second fragment file is from 10th to 25th.
  • the start time of the two is different but the end time is the same, these are in accordance with the smooth switching condition, that is, As long as the end time of the current first fragment file and the i-th fragment file are the same, the i+1th fragment file can be seamlessly coupled with the first fragment file.
  • the video player may search for a third fragment file in the first definition video that is temporally located after the first fragment file, and determine that the smoothness switching condition is satisfied in the second definition video corresponding to the third fragment file.
  • the fourth fragment file may search for a third fragment file in the first definition video that is temporally located after the first fragment file, and determine that the smoothness switching condition is satisfied in the second definition video corresponding to the third fragment file.
  • the next fragment file in the first definition video that is temporally after the first fragment file is the third fragment file, and the time period is the first 20 seconds to 30 seconds; if each fragment file in the second definition video is found to be the same as the end time of the first fragment file, it can continue to determine whether there is another fragment file end time after the first fragment file identical. For example, (there is a slice file whose end time is the 30th second in the video file of the second definition), it may be found that the end time of the third fragment file is the same as the end time of the fourth fragment file in the second definition video. .
  • the manner of obtaining the third-definition video fragment file and the fourth fragment file refer to the method for obtaining the second-definition video fragment file, which is not described here.
  • the video player can extend the playing time of the first definition video, and after playing the current first fragment file, not switching to the second definition video, but continuing to play the third fragment file, and And loading, according to the address information and the time information, the fragment files of the second definition video that are arranged after the fourth fragment file into the preset secondary buffer area.
  • the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • This approach also achieves a smooth switching of the first sharpness video and the second sharpness video, except that the switching time is slightly delayed.
  • the above third fragment file is not necessarily the first fragment file. Adjacent files may be one of the other individual fragment files that are listed after the first fragment file.
  • the video player finds that the first fragment file and the second fragment file do not satisfy the smooth switching condition after comparison, the video player will stop the first fragment file currently being played and load a fragment in the second definition video.
  • the file, the time period of the fragment file is close to the stop playing time of the current first fragment file, and is repositioned when the fragment file is played, and the time to jump to the current stoppage of the first fragment file is resumed.
  • the video player determines that the fragment file of the above two definition videos does not satisfy the smooth switching condition, the current first fragment file is playing until the 25th second, then the first fragment file is stopped from the 25th second (not necessary) Waiting until the end time of the first fragment file), and finding that the time period of the closest fragment file in the second definition video is 20 seconds to 35 seconds, then the fragment file can be loaded and jumped to the fragment The 25th second of the file continues to play.
  • the video player When the first fragment file and the second fragment file satisfy the smooth switching condition, the video player performs step 205, acquiring address information of each fragment file after the second fragment file according to the configuration file of the second definition video, and according to The address information loads the fragment files of the second definition video into the secondary buffer area.
  • the video player stops the timer 4 for resetting the decoding package, and then starts the timer 1, waiting for the data of the current first fragment file to be all decoded and imported into the video stream. Then, the video player starts the timer 4 for resetting the decoding package, and clears the second level buffer after resetting the decoding package.
  • Decoding and transcoding plug-in used to decode and format the data in the fragment file of the L2 cache, so that it can be imported into the video stream for playback; for example, based on the open source HLS package encapsulation plug-in on the network. Secondary package for converting M3U8 files to FLV files.
  • Timer 4 If the decoding-to-encapsulation queue does not contain any data, or the first data in the queue does not exist, the queue is cleared, and the decoding-to-encapsulation plug-in is reset. Otherwise do the above again.
  • the video player waits for the decoding of the data in the first fragment file to complete, and then starts the fragment loader to load the i+1th fragment file of the second definition video, and the i+1th fragment file is ranked in the second fragment.
  • the target fragment file adjacent to the file.
  • the video player can obtain the address information of the target fragment file according to the configuration file, and obtain the target fragment according to the address information.
  • the file starts loading the second definition video into the second level buffer area, wherein each fragment file in the second definition video has its own address information when loading from the target fragment file, and downloads each fragment according to the address information. file.
  • the loading of the fragment files after the second fragment file in the second definition video into the preset secondary buffer area may be sequentially loaded according to the time information of the fragment files. For example, each fragment file is sequentially loaded into the second-level cache area according to the order of playback, and the fragment file with the highest time is used as the first fragment file in the second-level cache area.
  • the timer 2, the timer 3, and the timer 5 for detecting whether or not to start playing the new definition video are also started at the same time. That is, when the second definition video is started to be loaded from the video server, the normal playback process will be entered. After the downloaded fragment file of the second definition video is loaded, the video stream is not directly imported, but is first put into the second level cache. Zone, and according to the mechanism of timer 2 and timer 3, when the last fragment file in the second level buffer area is less than 1 minute of the current playing time, the next new fragment file is loaded, and the currently playing video is played. When the stream playable time is less than 10 seconds, data is requested from the secondary cache area. At the same time, if the first fragment file of the L2 cache is not the last fragment of the buffer, the fragment is moved out of the L2 cache.
  • Timer 5 If the current playing time exceeds the time recorded in the first data in the definition change queue, it is considered that the video player has started playing the second definition video, and the video player can modify the user interface (User Interface, referred to as: UI), otherwise perform the above operation again. That is, when the video player detects that the current playing time has exceeded the end time of the first fragment file, it determines that the second sharpness video has started playing, and changes the video playing interface to an interface corresponding to the second sharpness, which is different. The video can be displayed in different playback interfaces.
  • User Interface User Interface
  • the definition change queue mentioned above may be recorded by the video player when receiving the definition switching instruction, and the definition change queue includes an end time of the fragment file currently being played when the definition switching instruction is received. (that is, the time when the sharpness switching will occur), and the indication of the new definition to switch to, that is, to record in the modified queue what kind of sharpness is switched to at an end time.
  • the current fragment end time and the new definition identifier can be recorded at the end of the definition change queue.
  • the definition change queue is May have recorded the end time of the current fragment is with HD
  • the player can replace the existing "high definition” in the queue with the newly received "super clear”, and terminate the last switching process, and switch according to the latest updated definition.
  • the video player obtains the latest ultra-clear configuration file from the video server to determine the smoothing condition.
  • the timer 5 described above can notify the interface display module of the video player to change the UI corresponding to the definition when monitoring the start of playing the second definition video; in actual applications, the video player can also receive the resolution.
  • the UI is also modified. For example, when receiving the instruction to perform the sharpness switching, the video player may modify the variable value as the switching flag to be true, indicating that the switching process is being executed, and the UI modification may be performed at the same time, for example, the interface display prompts that the sharpness switching is being performed. .
  • the video player is currently the first of the first sharpness video currently being played when switching from the first definition video to the second definition video.
  • the fragment file will be decoded and played all the time; and before the end of the first fragment file, the following processing is completed: the configuration file of the second definition video is obtained from the video server, and the fragment files of the two definition videos can be determined according to the configuration file.
  • the seam is stitched, and the second fragment file of the second definition video is pre-downloaded to the second level buffer; when the first fragment file is played, the second fragment file is continued to be played.
  • the first definition video is not stopped but is played all the time.
  • the second level buffer is set so that the second definition video is not finished when the first definition video playback is not finished. Has been preloaded from the video server and put into the buffer area; thirdly, the second fragment file of the second definition video and the first fragment file of the first definition video can be seamlessly connected in time, without the need for tradition Jumps in technology that ensure smooth switching of video sharpness.
  • the embodiment of the present invention further provides a video player.
  • the video player includes the following functional units to implement the above-described video sharpness switching method.
  • the video player includes: a cache control unit cache control module 51, an instruction receiving unit instruction receiving module 52, and a switching processing unit switching processing module 53;
  • the cache control module 51 is configured to load the first fragment file of the first definition video from the preset secondary buffer area to the video stream buffer area for playing;
  • the instruction receiving module 52 is configured to receive a sharpness switching instruction configured to indicate switching from the first definition video to the second definition video;
  • the switching processing module 53 is configured to acquire, according to the definition switching instruction received by the instruction receiving module 52, a configuration file of the second definition video from the video server, where the configuration file includes: each fragment file in the second definition video Time information and address information; and determining, according to the time information, a second fragment file that satisfies a smooth switching condition in the second definition video corresponding to the first fragment file;
  • the cache control module 51 is further configured to sequentially load the fragment files that are after the second fragment file in the second definition video into the preset second level cache according to the address information and the time information. After the first fragment file is played, the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • the cache control module 51 is further configured to stop importing other fragment files after the first fragment file of the first definition video in the second level buffer into the video stream buffer after the instruction receiving module 52 receives the definition switching instruction. And stop loading other fragmented files of the first sharpness video into the secondary cache.
  • the switching processing module 53 is configured to determine, according to the time information, the second fragment file that satisfies the smooth switching condition in the second sharpness video corresponding to the first fragment file, and specifically configured to determine the end time and the first fragment file. The same second fragment file.
  • the switching processing module 53 is further configured to: when the second fragment file that satisfies the smooth switching condition in the second definition video corresponding to the first fragment file is not found according to the time information, a third fragment file in the first definition video that is temporally located after the first fragment file, and determines a fourth fragment file in the second definition video corresponding to the third fragment file that satisfies a smooth switching condition;
  • the cache control module 51 is further configured to sequentially load the fragment files of the second definition video after the fourth fragment file into the preset second level cache according to the address information and the time information. After the third fragment file is played, the fragment file is loaded from the preset second level buffer to the video stream buffer, and the second definition video is started to be played.
  • the cache control unit cache control module 51 when loading the fragment files that are arranged after the second fragment file in the second definition video into the preset second level buffer area, according to the The time information of the fragment file is loaded sequentially.
  • the embodiment of the present application further provides a video playing system.
  • the video playing system includes a video server 61 and a video player 62, wherein the video server 61 is configured to store a to-be-played video.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种视频清晰度切换方法、视频播放器和视频播放系统,其中方法包括:从预设二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;接收清晰度切换指令;根据该指令从视频服务器获取第二清晰度视频的配置文件,配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;依序将第二清晰度视频中排在第二碎片文件之后的各碎片文件加载入二级缓存区;在第一碎片文件播放结束后加载碎片文件至视频流缓存区开始播放第二清晰度视频。本申请实现了不同视频清晰度之间的无缝切换。

Description

一种视频清晰度切换方法、视频播放器和视频播放系统 技术领域
本申请涉及视频技术,尤其涉及一种视频清晰度切换方法、视频播放器和视频播放系统。
背景技术
随着网络技术的发展,目前人们经常使用视频播放器观看自己喜欢的视频资源。视频资源包括多种不同类型的清晰度,比如普通、高清和超清,观看者可以选择观看不同清晰度的视频,当观看者更换不同清晰度的视频时可以称为视频清晰度的切换。
目前,视频播放器在执行清晰度切换时,通常是先停止当前播放的视频,然后加载新清晰度的视频并跳转至视频终止时间进行播放,但是这种切换方式会造成视频播放的不连贯,影响用户观看体验。
发明内容
本申请实施例提供一种视频清晰度切换方法、视频播放器和视频播放系统,用以解决目前对视频清晰度进行切换时存在的视频播放不连贯的问题。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种视频清晰度切换方法,包括:
从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
接收清晰度切换指令,所述清晰度切换指令用于指示从第一清晰度视频切换到第二清晰度视频;
根据接收到的清晰度切换指令从视频服务器获取第二清晰度视频的配置文件,所述配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;
并根据所述时间信息确定与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;
根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区;
在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
结合第一方面,在第一种可能的实现方式中,所述接收清晰度切换指令之后,还包括:停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件。
结合第一方面,在第二种可能的实现方式中,所述根据时间信息确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件,包括:确定结束时间与所述第一碎片文件相同的第二碎片文件。
结合第一方面,在第三种可能的实现方式中,还包括:若根据所述时间信息,未找到与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,则查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件;根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
结合第一方面,在第四种可能的实现方式中,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,是按照所述各碎片文件的时间信息依序加载。
第二方面,提供一种视频播放器,包括:缓存控制模块、指令接收模块、切换处理模块和播放处理单元;其中,
所述缓存控制模块,配置为从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
所述指令接收模块,配置为接收清晰度切换指令,所述清晰度切换指令用于指示从第一清晰度视频切换到第二清晰度视频;
所述切换处理模块,配置为根据所述指令接收模块接收到的清晰度切换指令,从视频服务器获取第二清晰度视频的配置文件,所述配置文件包 括:第二清晰度视频中各碎片文件的时间信息和地址信息;并根据所述时间信息确定与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;
所述缓存控制模块,还配置为根据所述地址信息和时间信息依序将加载第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
结合第二方面,在第一种可能的实现方式中,所述缓存控制模块,还配置为在所述指令接收模块接收清晰度切换指令之后,停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件。
结合第二方面,在第二种可能的实现方式中,切换处理模块,在根据时间信息确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,具体配置为确定结束时间与第一碎片文件相同的第二碎片文件。
结合第二方面,在第三种可能的实现方式中,所述切换处理模块,还配置为在根据所述时间信息,未找到与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件;
所述缓存控制模块,还配置为根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
结合第二方面,在第四种可能的实现方式中,所述缓存控制模块,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,是按照所述各碎片文件的时间信息依序加载。
第三方面,提供一种视频播放系统,包括:视频服务器和如上述视频播放器,其中,所述视频服务器配置为存储待播放视频对应的不同清晰度的碎片文件和配置文件,所述配置文件包括该视频中各碎片文件的时间信息和地址信息。
本申请实施例中,通过在根据视频配置文件确定与当前播放的第一清晰度视频对应的第二清晰度视频满足平滑切换条件时,加载该第二清晰度视频从对应的碎片文件处进行播放,实现了不同视频清晰度之间的无缝切换,使得在切换清晰度时视频播放不会中断。
附图说明
图1为本申请实施例提供的视频清晰度切换方法的应用系统架构图;
图2为本申请实施例提供的视频清晰度切换方法的原理示意图;
图3为本申请实施例提供的视频清晰度切换方法的流程示意图;
图4为本申请实施例提供的视频清晰度切换方法中的碎片信息存储图;
图5为本申请实施例提供的视频播放器的结构示意图;
图6为本申请实施例提供的视频播放系统的结构示意图。
具体实施方式
为使本发明本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明本申请实施例中的附图,对本发明本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明本申请一部分实施例,而不是全部的实施例。基于本发明本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明本申请保护的范围。
下面结合说明书附图,对本申请实施例作进一步详细描述。
视频播放器是用于播放视频节目的客户端,例如乐视视频播放器、搜狐视频播放器等,假设用户当前正在使用某视频播放器,观看自己喜欢的娱乐节目,该娱乐节目正在用普通版本播放,该用户想要切换至高清版本,则用户点击该视频播放器的清晰度选项设置,选择了“高清”清晰度,则此时该视频播放器要根据用户的选择,切换到为该用户播放高清版本的娱乐节目。视频播放器将通过执行本申请实施例提供的视频清晰度切换方法,实现该切换过程,具体如下:
图1示出了本申请实施例提供的视频清晰度切换方法的应用系统架构,在视频播放器播放视频的应用中,涉及到视频服务器和视频播放器(该 视频播放器可以是运行在用户的笔记本电脑上)的两者配合和交互,视频播放器所播放的视频节目存储在视频服务器端,视频播放器要从视频服务器下载该视频节目的相关数据,并对该数据进行解码后进行播放。
图2是在图1所示应用系统架构的基础上,简单示出了视频服务器和视频播放器之间进行交互播放视频节目的原理,如图2所示,视频节目在服务器端进行存储时,可以包括两部分,以上述的娱乐节目为例,该娱乐节目存储为“碎片文件”和“配置文件”两部分,其中,碎片文件是将该节目划分为多个碎片,比如一个20分钟时长的节目,从第1秒钟至第10秒钟的视频作为一个碎片文件,从第10秒钟至第25秒钟作为另一个碎片文件等,每个碎片文件中包含该时间段视频的视频数据,本申请实施例假设将娱乐节目划分为X个碎片文件。此外,配置文件是对于碎片文件的相关信息,比如碎片文件1对应的“时间信息1”和“地址信息1”,其中的时间信息1是指该碎片文件1的起始时间和结束时间(例如,对于上述举例的从第1秒钟至第10秒钟的视频作为一个碎片文件,该碎片文件的起始时间是第1秒钟,结束时间是第10秒钟),地址信息1是指该碎片文件1在视频服务器的存储地址。
本申请实施例中,视频播放器将要播放该娱乐节目时,会从视频服务器下载该节目的碎片文件,并将碎片文件放入二级缓存区,二级缓存区用于存放已经被加载完成,但尚不必被导入视频流的碎片文件。当需要播放时,视频播放器就从该二级缓存区中取出数据进行解码转封装后导入视频流播放。
在上述原理介绍的基础上,本申请实施例的视频清晰度切换方法包括如下步骤:
步骤201、从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
步骤202、接收清晰度切换指令,该清晰度切换指令用于指示从第一清晰度视频切换到第二清晰度视频;
步骤203、根据接收到的清晰度切换指令从视频服务器获取第二清晰度视频的配置文件,所述配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;
步骤204、根据所述时间信息,确定与所述第一碎片文件对应的第二 清晰度视频中的满足平滑切换条件的第二碎片文件;
步骤205、根据地址信息和时间信息依序将第二清晰度视频中排在第二碎片文件之后的各碎片文件加载入二级缓存区;
步骤206、在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
下面对上述流程进行更加详细的描述:本申请实施例中的视频播放器,在视频流缓存区之外,还增设了二级缓存区;视频播放器从视频服务器获取的碎片文件等预先放置在该二级缓存区,后续从二级缓存区加载碎片文件至视频流缓存区进行播放视频。
具体的,在步骤201中,假设视频播放器正在播放第一清晰度视频的第一碎片文件,该第一碎片文件是从预设的二级缓存区中加载至视频流缓存区进行播放的;该第一清晰度例如是“高清”,该高清视频也被划分为多个碎片文件,当前正在解码播放的是其中的第一碎片文件。
在步骤202中,视频播放器接收到清晰度切换指令,用于指示从第一清晰度视频切换到第二清晰度视频,该第二清晰度例如是“超清”,当然,用户也可以从“超清”切换到“高清”。具体实施中,清晰度切换指令可以是用户点击视频播放器的清晰度选项,选择期望观看的清晰度类型。
视频播放器根据用户选择的第二清晰度,向视频服务器请求获取该第二清晰度视频的配置文件。需要说明的是,视频服务器侧通常存储有多个清晰度版本的视频配置文件,比如普遍、高清和超清,根据用户选择的清晰度提供对应的配置文件。本申请实施例中,不同清晰度版本的视频,其在划分碎片文件时可以采用相同的划分粒度,比如,对于同一个视频节目,其高清版本的视频每10秒时长划为一个碎片文件(当然各个碎片文件的时长可以是不同的),其超清版本的视频也是每10秒时长划分为一个碎片文件;或者,即使各个清晰度版本的视频其碎片文件的划分不相同,但是至少要确保要切换时进行衔接的第一清晰度和第二清晰度的两个碎片从时间上要能够衔接起来,这点可以参见后续步骤203。
此外,需要说明的是,视频播放器在接收到上述的清晰度切换指令时,除了要从视频服务器获取第二清晰度视频的配置文件,还需要同时停止对于第一清晰度视频的相关播放处理,该相关播放处理包括:停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓 存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件,即除了当前正在播放的碎片文件,第一清晰度视频的其他碎片文件不再继续解码和加载。具体是停止如下的定时器1、定时器2和定时器3;
定时器1:用于等待当前正在被解码的碎片全部导入视频流。该定时器1的工作机制是,如果二级缓存区内首个碎片文件不存在可读取数据并且该碎片文件是一个已经被加载完的完整碎片,或者二级缓存区内不存在任何碎片文件,则认为当前正在被解码的碎片已经全部导入视频流,同时停止该定时器1。否则再次执行上述操作。
定时器2:用于控制视频数据解码导入视频流,该定时器的工作机制是,当二级缓存区内有碎片数据时,取出缓存区内首个碎片文件(这里的首个指的是二级缓存区中在时间上排序位于首位的碎片),判断该碎片的起始播放时间是否晚于当前播放时间10秒以内;如果是,则将该碎片数据解码转封装并导入视频流。接下来,如果该碎片是一个被加载完的完整碎片,并且二级缓存区内存在其他碎片,则将该碎片文件移除缓存区。然后再次执行上述操作。
定时器3:用于控制加载新的碎片文件,该定时器的工作机制是,当二级缓存区内有碎片数据时,取出缓存区内最后一个碎片文件。判断该碎片的起始播放时间是否晚于当前播放时间60秒以内。如果是,则开始加载该碎片序号+1的文件数据。然后再次执行上述操作。
即视频播放器在接收到清晰度切换指令时,需要停止有关播放第一清晰度视频的相关处理,不再继续解码和加载。但是,需要说明的是,当前正在解码的第一清晰度视频的第一碎片文件,仍然要继续解码播放直至该碎片结束,要保持该第一碎片文件处于一直播放的状态,而上述仅仅是二级缓存区内的其他第一清晰度视频的碎片文件不再解码,也不再从视频服务器加载新的第一清晰度碎片文件。并且,后续步骤中的配置文件信息处理以及第二清晰度视频的加载等,都是在该第一碎片文件播放的过程中同时进行的,在该第一碎片文件播放结束之前,要完成第二清晰度视频的碎片文件的加载放入二级缓存区,这样当第一碎片文件播放结束时,就能直接继续播放第二清晰度视频,保持连续性。
在步骤203中视频播放器获取到配置文件后,在步骤204中,视频播放器要根据第二清晰度视频的配置文件,查看下第二清晰度视频与当前播 放的第一清晰度视频是否满足平滑切换的条件,即两个不同清晰度视频的碎片文件是否能够无缝衔接。如果判断结果是可以平滑切换,再执行步骤205,加载第二清晰度视频到二级缓存区,等待当前的第一清晰度视频的第一碎片文件播放结束时进行切换。
平滑条件的判断具体如下:视频播放器在获取到配置文件后,生成新清晰度的碎片列表,该碎片列表以矢量数组的形式存储,数组中的每一个元素即为一个碎片信息。可以参见图4,该列表中是碎片信息,每个碎片信息包括对应的碎片文件的时间信息和地址信息,例如,碎片信息i中包括碎片文件i的起止时间信息和存储地址信息。
遍历该碎片列表,先根据时间信息寻找与当前播放的第一碎片文件对应的第二清晰度视频的第二碎片文件,其中需要说明的是,上述在将获取的各碎片信息进行存储时,可以按照时间顺序依序存储,这样在遍历碎片列表时能够提高遍历的效率。一种寻找第二碎片文件的方式是,从新清晰度列表的第0个碎片开始,依次与当前碎片结束时间进行判断,如果列表中第i个碎片的起始时间与当前碎片结束时间的差的绝对值,小于等于第i+1个碎片的起始时间与当前碎片结束时间的差的绝对值,那么则认为当前正在播放的旧清晰度碎片与新清晰度列表中第i-1个碎片相对应,这两个碎片文件相对应即当前正在播放的时间处于该第i-1个碎片文件所处的时间段内。
例如,新清晰度列表中碎片起止时间依次为0-4秒,4-10秒,10-20秒,20-25秒。如果当前碎片结束时间与列表中碎片起始时间都不相同,则无论i值为多少,均不会满足切换条件;如果当前碎片结束时间与列表中某一碎片起始时间相同时,假设当前碎片结束时间为10秒,从i=0开始,列表中第0个碎片起始时间与当前碎片结束时间差值为10,第1个碎片起始时间与当前碎片结束时间差值为6,可知10>6不满足条件,那么继续遍历i=1时,运算结果为6>0依旧不满足条件,继续遍历i=2时,运算结果为0<10,满足条件,得知当前播放碎片与列表中第i-1个碎片,即4-10秒的碎片相对应。
但是为了描述简便,在后续的实施例中,均是以当前播放的第一碎片文件与第i个碎片文件对应为例。视频播放器在确定当前播放的第一碎片文件与第二清晰度视频中的第i个碎片文件(第二碎片文件)相对应时, 再接着判断该第一碎片文件与第二碎片文件是否满足平滑切换条件。如果第一碎片文件和第二碎片文件的结束时间相同,则表明满足平滑切换条件,继续执行步骤204,加载第二清晰度视频。
例如,第一碎片文件和第二碎片文件的时间段都是该娱乐节目的第10秒至第25秒,那么两者的结束时间相同都是第25秒;或者,也可能第一碎片文件的时间段是第15秒至第25秒,第二碎片文件的时间段是第10秒至第25秒,尽管两者的起始时间不同但是结束时间是相同的,这些都符合平滑切换条件,即只要当前的第一碎片文件和第i碎片文件的结束时间相同,那么第i+1碎片文件就能够与第一碎片文件无缝衔接。
此外,还可能出现的情况是,视频播放器根据所述时间信息,未找到与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件,这种情况下,视频播放器可以查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件。
比如,假设第一碎片文件的时间段是第10秒至第20秒,第一清晰度视频中时间上排在该第一碎片文件之后的下一个碎片文件是第三碎片文件,时间段是第20秒至第30秒;如果第二清晰度视频中的各个碎片文件中发现没有与第一碎片文件的结束时间相同的,则可以继续判断是否有与第一碎片文件之后的其他碎片文件结束时间相同的。例如(在第二清晰度的视频碎片文件中存在结束时间为第30秒的片文件,)可能发现,第三碎片文件的结束时间与第二清晰度视频中的第四碎片文件的结束时间相同。第三清晰度视频碎片文件和第四碎片文件的获取方式参见第二清晰度的视频碎片文件的获取方式,此处不再赘述。
那么,视频播放器就可以延长第一清晰度视频的播放时间,在播放完当前的第一碎片文件后,暂不切换至第二清晰度视频,而是继续播放上述的第三碎片文件,并根据地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区。在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。这种方式也实现了第一清晰度视频和第二清晰度视频的平滑切换,只是将切换的时间稍微延迟了一些。此外,需要说明的是,上述的第三碎片文件不一定是与第一碎片文件 相邻的文件,可能是排在第一碎片文件之后的其他各个碎片文件的其中一个。
如果视频播放器在经过比较发现第一碎片文件和第二碎片文件不满足平滑切换条件,则视频播放器将停止当前正在播放的第一碎片文件,并加载第二清晰度视频中的某个碎片文件,该碎片文件的时间段接近当前的第一碎片文件的停止播放时间,并且在播放该碎片文件时进行重新定位,跳转到第一碎片文件的当前停止播放的时间继续播放即可。例如,假设视频播放器确定上述两个清晰度视频的碎片文件不满足平滑切换条件时,当前第一碎片文件正在播放至第25秒,那就从该第25秒停止播放第一碎片文件(不必等待至第一碎片文件的结束时间),而发现第二清晰度视频中的最接近的碎片文件的时间段是第20秒至35秒,那么可以将该碎片文件加载,并跳转至该碎片文件的第25秒继续播放。
在第一碎片文件和第二碎片文件满足平滑切换条件时,视频播放器执行步骤205,根据第二清晰度视频的配置文件,获取该第二碎片文件之后的各碎片文件的地址信息,并根据该地址信息将第二清晰度视频的各碎片文件加载入二级缓存区。
具体的,在确定可以进行平滑切换后,视频播放器停止用于重置解码转封装插件的定时器4,然后启动定时器1,等待当前的第一碎片文件的数据全部解码导入视频流。接着视频播放器启动用于重置解码转封装插件的定时器4,在重置解码转封装插件完毕后,清空二级缓存区。
解码转封装插件:用于对二级缓存区的碎片文件中的数据进行解码和格式转换,使之成为可以导入视频流进行播放的数据;例如是基于网络上开源的HLS转封装插件,再进行二次封装,用于将M3U8文件转为FLV文件。
定时器4:如果解码转封装队列中不含任何数据,或者队列中首个数据不存在可读取数据,则清空队列,重置解码转封装插件。否则再次执行上述操作。
即视频播放器要等待第一碎片文件中的数据解码完成,再启动碎片加载器加载第二清晰度视频的第i+1个碎片文件,该第i+1个碎片文件是排在第二碎片文件之后相邻的目标碎片文件。具体的,该视频播放器可以根据配置文件获取目标碎片文件的地址信息,并根据该地址信息从目标碎片 文件开始加载第二清晰度视频放入二级缓存区,其中在从目标碎片文件开始加载时,第二清晰度视频中的每一个碎片文件都有自己的地址信息,根据该地址信息下载各个碎片文件。
其中,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,可以是按照所述各碎片文件的时间信息依序加载,比如按照播放的先后顺序将各个碎片文件依序加载至二级缓存区,将时间最靠前的碎片文件作为二级缓存区内的首个碎片文件。
在开始加载第二清晰度视频的碎片文件时,也同时启动定时器2、定时器3以及用于检测是否开始播放新清晰度视频的定时器5。即在开始从视频服务器加载第二清晰度的视频时,将进入正常播放流程,下载的第二清晰度视频的碎片文件被加载后,并不直接导入视频流,而是先放入二级缓存区,并根据定时器2和定时器3的机制,当二级缓存区内最后一个碎片文件的时间晚于当前播放时间1分钟以内时开始加载下一个新的碎片文件,并且在当前播放的视频流可播放时间小于10秒时,从二级缓存区请求数据。同时,如果二级缓存区的首个碎片文件不是缓存区的最后一个碎片则将该碎片移出二级缓存区。
定时器5:如果当前播放时间超过清晰度变更队列中第一项数据内记录的时间,则认为视频播放器已经开始播放第二清晰度视频,视频播放器可以修改用户界面(User Interface,简称:UI),否则再次执行上述操作。即视频播放器在检测到当前播放时间已经超过所述第一碎片文件的结束时间时,确定第二清晰度视频已经开始播放,将视频播放界面修改为与第二清晰度对应的界面,不同清晰度的视频可以采用不同的播放界面显示。
其中,上述提到的清晰度变更队列,可以是视频播放器在接收到清晰度切换指令时记录的,该清晰度变更队列中包括接收到清晰度切换指令时当前正在播放的碎片文件的结束时间(也就是将要发生清晰度切换的时间)、以及切换到的新清晰度的标示,即要在改队列中记录在某个结束时间切换到何种清晰度。该当前碎片结束时间和新清晰度标识可以记录在清晰度变更队列的末尾。
当用户进行连续的清晰度切换时,比如用户由当前播放的“普通”选择了切换到“高清”,可能由于点击错误又立刻更改选择了“超清”,那么此时,清晰度变更队列中可能已经记录了当前碎片的结束时间是与高清 对应的,在接收到超清信息后,播放器可以用最新接到的“超清”来替换队列中已有的“高清”,并且终止上一个切换流程,依最新更新的清晰度来进行切换。变化后,视频播放器就从视频服务器获取最新的超清的配置文件来进行平滑条件的判断。
此外,上述描述的定时器5在监测到开始播放第二清晰度视频时,可以通知视频播放器的界面显示模块更改清晰度对应的UI;实际应用中,视频播放器还可以在接收到清晰度切换指令时,也进行UI的修改。比如,视频播放器在接收到指示进行清晰度切换时,可以将作为切换标记的变量值修改为true,表示正在执行切换流程,则同时可以进行UI修改,例如通过界面显示提示正在进行清晰度切换。
由上述本实施例的视频清晰度切换方法可以看到,该方法中视频播放器在从第一清晰度视频切换到第二清晰度视频时,当前正在播放的第一清晰度视频的当前第一碎片文件会一直解码播放;并且在第一碎片文件播放结束之前,完成如下处理:即从视频服务器获取第二清晰度视频的配置文件,根据配置文件确定这两个清晰度视频的碎片文件能够无缝衔接,并且将第二清晰度视频的第二碎片文件预先下载到二级缓存区;当第一碎片文件播放结束时,继续播放该第二碎片文件。
这个过程中有如下三点,第一,第一清晰度视频没有停止而是在一直播放;第二,二级缓存区的设置使得在第一清晰度视频播放尚未结束时,第二清晰度视频已经预先从视频服务器加载并放入到缓存区中;第三,第二清晰度视频的第二碎片文件与第一清晰度视频的第一碎片文件,从时间上能够无缝衔接,不需要传统技术中的跳转,这些因素保证了视频清晰度的平滑切换。
根据上述的方法,本发明本申请实施例还提供了一种视频播放器,参照图5所示,该视频播放器包括如下的各个功能单元,以实现上述的视频清晰度切换方法。该视频播放器包括:缓存控制单元缓存控制模块51、指令接收单元指令接收模块52和切换处理单元切换处理模块53;其中,
缓存控制模块51,配置为从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
指令接收模块52,配置为接收清晰度切换指令,所述清晰度切换指令配置为指示从第一清晰度视频切换到第二清晰度视频;
切换处理模块53,配置为根据所述指令接收模块52接收到的清晰度切换指令,从视频服务器获取第二清晰度视频的配置文件,所述配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;并根据所述时间信息确定与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;
该缓存控制模块51,还配置为根据所述地址信息和时间信息依序将加载第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
进一步的,缓存控制模块51,还配置为在指令接收模块52接收清晰度切换指令之后,停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件。
进一步的,切换处理模块53,在根据时间信息确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件,具体配置为确定结束时间与所述第一碎片文件相同的第二碎片文件。
进一步的,所述切换处理模块53,还配置为在根据所述时间信息,未找到与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件;
所述缓存控制模块51,还配置为根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
进一步的,缓存控制单元缓存控制模块51,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,是按照所述各碎片文件的时间信息依序加载。
根据上述的方法,本申请实施例还提供了一种视频播放系统,参照图6所示,该视频播放系统包括视频服务器61和视频播放器62,其中,所述视频服务器61用于存储待播放视频对应的不同清晰度的碎片文件和配置 文件,所述配置文件包括该视频中各碎片文件的时间信息和地址信息;而所述视频播放器62可以参照上述图5所示的视频播放器,以实现上述的视频清晰度切换方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

  1. 一种视频清晰度切换方法,其特征在于,包括:
    从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
    接收清晰度切换指令,所述清晰度切换指令用于指示从第一清晰度视频切换到第二清晰度视频;
    根据接收到的清晰度切换指令从视频服务器获取第二清晰度视频的配置文件,所述配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;
    并根据所述时间信息确定与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;
    根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区;
    在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
  2. 根据权利要求1所述的方法,其特征在于,所述接收清晰度切换指令之后,还包括:
    停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件。
  3. 根据权利要求1所述的方法,其特征在于,所述根据时间信息确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件,包括:
    确定结束时间与所述第一碎片文件相同的第二碎片文件。
  4. 根据权利要求1所述的方法,其特征在于,还包括:
    若根据所述时间信息,未找到与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,则查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件;
    根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区;
    在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
  5. 根据权利要求1所述的方法,其特征在于,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,是按照所述各碎片文件的时间信息依序加载。
  6. 一种视频播放器,其特征在于,包括:缓存控制模块、指令接收模块和切换处理模块;其中,
    所述缓存控制模块,配置为从预设的二级缓存区中加载第一清晰度视频的第一碎片文件至视频流缓存区进行播放;
    所述指令接收模块,配置为接收清晰度切换指令,所述清晰度切换指令用于指示从第一清晰度视频切换到第二清晰度视频;
    所述切换处理模块,配置为根据所述指令接收模块接收到的清晰度切换指令,从视频服务器获取第二清晰度视频的配置文件,所述配置文件包括:第二清晰度视频中各碎片文件的时间信息和地址信息;并根据所述时间信息确定与所述第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件;
    所述缓存控制模块,还配置为根据所述地址信息和时间信息依序将加载第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第一碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
  7. 根据权利要求6所述的视频播放器,其特征在于,
    所述缓存控制模块,还配置为在所述指令接收模块接收清晰度切换指令之后,停止将二级缓存区中第一清晰度视频的第一碎片文件之后的其他碎片文件导入视频流缓存区,并停止向二级缓存区加载第一清晰度视频的其他碎片文件。
  8. 根据权利要求6所述的视频播放器,其特征在于,
    所述切换处理模块,在根据时间信息确定与第一碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,具体配置为确定结束时间与所述第一碎片文件相同的第二碎片文件。
  9. 根据权利要求6所述的视频播放器,其特征在于,
    所述切换处理模块,还配置为在根据所述时间信息,未找到与所述第一 碎片文件对应的第二清晰度视频中的满足平滑切换条件的第二碎片文件时,查找第一清晰度视频中在时间上位于第一碎片文件之后的第三碎片文件,并确定与所述第三碎片文件对应的第二清晰度视频中的满足平滑切换条件的第四碎片文件;
    所述缓存控制模块,还配置为根据所述地址信息和时间信息依序将第二清晰度视频中排在所述第四碎片文件之后的各碎片文件加载入所述预设的二级缓存区;在所述第三碎片文件播放结束后,从所述预设的二级缓存区加载碎片文件至视频流缓存区,开始播放所述第二清晰度视频。
  10. 根据权利要求6所述的视频播放器,其特征在于,
    所述缓存控制模块,在将第二清晰度视频中排在所述第二碎片文件之后的各碎片文件加载入所述预设的二级缓存区时,是按照所述各碎片文件的时间信息依序加载。
  11. 一种视频播放系统,其特征在于,包括:视频服务器和如权利要求6至10任意一项所述的视频播放器,其中,所述视频服务器用于存储待播放视频对应的不同清晰度的碎片文件和配置文件,所述配置文件包括该视频中各碎片文件的时间信息和地址信息。
PCT/CN2015/089182 2014-11-18 2015-09-08 一种视频清晰度切换方法、视频播放器和视频播放系统 Ceased WO2016078468A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/246,388 US20160365123A1 (en) 2014-11-18 2016-08-24 Method and electronic device for video definition switching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410659769.4 2014-11-18
CN201410659769.4A CN105657520A (zh) 2014-11-18 2014-11-18 一种视频清晰度切换方法和视频播放器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/246,388 Continuation US20160365123A1 (en) 2014-11-18 2016-08-24 Method and electronic device for video definition switching

Publications (1)

Publication Number Publication Date
WO2016078468A1 true WO2016078468A1 (zh) 2016-05-26

Family

ID=56013257

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/089182 Ceased WO2016078468A1 (zh) 2014-11-18 2015-09-08 一种视频清晰度切换方法、视频播放器和视频播放系统

Country Status (3)

Country Link
US (1) US20160365123A1 (zh)
CN (1) CN105657520A (zh)
WO (1) WO2016078468A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6258168B2 (ja) * 2014-09-12 2018-01-10 株式会社東芝 配信装置、再生装置および配信システム
CN106856570B (zh) * 2015-12-08 2018-08-24 阿里巴巴集团控股有限公司 一种转码方法及装置
CN105898625B (zh) * 2016-04-29 2020-03-17 腾讯科技(深圳)有限公司 一种播放处理方法及终端设备
CN106375836A (zh) * 2016-09-27 2017-02-01 广东小天才科技有限公司 一种视频的分辨率切换方法及装置
CN106412676A (zh) * 2016-10-21 2017-02-15 乐视控股(北京)有限公司 一种视频的码流切换方法、装置及电子设备
CN108174280B (zh) * 2018-01-18 2021-02-02 湖南快乐阳光互动娱乐传媒有限公司 一种音视频在线播放方法及系统
CN108307248B (zh) 2018-02-01 2019-10-29 腾讯科技(深圳)有限公司 视频播放方法、装置、计算设备及存储介质
CN108681436B (zh) * 2018-03-13 2020-09-22 Oppo广东移动通信有限公司 画质参数调节方法、装置、终端及存储介质
KR102466012B1 (ko) 2018-04-20 2022-11-09 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체
CN110471635A (zh) * 2018-05-09 2019-11-19 上海碧虎网络科技有限公司 车载媒体投放方法及其系统、汽车和可读存储介质
CN110545482B (zh) * 2018-05-29 2022-01-07 北京字节跳动网络技术有限公司 一种分辨率切换时的接续播放方法、装置及存储介质
CN110582012B (zh) * 2018-06-11 2021-07-30 腾讯科技(深圳)有限公司 视频切换方法、视频处理方法、装置及存储介质
CN109144613B (zh) * 2018-09-03 2021-10-15 武汉斗鱼网络科技有限公司 Android清晰度切换方法、装置、终端及可读介质
CN109168078B (zh) * 2018-09-10 2022-07-12 苏宁智能终端有限公司 一种视频清晰度切换方法及装置
CN109413457B (zh) * 2018-10-18 2021-11-09 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109168039A (zh) * 2018-10-22 2019-01-08 武汉斗鱼网络科技有限公司 Android系统的码流清晰度切换方法、装置、终端及可读介质
CN109547813A (zh) * 2018-12-29 2019-03-29 山东浪潮商用系统有限公司 一种Android机顶盒上播放HLS视频流时无感知切换清晰度的方法
CN112019858B (zh) * 2019-05-31 2022-11-29 腾讯科技(深圳)有限公司 一种视频播放方法、装置、计算机设备和存储介质
CN110636338B (zh) * 2019-09-17 2024-05-14 北京百度网讯科技有限公司 一种视频清晰度的切换方法、装置、电子设备及存储介质
CN110719526B (zh) * 2019-10-28 2021-05-07 腾讯科技(深圳)有限公司 视频播放方法及装置
CN112887755A (zh) * 2019-11-29 2021-06-01 北京百度网讯科技有限公司 用于播放视频的方法和装置
CN111031385B (zh) * 2019-12-20 2022-03-08 北京爱奇艺科技有限公司 视频播放的方法及装置
US11956482B2 (en) * 2020-07-16 2024-04-09 Comcast Cable Communications, Llc Systems and methods for storing and delivering content assets
CN112738551A (zh) * 2021-02-02 2021-04-30 成都云帆数联科技有限公司 一种视频流畅播放方法及装置
CN113825020B (zh) * 2021-09-18 2023-09-29 北京百度网讯科技有限公司 视频清晰度切换方法、装置、设备、存储介质及程序产品
US11973634B1 (en) * 2023-01-31 2024-04-30 Dish Network Technologies India Private Limited Detecting hardware issue
CN118632076A (zh) * 2023-03-08 2024-09-10 北京字跳网络技术有限公司 视频流播放方法、设备、存储介质及程序产品
CN118741224A (zh) * 2024-06-26 2024-10-01 四川国创新视超高清视频科技有限公司 一种视频图像显示终端及显示方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090490A (zh) * 2006-06-16 2007-12-19 辉达公司 用于无中断媒体改变的方法和系统
EP2570944A2 (en) * 2011-09-19 2013-03-20 Comcast Cable Communications, LLC Content storage and identification
CN103210642A (zh) * 2010-10-06 2013-07-17 数码士有限公司 在http流送期间发生表达切换时传送用于自然再现的可缩放http流的方法
CN103517143A (zh) * 2013-08-29 2014-01-15 小米科技有限责任公司 网络视频的播放方法、装置及终端设备
CN103650526A (zh) * 2011-06-03 2014-03-19 苹果公司 用于实时或近实时流传输的播放列表
CN104079622A (zh) * 2013-03-25 2014-10-01 索尼公司 用于媒体分发的设备、方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302490B1 (en) * 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
CN101179700B (zh) * 2006-12-20 2011-05-11 腾讯科技(深圳)有限公司 节目源切换方法及流媒体播放系统
CN102097050B (zh) * 2009-12-11 2016-03-09 康佳集团股份有限公司 一种实现显示信号无缝切换的装置和方法
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
CN102905188B (zh) * 2012-11-01 2015-09-30 北京奇艺世纪科技有限公司 一种视频码流切换方法及装置
US9300710B2 (en) * 2013-03-07 2016-03-29 Qualcomm Innovation Center, Inc. Adaptive bandwidth switching via short-circuitable download
CN103491427A (zh) * 2013-09-11 2014-01-01 天脉聚源(北京)传媒科技有限公司 一种视频的处理方法和装置
CN103763618A (zh) * 2013-12-27 2014-04-30 乐视网信息技术(北京)股份有限公司 一种清晰度切换方法及电子设备
CN104539984B (zh) * 2014-12-30 2018-09-28 北京奇艺世纪科技有限公司 一种视频播放方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090490A (zh) * 2006-06-16 2007-12-19 辉达公司 用于无中断媒体改变的方法和系统
CN103210642A (zh) * 2010-10-06 2013-07-17 数码士有限公司 在http流送期间发生表达切换时传送用于自然再现的可缩放http流的方法
CN103650526A (zh) * 2011-06-03 2014-03-19 苹果公司 用于实时或近实时流传输的播放列表
EP2570944A2 (en) * 2011-09-19 2013-03-20 Comcast Cable Communications, LLC Content storage and identification
CN104079622A (zh) * 2013-03-25 2014-10-01 索尼公司 用于媒体分发的设备、方法及系统
CN103517143A (zh) * 2013-08-29 2014-01-15 小米科技有限责任公司 网络视频的播放方法、装置及终端设备

Also Published As

Publication number Publication date
CN105657520A (zh) 2016-06-08
US20160365123A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
WO2016078468A1 (zh) 一种视频清晰度切换方法、视频播放器和视频播放系统
US11979621B2 (en) Advanced trick-play modes for streaming video
CA2709680C (en) Trick play of streaming media
US20180103296A1 (en) Method and apparatus for video playing processing and television
US10263912B2 (en) Systems and methods for suspended playback
JP6219800B2 (ja) マルチトラックビデオコンテンツを提供するためのマルチトラックビデオコンテンツサービス方法およびシステム
US10620810B2 (en) Method and a system for performing scrubbing in a video stream
CN106797488B (zh) 在媒体流之间切换
CN113424553B (zh) 用于重放媒体项目的方法和系统
JP6475279B2 (ja) コンテンツ再生装置および方法、並びにコンテンツ提供装置および方法
USRE46114E1 (en) Insertion points for streaming video autoplay
US11463746B2 (en) Techniques for composite media storage and retrieval
CN110198494A (zh) 一种视频播放方法、装置、设备和存储介质
KR20160088803A (ko) 영상 재생 제어 프로그램, 영상 재생 제어 방법, 영상 배신 서버, 송신 프로그램 및 송신 방법
US11960444B2 (en) Methods and systems for providing file data for a media file
US9661044B2 (en) Systems and methods for delivery of localized media assets
JP6248943B2 (ja) 情報処理装置、情報処理方法、およびプログラム、並びに情報処理システム
KR101742420B1 (ko) 영상 데이터 파일 생성 프로그램, 영상 데이터 파일 생성 방법 및 영상 데이터 파일 생성 장치
KR101728417B1 (ko) 클라우드 스트리밍 기반 서비스메뉴 제공 시스템 및 그 방법
US9047914B1 (en) Content navigation
JP6555030B2 (ja) 情報機器
US20130332970A1 (en) Method and apparatus for reproducing streaming playlist and information storage medium storing streaming playlist

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: 15861074

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: 15861074

Country of ref document: EP

Kind code of ref document: A1