A method, system, computer and storage medium for playing a large volume of video

By analyzing redundant frames and keyframes in large-volume videos, setting encoding parameter groups, segmenting video blocks and performing hash verification, and dynamically adjusting encoding and player parameters, the problem of insufficient smoothness in playing large-volume videos was solved, achieving higher video continuity and smoothness.

CN119854570BActive Publication Date: 2025-11-18JIANGXI FASHION TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411984640.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-11-18
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

Existing technologies do not segment large videos accurately and reasonably, resulting in insufficient playback smoothness and problems such as stuttering and discontinuous video content.

Method used

By removing redundant frames and analyzing keyframes, setting encoding parameter groups, segmenting video blocks, and using hash algorithms for integrity verification, encoding and player parameters are dynamically adjusted to adapt to device and network conditions, and playback metrics are monitored in real time to optimize video playback.

Benefits of technology

It improves the continuity and smoothness of video playback, reduces loading time and stuttering, and enhances the viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854570B_ABST
    Figure CN119854570B_ABST
Patent Text Reader

Abstract

The application provides a large-volume video playing method, system, computer and storage medium. The large-volume video playing method comprises the following steps: obtaining an original video and removing a plurality of redundant frames; setting an encoding parameter group, obtaining a plurality of selected encoding videos; cutting the plurality of selected encoding videos to form a plurality of selected video blocks and obtaining a plurality of first check files; selecting a plurality of current video blocks; assigning a current number to the current video blocks, extracting a current index file, and determining the current first check file; transmitting the plurality of current video blocks to a front-end device for integrity check; comparing a player parameter with a current encoding parameter; determining a plurality of playing video blocks; decoding the plurality of playing video blocks, and playing a plurality of playing video files. The video volume can be reduced by removing the plurality of redundant frames, the video can be more accurately cut in combination with a key frame, a plurality of encoded videos are prepared, and different playing environments can be adapted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of video technology, and in particular to a method, system, computer, and storage medium for playing large-volume videos. Background Technology

[0002] Nowadays, front-end pages typically use streaming media transmission technologies such as HLS (HTTP Lice Streaming) or DASH (Dynamic Adaptice Streaming over HTTP) to play videos. This technology allows the page to download and play videos simultaneously without waiting for the entire video to be transmitted before playback.

[0003] When transmitting large videos, the time it takes for the page to load the video increases, which can affect the smoothness of video playback. Therefore, it is common practice to split large videos into multiple video blocks, which are then transmitted, decoded, and played sequentially.

[0004] However, video segmentation has limited effect on optimizing the playback smoothness of large videos. Furthermore, improper segmentation can not only cause stuttering during playback but also lead to discontinuous video content. Other important factors affecting playback smoothness include the encoding process, front-end device hardware parameters, front-end device network conditions, and player settings. Existing methods for playing large videos still fall short in optimizing these factors. Summary of the Invention

[0005] In view of the shortcomings of the prior art, the purpose of this invention is to provide a method, system, computer and storage medium for playing large-volume videos, aiming to solve the problems that the video segmentation in the prior art is not accurate and reasonable, and the video playback process cannot be optimized according to various influencing factors.

[0006] In a first aspect, embodiments of this application provide a method for playing large-volume videos, comprising the following steps:

[0007] The original video is obtained, and several redundant frames are removed from the original video to obtain a transition video. The transition video is then preprocessed to obtain the video to be encoded.

[0008] Based on the encoding performance parameters of the encoding device and the status of the encoding network, an encoding parameter group is set, and the video to be encoded is encoded based on the encoding parameter group to obtain several candidate videos for encoding. The encoding parameter group includes several preliminary encoding parameters, and each preliminary encoding parameter corresponds one-to-one with the video to be encoded.

[0009] Set preset parameters, and based on the preset parameters and several key frames of the candidate video to be encoded, divide the candidate video to be encoded into several candidate video blocks, and obtain several first verification files corresponding to the several candidate video blocks;

[0010] Select the current encoding parameters corresponding to the front-end device from the encoding parameter group, and select a number of current video blocks from a number of candidate video blocks according to the current encoding parameters;

[0011] Assign a current number to the current video block, extract the current index file from the current video block, establish the first verification file corresponding to the current video block as the current first verification file, and associate the current number, the current first verification file, and the current index file;

[0012] A number of current video blocks are transmitted to the front-end device to form a number of front-end video blocks in the front-end device. A second verification file corresponding to the front-end video block is obtained. The current first verification file is compared with the second verification file to perform integrity verification and obtain the verification result.

[0013] If the verification result is complete, then obtain the player parameters and compare the player parameters with the current encoding parameters;

[0014] If the player parameters are consistent with the current encoding parameters, then the several front-end video blocks are established as several playback video blocks, and the playback sequence number is extracted from the several current index files;

[0015] The playback video blocks are decoded into a number of playback video files, and the playback video files are played based on the playback sequence number.

[0016] Furthermore, the original video comprises several original frames, and the step of removing several redundant frames from the original video specifically includes:

[0017] The pixel differences between adjacent original frames are calculated to obtain several pixel difference values;

[0018] Several color histograms and several texture features are extracted from several original frames, and several color texture data are calculated based on several color histograms and several texture features.

[0019] Based on several pixel differences and several color texture data, several redundant frames are established from several original frames.

[0020] Furthermore, the step of dividing the candidate video into several candidate video blocks based on the preset parameters and several keyframes of the candidate video specifically includes:

[0021] Based on the duration or file size in the preset parameters, and combined with the positions of several keyframes of the candidate video to be encoded, the candidate video to be encoded is divided into several candidate video blocks, and the start and end positions of the candidate video blocks are the keyframes.

[0022] Furthermore, after the steps of transmitting several current video blocks to the front-end device to form several front-end video blocks in the front-end device, obtaining a second verification file corresponding to the front-end video blocks, comparing the current first verification file with the second verification file to perform integrity verification, and obtaining the verification result, the method further includes:

[0023] If the verification result is incomplete, then several retransmission numbers are determined from several current numbers, and several current video blocks corresponding to several retransmission numbers are retransmitted to the front-end device to update several front-end video blocks.

[0024] Furthermore, after the step of obtaining the player parameters if the verification result is complete, and comparing the player parameters with the current encoding parameters, the method further includes:

[0025] If the player parameters are inconsistent with the current encoding parameters, then an updated encoding parameter is selected from the encoding parameter group according to the player parameters, and several updated video blocks are selected from several candidate video blocks according to the updated encoding parameters;

[0026] An update number is assigned to the updated video block, an update index file is extracted from the updated video block, the first verification file corresponding to the updated video block is established as the first verification file for updating, and the update number, the first verification file for updating, and the update index file are associated.

[0027] A plurality of the updated video blocks are transmitted to the front-end device to form a plurality of updated front-end video blocks in the front-end device. An updated second verification file corresponding to the updated front-end video block is obtained. The updated first verification file and the updated second verification file are compared to perform integrity verification and obtain the verification result.

[0028] If the verification result is complete, then the several updated front-end video blocks are established as several playback video blocks, and the playback sequence number is extracted from the several updated index files.

[0029] Furthermore, after the step of decoding the plurality of playback video blocks into a plurality of playback video files, and playing the plurality of playback video files based on the playback sequence number, the method further includes:

[0030] During playback, the playback metrics of the video file are collected, and the player parameters are updated based on the playback metrics.

[0031] Secondly, embodiments of this application provide a large-volume video playback system, applied to the large-volume video playback method described in the above technical solution, the system comprising:

[0032] The acquisition module is used to acquire the original video, remove several redundant frames from the original video to obtain a transition video, and perform image preprocessing on the transition video to obtain the video to be encoded.

[0033] An encoding module is used to set an encoding parameter group based on the encoding performance parameters of the encoding device and the status of the encoding network, and to encode the video to be encoded based on the encoding parameter group to obtain several candidate videos for encoding. The encoding parameter group includes several preliminary encoding parameters, and the preliminary encoding parameters correspond one-to-one with the video to be encoded.

[0034] The segmentation module is used to set preset parameters and, based on the preset parameters and several key frames of the candidate video to be encoded, segment the candidate video to be encoded into several candidate video blocks, and obtain several first verification files corresponding to the several candidate video blocks;

[0035] The selection module is used to select the current encoding parameters corresponding to the front-end device from the encoding parameter group, and select a number of current video blocks from a number of candidate video blocks according to the current encoding parameters;

[0036] The verification module is used to assign a current number to the current video block, extract the current index file from the current video block, establish the first verification file corresponding to the current video block as the current first verification file, and associate the current number, the current first verification file, and the current index file.

[0037] The judgment module is used to transmit several current video blocks to the front-end device to form several front-end video blocks in the front-end device, obtain a second verification file corresponding to the front-end video block, compare the current first verification file with the second verification file to perform integrity verification, and obtain the verification result.

[0038] The comparison module is used to obtain player parameters if the verification result is complete, and compare the player parameters with the current encoding parameters.

[0039] The parameter module is used to establish several front-end video blocks as several playback video blocks if the player parameters are consistent with the current encoding parameters, and to extract the playback sequence number from several current index files.

[0040] The playback module is used to decode several video blocks into several video files and play several video files based on the playback sequence number.

[0041] Thirdly, embodiments of this application provide a computer, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method for playing large-volume videos as described in the above technical solutions.

[0042] Fourthly, embodiments of this application provide a storage medium storing a computer program thereon, which, when executed by a processor, implements the method for playing large-volume videos as described in the above technical solutions.

[0043] Compared to related technologies, the beneficial effects of this invention are as follows: By extracting several redundant frames and several key frames, the content of the original video is analyzed. Removing several redundant frames reduces the video size and facilitates transmission. Extracting the key frames ensures that the start and end positions of each segmented video block are the key frames, guaranteeing the continuity of video playback. By setting the encoding parameter group, multiple encoded videos can be prepared, and then multiple video blocks with different encoding parameters can be segmented. This adapts to different device performance parameters, different network conditions, different players and player settings. Furthermore, when subsequent network conditions fluctuate, the playback indicators of the front-end device can be monitored to dynamically select the most suitable video block for playback, avoiding excessively long loading times and stuttering caused by video block bitrate, frame rate, and other parameters exceeding the video parameters allowed by the current device and network conditions, thus improving the viewing experience. Moreover, by setting the verification module, the negative situations of missing or discontinuous video content during the transmission of large amounts of data are avoided. Attached Figure Description

[0044] Figure 1 This is a flowchart of the method for playing large-volume videos in the first embodiment of the present invention;

[0045] Figure 2 This is a structural block diagram of the large-volume video playback system in the second embodiment of the present invention;

[0046] The following detailed description, in conjunction with the accompanying drawings, will further illustrate the present invention. Detailed Implementation

[0047] To facilitate understanding of the present invention, a more complete description will be given below with reference to the accompanying drawings. Several embodiments of the invention are illustrated in the drawings. However, the invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.

[0048] It should be noted that when a component is said to be "fixed to" another component, it can be directly on the other component or there may be an intervening component. When a component is said to be "connected to" another component, it can be directly connected to the other component or there may be an intervening component. The terms "vertical," "horizontal," "left," "right," and similar expressions used in this document are for illustrative purposes only.

[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0050] Please see Figure 1 The method for playing large-volume videos in the first embodiment of the present invention includes the following steps:

[0051] Step S10: Obtain the original video, remove several redundant frames from the original video to obtain a transition video, and perform image preprocessing on the transition video to obtain the video to be encoded.

[0052] Preferably, video data is acquired from the original video source, such as a camera, to form a video file, which is then imported into the processing system as the original video for subsequent processing. Several redundant frames are multiple similar or identical images, usually appearing as still images or repetitive scenes. Image preprocessing includes preprocessing operations such as color correction and brightness adjustment of the video. It can be understood that by removing several redundant frames, a smaller transitional video can be obtained, which is convenient for subsequent processing. Image preprocessing is beneficial to improving video quality.

[0053] Specifically, the original video includes several original frames, and step S10 includes:

[0054] S110: Calculate the pixel differences between adjacent original frames to obtain several pixel difference values;

[0055] The original frames have the same time interval. By calculating the pixel differences, the image similarity between different frames can be analyzed to identify the redundant frames.

[0056] S120: Extract several color histograms and several texture features from several original frames, and calculate several color texture data based on several color histograms and several texture features;

[0057] By calculating the color histogram and texture features of the frames, frames with similar color distributions and textures can be specifically quantified and identified.

[0058] S130: Based on several pixel differences and several color texture data, several redundant frames are established from several original frames.

[0059] Understandably, establishing several redundant frames through specific numerical calculations makes the optimization of the original video more specific and reliable.

[0060] Step S20: Based on the encoding performance parameters of the encoding device and the status of the encoding network, set an encoding parameter group, and encode the video to be encoded based on the encoding parameter group to obtain several candidate videos for encoding. The encoding parameter group includes several preliminary encoding parameters, and the preliminary encoding parameters correspond one-to-one with the video to be encoded.

[0061] Preferably, the encoding performance parameters of the encoding device include parameters such as CPU, GPU, and memory, and the encoding network status includes parameters such as bandwidth and latency. The encoder adopts an H.264 encoder, which provides high video quality and high compression efficiency, and is suitable for various devices and network environments. Understandably, if network fluctuations occur when loading video at the front end, resulting in the need to load videos with different resolutions and frame rates, encoding and transmission will take a lot of time. Preparing videos with multiple video formats and bitrates is beneficial for selecting the required video at any time during subsequent transmission and playback, and is beneficial for use in different scenarios.

[0062] Step S30: Set preset parameters, and according to the preset parameters and several key frames of the candidate video, divide the candidate video into several candidate video blocks, and obtain several first verification files corresponding to the several candidate video blocks;

[0063] Preferably, the keyframe is a frame in the video where the content changes significantly or has specific meaning, such as scene switching, camera movement, the appearance or disappearance of objects, etc. The keyframe is calculated, analyzed and identified using the same method as the redundant frames, making the segmentation of the candidate encoded video more accurate and reasonable. The verification module uses a hash algorithm for verification, specifically the SHA-256 algorithm, and the first verification file is the hash value of the video block.

[0064] Specifically, step S30 includes:

[0065] S310: Based on the duration or file size in the preset parameters, and combined with the positions of several key frames of the candidate video to be encoded, the candidate video to be encoded is divided into several candidate video blocks, wherein the start and end positions of the candidate video blocks are the key frames.

[0066] When video is segmented based on the position of the keyframe, the segmentation is more accurate, and the multiple video blocks segmented have the same duration or file size, which is beneficial for video transmission and playback.

[0067] Step S40: Select the current encoding parameter corresponding to the front-end device from the encoding parameter group, and select a number of current video blocks from a number of candidate encoded video blocks according to the current encoding parameter;

[0068] Preferably, the appropriate quality of video file is determined based on the performance of the front-end device and the network conditions. If the performance of the front-end device is low or the network bandwidth is limited, a 720p resolution and a frame rate of 30fps can be selected. If the performance of the front-end device is high or the network is smooth, a 4K resolution and a frame rate of 60fps can be selected.

[0069] Step S50: Assign a current number to the current video block, extract the current index file from the current video block, establish the first verification file corresponding to the current video block as the current first verification file, and associate the current number, the current first verification file, and the current index file;

[0070] Preferably, the index file is an m3u8 file, and the current index file includes information such as URL address, playback sequence number, duration and bitrate record for use by the front-end device. The number of each current video block is unique.

[0071] Step S60: Transmit several current video blocks to the front-end device to form several front-end video blocks in the front-end device, obtain a second verification file corresponding to the front-end video block, compare the current first verification file with the second verification file to perform integrity verification, and obtain the verification result;

[0072] After the current video block is transmitted, the same hash algorithm is used to calculate the file, that is, the same verification module is used. The video block stored in the front-end device after transmission is the front-end video block, and the current number is also transmitted accordingly. The hash value of the calculated front-end video block is used to find the hash value of the current video block according to the current number and compare them. That is, the current first verification file and the second verification file are compared after finding and matching the current number. If they match, the output verification result is the first result, indicating that the transmission process of the current video block is complete, the content of the front-end video block and the current video block are consistent, and no missing or damaged parts have occurred. If they do not match, the output verification result is the second result, indicating that an error occurred in the transmission process, causing the content of the front-end video block and the current video block to be inconsistent, and there are missing or damaged parts.

[0073] Specifically, after step S60, the method further includes:

[0074] S610: If the verification result is incomplete, then a number of retransmission numbers are determined from the number of current numbers, and the number of current video blocks corresponding to the number of retransmission numbers are retransmitted to the front-end device to update the number of front-end video blocks.

[0075] If the verification result is incomplete, then there are video blocks with missing content due to transmission errors among the several front-end video blocks. Based on the comparison result of the current first verification file and the second verification file, the current number of the inconsistent current first verification file is selected and recorded as the retransmission number. The corresponding current video block is retransmitted according to the retransmission number, and the damaged front-end video block is overwritten.

[0076] Step S70: If the verification result is complete, obtain the player parameters and compare the player parameters with the current encoding parameters;

[0077] Preferably, the selected player is one that supports streaming media transmission protocols such as HLS and DASH; more specifically, the video.js player is selected.

[0078] Specifically, after step S70, the method further includes:

[0079] S710: If the player parameters are inconsistent with the current encoding parameters, then an updated encoding parameter is selected from the encoding parameter group according to the player parameters, and several updated video blocks are selected from several candidate video blocks according to the updated encoding parameters;

[0080] S720: Assign an update number to the updated video block, extract an update index file from the updated video block, establish the first verification file corresponding to the updated video block as the first verification file for updating, and associate the update number, the first verification file for updating, and the update index file.

[0081] S730: Transmit several updated video blocks to the front-end device to form several updated front-end video blocks in the front-end device, obtain an updated second verification file corresponding to the updated front-end video block, compare the updated first verification file with the updated second verification file to perform integrity verification, and obtain the verification result;

[0082] S740: If the verification result is complete, then the several updated front-end video blocks are established as several playback video blocks, and the playback sequence number is extracted from the several updated index files.

[0083] Preferably, the video processing, transmission, and verification processes of S710 to S450 are consistent with the current video block.

[0084] Step S80: If the player parameters are consistent with the current encoding parameters, then the several front-end video blocks are established as several playback video blocks, and the playback sequence number is extracted from the several current index files.

[0085] Understandably, the player parameters are consistent with the current encoding parameters, indicating that the several front-end video blocks corresponding to the current encoding parameters are the highest quality and most suitable video files in the current environment.

[0086] Step S90: Decode the plurality of video playback blocks into a plurality of video playback files, and play the plurality of video playback files based on the playback sequence number.

[0087] Preferably, when playing the video file, playback control functions are provided, such as play, pause, volume adjustment, full-screen switching, etc.

[0088] Specifically, after step S80, the method further includes:

[0089] S810: During playback, collect the playback metrics of the video file being played, and update the player parameters based on the playback metrics.

[0090] Preferably, the front-end page monitors the smoothness of video playback in real time. The playback metrics include stuttering rate and loading time. Since the playback process in a real environment is dynamic—for example, network fluctuations or other software occupying the front-end device's performance—even if the network conditions at the start of playback allow for 1080p video playback, subsequent environmental changes can easily cause stuttering during playback. Therefore, by monitoring, the player parameters should be adjusted accordingly. Specifically, adjusting to 720p allows for smooth playback after reloading the video blocks. In essence, dynamic monitoring and timely adjustments, combined with pre-prepared video blocks, ensure that the video playback process remains dynamically optimal, significantly improving the user's video viewing experience.

[0091] Please see Figure 2 The large-volume video playback system in the second embodiment of the present invention is applied to the large-volume video playback method described in the first embodiment above, and the system includes:

[0092] Acquisition module 10 is used to acquire the original video, remove several redundant frames from the original video to obtain a transition video, and perform image preprocessing on the transition video to obtain the video to be encoded.

[0093] The acquisition module 10 includes:

[0094] The first unit is used to calculate the pixel differences between adjacent original frames to obtain several pixel difference values.

[0095] The second unit is used to extract several color histograms and several texture features from several original frames, and to calculate several color texture data based on several color histograms and several texture features.

[0096] The third unit is used to determine a number of redundant frames from a number of original frames based on a number of pixel differences and a number of color texture data.

[0097] Encoding module 20 is used to set an encoding parameter group based on the encoding performance parameters of the encoding device and the status of the encoding network, and to encode the video to be encoded based on the encoding parameter group to obtain a number of candidate videos to be encoded. The encoding parameter group includes a number of preliminary encoding parameters, and the preliminary encoding parameters correspond one-to-one with the video to be encoded.

[0098] The segmentation module 30 is used to set preset parameters and, based on the preset parameters and several key frames of the candidate video to be encoded, segment the candidate video to be encoded into several candidate video blocks and obtain several first verification files corresponding to the several candidate video blocks;

[0099] The segmentation module 30 includes:

[0100] The fourth unit is used to divide the candidate video into several candidate video blocks based on the duration or file size in the preset parameters and the positions of several key frames of the candidate video. The start and end positions of the candidate video blocks are the key frames.

[0101] The selection module 40 is used to select the current encoding parameters corresponding to the front-end device from the encoding parameter group, and select a number of current video blocks from a number of candidate encoded video blocks according to the current encoding parameters;

[0102] The verification module 50 is used to assign a current number to the current video block, extract the current index file from the current video block, establish the first verification file corresponding to the current video block as the current first verification file, and associate the current number, the current first verification file and the current index file.

[0103] The judgment module 60 is used to transmit a plurality of current video blocks to the front-end device to form a plurality of front-end video blocks in the front-end device, obtain a second verification file corresponding to the front-end video block, compare the current first verification file with the second verification file to perform integrity verification, and obtain the verification result.

[0104] The judgment module 60 includes:

[0105] The fifth unit is used to, if the verification result is incomplete, determine several retransmission numbers from several current numbers, and retransmit several current video blocks corresponding to several retransmission numbers to the front-end device to update several front-end video blocks.

[0106] The comparison module 70 is used to obtain the player parameters if the verification result is complete, and compare the player parameters with the current encoding parameters.

[0107] The comparison module 70 includes:

[0108] The sixth unit is used to select updated encoding parameters from the encoding parameter group according to the player parameters if the player parameters are inconsistent with the current encoding parameters, and to select several updated video blocks from several candidate video blocks according to the updated encoding parameters;

[0109] The seventh unit is used to assign an update number to the updated video block, extract an update index file from the updated video block, establish the first verification file corresponding to the updated video block as the update first verification file, and associate the update number, the update first verification file, and the update index file.

[0110] The eighth unit is used to transmit a plurality of the updated video blocks to the front-end device to form a plurality of updated front-end video blocks in the front-end device, obtain an updated second verification file corresponding to the updated front-end video block, compare the updated first verification file with the updated second verification file to perform integrity verification, and obtain the verification result.

[0111] The ninth unit is used to establish several updated front-end video blocks as several playback video blocks if the verification result is complete, and to extract the playback sequence number from several updated index files.

[0112] The parameter module 80 is used to establish several front-end video blocks as several playback video blocks if the player parameters are consistent with the current encoding parameters, and to extract the playback sequence number from several current index files.

[0113] The playback module 90 is used to decode several playback video blocks into several playback video files, and play several playback video files based on the playback sequence number.

[0114] The playback module 90 includes:

[0115] The tenth unit is used to collect playback metrics of the video file during playback and update the player parameters based on the playback metrics.

[0116] The computer in the third embodiment of the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method for playing large-volume videos as described in the first embodiment.

[0117] The storage medium in the fourth embodiment of the present invention stores a computer program, which, when executed by a processor, implements the method for playing large-volume videos as described in the first embodiment.

[0118] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0119] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention. Therefore, the scope of protection of this patent should be determined by the appended claims.

Claims

1. A method of playing a large volume of video, characterized by, The method comprises the following steps: obtaining an original video, removing a plurality of redundant frames from the original video to obtain a transition video, performing picture preprocessing on the transition video to obtain a video to be encoded; based on the encoding performance parameters and the encoding network status of an encoding device, setting an encoding parameter group, and encoding the video to be encoded based on the encoding parameter group to obtain a plurality of selected encoded videos, the encoding parameter group comprising a plurality of preliminary encoding parameters, and the preliminary encoding parameters corresponding to the video to be encoded one by one; setting a preset parameter, and according to the preset parameter and a plurality of key frames of the selected encoded video, cutting the selected encoded video into a plurality of selected video blocks, obtaining a plurality of first check files corresponding to the plurality of selected video blocks; selecting a current encoding parameter corresponding to a front-end device from the encoding parameter group, and selecting a plurality of current video blocks from the plurality of selected video blocks according to the current encoding parameter; allocating a current number to the current video block, extracting a current index file from the current video block, establishing the first check file corresponding to the current video block as a current first check file, and associating the current number, the current first check file and the current index file; transmitting the plurality of current video blocks to the front-end device to form a plurality of front-end video blocks in the front-end device, obtaining a second check file corresponding to the front-end video block, comparing the current first check file with the second check file to perform integrity check, and obtaining a check result; if the check result is complete, obtaining a player parameter, and comparing the player parameter with the current encoding parameter; if the player parameter is consistent with the current encoding parameter, establishing the plurality of front-end video blocks as a plurality of play video blocks, and extracting a play serial number from the plurality of current index files; decoding the plurality of play video blocks into a plurality of play video files, and playing the plurality of play video files based on the play serial number.

2. The method of claim 1, wherein, The original video comprises a plurality of original frames, and the step of removing a plurality of redundant frames from the original video comprises: calculating the pixel difference between adjacent original frames to obtain a plurality of pixel difference values; extracting a plurality of color histograms and a plurality of texture features from the plurality of original frames, and calculating a plurality of color texture data based on the plurality of color histograms and the plurality of texture features; based on the plurality of pixel difference values and the plurality of color texture data, establishing a plurality of redundant frames from the plurality of original frames.

3. The method of claim 1, wherein, The step of cutting the selected encoded video into a plurality of selected video blocks according to the preset parameter and a plurality of key frames of the selected encoded video comprises: based on the time length or file size in the preset parameter, combining the positions of the plurality of key frames of the selected encoded video, cutting the selected encoded video into a plurality of selected video blocks, and the start and end positions of the selected video blocks are the key frames.

4. The method of claim 1, wherein, After the steps of transmitting a plurality of current video blocks to the front-end device to form a plurality of front-end video blocks in the front-end device, obtaining a second verification file corresponding to the front-end video blocks, comparing the current first verification file with the second verification file to perform integrity verification, and obtaining the verification result, the method further includes: If the verification result is incomplete, then several retransmission numbers are determined from several current numbers, and several current video blocks corresponding to several retransmission numbers are retransmitted to the front-end device to update several front-end video blocks.

5. The method of claim 1, wherein, After the step of obtaining the player parameters if the verification result is complete, and comparing the player parameters with the current encoding parameters, the method further includes: If the player parameters are inconsistent with the current encoding parameters, then an updated encoding parameter is selected from the encoding parameter group according to the player parameters, and several updated video blocks are selected from several candidate video blocks according to the updated encoding parameters; An update number is assigned to the updated video block, an update index file is extracted from the updated video block, the first verification file corresponding to the updated video block is established as the first verification file for updating, and the update number, the first verification file for updating, and the update index file are associated. A plurality of the updated video blocks are transmitted to the front-end device to form a plurality of updated front-end video blocks in the front-end device. An updated second verification file corresponding to the updated front-end video block is obtained. The updated first verification file and the updated second verification file are compared to perform integrity verification and obtain the verification result. If the verification result is complete, then the several updated front-end video blocks are established as several playback video blocks, and the playback sequence number is extracted from the several updated index files.

6. The method of claim 1, wherein, After the step of decoding the plurality of playback video blocks into a plurality of playback video files, and playing the plurality of playback video files based on the playback sequence number, the method further includes: During playback, the playback metrics of the video file are collected, and the player parameters are updated based on the playback metrics.

7. A system for playing a large volume video, applied to the method for playing a large volume video according to any one of claims 1 to 6, characterized in that, The system includes: The acquisition module is used to acquire the original video, remove several redundant frames from the original video to obtain a transition video, and perform image preprocessing on the transition video to obtain the video to be encoded. An encoding module is used to set an encoding parameter group based on the encoding performance parameters of the encoding device and the status of the encoding network, and to encode the video to be encoded based on the encoding parameter group to obtain several candidate videos for encoding. The encoding parameter group includes several preliminary encoding parameters, and the preliminary encoding parameters correspond one-to-one with the video to be encoded. The segmentation module is used to set preset parameters and, based on the preset parameters and several key frames of the candidate video to be encoded, segment the candidate video to be encoded into several candidate video blocks, and obtain several first verification files corresponding to the several candidate video blocks; The selected module is configured to select current encoding parameters corresponding to the front-end device from the encoding parameter set, and select a plurality of current video blocks from a plurality of the candidate video blocks according to the current encoding parameters; The checking module is configured to assign a current number to the current video block, extract a current index file from the current video block, establish the first checking file corresponding to the current video block as a current first checking file, and associate the current number, the current first checking file and the current index file; The judging module is configured to transmit the plurality of current video blocks to the front-end device to form a plurality of front-end video blocks in the front-end device, acquire a second checking file corresponding to the front-end video blocks, compare the current first checking file with the second checking file to perform integrity checking, and acquire a checking result; The comparing module is configured to acquire a player parameter if the checking result is complete, and compare the player parameter with the current encoding parameter; The parameter module is configured to establish the plurality of front-end video blocks as a plurality of playing video blocks if the player parameter is consistent with the current encoding parameter, and extract a playing serial number from a plurality of the current index files; The playing module is configured to decode the plurality of playing video blocks into a plurality of playing video files, and play the plurality of playing video files based on the playing serial number.

8. A computer comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the playing method of the large-volume video according to any one of claims 1 to 6.

9. A storage medium having stored thereon a computer program, characterized in that The computer program is executed by the processor to implement the playing method of the large-volume video according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Content self-adaptive coding method and system for file transcoding

    CN114430501A

  • Video file processing method, video management platform and storage medium

    CN117714741A