A video transmission method and device, a resource server and a storage medium

CN122534291APending Publication Date: 2026-08-07XUNLEI COMP SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
XUNLEI COMP SHENZHEN CO LTD
Filing Date
2026-06-16
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0002]相关技术中,流媒体视频的分发,对存储流媒体视频的源服务器及内容分发网络带来了较大的分发压力,并且难以在保障一致性的前提下进行多源分发

Benefits of technology

[0015] The beneficial effects of this invention are as follows: First, based on a video segment request from a first client, the invention determines the content index and sequence index of the video segment. The content index and sequence index are set according to the data content and segment order of the video segment; that is, the content index verifies the content consistency of the video segment, and the segment order verifies the sequential consistency of the video segment. Subsequently, based on the content index and sequence index, the invention locates a mirror server and/or a second client storing the video segment, ensuring that the queried mirror server and second client store video segments with consistent data content and segment order. Finally, the invention can transmit the video segment to the first client through the mirror server and/or the second client. This allows for multi-source distribution by fully utilizing the mirror server and the second client while ensuring content consistency, thereby improving the streaming video distribution effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122534291A_ABST
    Figure CN122534291A_ABST
Patent Text Reader

Abstract

The application provides a video transmission method and device, a resource server and a storage medium, and relates to the technical field of streaming media. The method comprises the following steps: determining a content index and a sequence index of a video segment according to a video segment request of a first client; the content index and the sequence index are set according to the data content and the segment sequence of the video segment; searching for a mirror server and / or a second client storing the video segment according to the content index and the sequence index; and transmitting the video segment to the first client through the mirror server and / or the second client. The application can fully utilize the mirror server and other clients with streaming media video resources for multi-source distribution under the premise of ensuring content consistency, thereby improving the streaming media video distribution effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of streaming media technology, and in particular to a video transmission method, apparatus, resource server, and storage medium. Background Technology

[0002] In related technologies, the distribution of streaming video puts significant pressure on the source servers storing the streaming video and the content distribution network, and it is difficult to carry out multi-source distribution while ensuring consistency. Summary of the Invention

[0003] The purpose of this invention is to provide a video transmission method, apparatus, resource server, and storage medium that can, while ensuring content consistency, fully utilize mirror servers and other clients with streaming video resources for multi-source distribution, thereby improving the streaming video distribution effect.

[0004] To address the aforementioned technical problems, this invention provides a video transmission method, comprising: Based on the video segment request from the first client, the content index and the sequence index of the video segment are determined; the content index and the sequence index are set according to the data content and segment order of the video segment; Based on the content index and the sequence index, locate the mirror server and / or the second client that stores the video clip; The video clip is transmitted to the first client via a mirror server and / or the second client.

[0005] Optionally, the sequential index of the video segment is determined, including: Based on the segment order of the video clips, the content index of the video clips is set as the sequence index; And / or, based on the segment order of the video segments, set the metadata tag of the video segment to the order index.

[0006] Optionally, determine the content index of the video segment, including: Extract the content index from the video segment request; Alternatively, based on the video segment request, the content index of the video segment can be queried from a preset data table.

[0007] Optionally, transmitting the video segment to the first client via the second client includes: The sequence index and the offset position of the video segment in the video file are sent to the second client, so that the second client can find the video segment in the local video file according to the offset position, determine the order of the segments according to the sequence index, and transmit the video segment to the first client according to the segment order.

[0008] Optionally, it also includes: The content indexes of the video segments are concatenated according to the segment order to obtain verification information; The verification information is sent to the first client so that the first client can use the verification information to verify the video segment transmitted by the second client.

[0009] Optionally, transmitting the video segment to the first client via a mirror server includes: The resource address of the video clip in the mirror server is sent to the first client, so that the first client can obtain the video clip from the mirror server according to the resource address; Alternatively, the video segment can be obtained from the mirror server, edge-cached, and then transmitted to the first client.

[0010] Optionally, it also includes: If a mirror server and a second client storing the video clip cannot be found, the video clip is transmitted to the first client through the source server storing the video clip.

[0011] The present invention also provides a video transmission device, comprising: The index determination module is used to determine the content index and the sequence index of a video segment based on the video segment request from the first client; the content index and the sequence index are set according to the data content and segment order of the video segment; The data source query module is used to locate the mirror server and / or the second client that stores the video clip based on the content index and the sequence index. A transmission module is used to transmit the video segment to the first client via a mirror server and / or the second client.

[0012] The present invention also provides a resource server, comprising: Memory, used to store computer programs; A processor is used to implement the video transmission method described above when executing the computer program.

[0013] The present invention also provides a computer-readable storage medium storing computer-executable instructions, which, when loaded and executed by a processor, implement the above-described video transmission method.

[0014] This invention provides a video transmission method, comprising: determining a content index and a sequence index of a video segment based on a video segment request from a first client; setting the content index and the sequence index according to the data content and segment order of the video segment; locating a mirror server and / or a second client storing the video segment based on the content index and the sequence index; and transmitting the video segment to the first client through the mirror server and / or the second client.

[0015] The beneficial effects of this invention are as follows: First, based on a video segment request from a first client, the invention determines the content index and sequence index of the video segment. The content index and sequence index are set according to the data content and segment order of the video segment; that is, the content index verifies the content consistency of the video segment, and the segment order verifies the sequential consistency of the video segment. Subsequently, based on the content index and sequence index, the invention locates a mirror server and / or a second client storing the video segment, ensuring that the queried mirror server and second client store video segments with consistent data content and segment order. Finally, the invention can transmit the video segment to the first client through the mirror server and / or the second client. This allows for multi-source distribution by fully utilizing the mirror server and the second client while ensuring content consistency, thereby improving the streaming video distribution effect.

[0016] The present invention also provides a video transmission device, a resource server, and a computer-readable storage medium, which have the above-mentioned beneficial effects. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0018] Figure 1 A flowchart of a video transmission method provided in an embodiment of the present invention; Figure 2 A flowchart of another video transmission method provided in an embodiment of the present invention; Figure 3 This is a structural block diagram of a video transmission device provided in an embodiment of the present invention; Figure 4This is a structural block diagram of a resource server provided in an embodiment of the present invention. Detailed Implementation

[0019] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0020] HLS (HTTP Live Streaming) is a widely used adaptive streaming media transmission protocol. Its core principle is to divide the video stream into a series of small, HTTP-based video segments (TS segments) and an index file (m3u8). The index file contains the addresses of each video segment and their playback order. The client requests video segments from the server based on the addresses in the index file and splices the video segments according to the playback order to obtain a complete, playable video stream.

[0021] However, HLS technology has the following drawbacks: First, video distribution is mainly handled by the origin servers that store video resources and the Content Delivery Network (CDN). When a large number of users request video resources at the same time, it will put a lot of pressure on the origin servers and the CDN.

[0022] Secondly, HLS technology mainly indexes video segments based on resource addresses (Uniform Resource Locator, URL) and timestamps. This method makes it difficult to distinguish whether the timing and content of video segments are consistent, which can easily lead to incorrect merging and abnormal picture, making it difficult to guarantee content consistency.

[0023] In view of this, to address the technical problem of how to achieve multi-source distribution of streaming video while ensuring content consistency, thereby reducing the pressure on source servers and content distribution networks, this invention provides a video transmission method. First, content indexes and sequence indexes are set according to the data content and segment order of video segments. Then, mirror servers and clients storing video segments are located based on the content indexes and sequence indexes. Finally, video segments are distributed through the mirror servers and clients. This ensures content consistency of video segments based on content indexes and sequence indexes, and achieves multi-source distribution based on mirror servers and clients, thereby reducing the pressure on source servers and content distribution networks.

[0024] It should be noted that the hardware component executing this method can be referred to as a resource server, which is responsible for finding, scheduling, and distributing video resources. This embodiment does not limit the location of the resource server; for example, it can be located in the cloud or at the edge near the client.

[0025] For easier understanding, please refer to Figure 1 , Figure 1 A flowchart of a video transmission method provided in an embodiment of the present invention, the method may include: S10. Based on the video segment request from the first client, determine the content index and sequence index of the video segment; the content index and sequence index are set according to the data content and segment order of the video segment.

[0026] In this embodiment, the first client refers to the client requesting a video segment, and the video segment request is a request for a video segment. Upon receiving a video segment request from the first client, the resource server can determine the content index and sequence index corresponding to the video segment requested by the first client based on the video segment request.

[0027] It is worth noting that the content index can be set according to the data content of the video segment, thereby representing the video content of the video segment. The sequence index can be set according to the data content and segment order of the video segment, thereby simultaneously representing the video content and the playback order between video segments. Therefore, this embodiment can use both content index and sequence index to index the video segments according to their data content and segment order, thus ensuring the consistency of content and sequence of video segments during the indexing process.

[0028] It should be noted that this embodiment does not limit the way the content index is set, as long as it can represent the data content of the video segment. For example, the video segment can be hashed to obtain the content index.

[0029] This embodiment does not limit the method by which the resource server determines the content index of the video segment. For example, the first client can pre-store the content index and, when requesting a video segment, set the content index in the video segment request and send it to the resource server. Then, the resource server can extract the content index from the video segment request.

[0030] In addition, the resource server can pre-store content indexes and establish associations between these indexes and video segments, then save these associations in a pre-defined data table. When a video segment request is received, the resource server can query the corresponding video segment's content index from the aforementioned pre-defined data table. For example, the resource server can establish an association between the content index and the resource address of the video segment; upon receiving a video segment request, it can query the corresponding content index based on the resource address in the request.

[0031] Based on this, determining the content index of a video segment can include: S111, Extract the content index from the video segment request.

[0032] Alternatively, determining the content index of a video segment can include: S112. Based on the video segment request, query the content index of the video segment from the preset data table.

[0033] It is worth noting that when the content index is stored by the resource server and queried automatically, this embodiment does not require modification of the first client. This method can be implemented without changing the request logic of the first client, thereby ensuring compatibility.

[0034] Furthermore, this embodiment does not limit the method of setting the sequential index, as long as it can represent the data content and segment order of the video segments. For example, the content indexes of multiple video segments requested by the first client can be concatenated according to the segment order to obtain a sequential index. Alternatively, the content indexes of multiple video segments requested by the first client can be concatenated according to the segment order, and the concatenation result can be hashed to obtain a sequential index. In addition, to improve retrieval efficiency, metadata tags corresponding to the video segments requested by the first client can be obtained, and the metadata tags of the video segments can be set as sequential indexes according to the segment order of the video segments.

[0035] Based on this, determining the sequential index of a video segment can include: S121. Based on the segment order of the video clips, set the content index of the video clips as a sequential index.

[0036] Alternatively, determining the sequential index of a video segment can include: S122. Set the metadata tags of the video segments to sequential indexes according to the segment order.

[0037] S20. Locate the mirror server and / or second client that stores the video clips based on the content index and the sequence index.

[0038] S30. Transmit video clips to the first client via a mirror server and / or a second client.

[0039] In related technologies, the distribution of video clips is mainly handled by source servers and content delivery networks. Under conditions of concentrated user access, this can easily put significant pressure on source servers and content delivery networks.

[0040] This invention notes that, in addition to source servers and content delivery networks (CDNs), mirror servers (with different domains or mirror sites) storing the same video resources also exist on the internet. Therefore, fully utilizing these mirror servers for video segment distribution helps alleviate the pressure on source servers and CDNs. Furthermore, for popular video resources, a large number of users often play the same video at the same time. In this case, the client devices of these users store the same video resources, which can also be used for video segment distribution.

[0041] Therefore, in steps S20 and S30, after obtaining the content index and sequence index of the video segment, the resource server can use the above index to find the mirror server and / or the second client that stores the video segment. The second client refers to the client that has cached the video segment requested by the first client.

[0042] For example, the resource server can store the content index, the sequential index, and the relationships between the mirror server and the second client, and also save these relationships in a preset data table. Then, by querying the preset data table, the resource server can determine the mirror server or the second client that stores the video clip.

[0043] Furthermore, the resource server can transmit video clips to the first client via a mirror server and / or a second client, achieving P2S (multi-server collaboration) and P2P (end-to-end collaboration) acceleration. This allows for effective acceleration while ensuring content consistency, reducing CDN pressure and bandwidth costs, and improving playback stability and user experience.

[0044] Furthermore, if the mirror server and the second client storing the video clips cannot be found, the video clips are transmitted to the first client through the source server storing the video clips.

[0045] Based on this, the method may also include: S40. If the mirror server and the second client storing the video clip cannot be found, the video clip is transmitted to the first client through the source server storing the video clip.

[0046] Based on the above embodiments, the present invention first determines the content index and sequence index of a video segment according to the video segment request from the first client. The content index and sequence index are set according to the data content and segment order of the video segment; that is, the content index verifies the content consistency of the video segment, and the segment order verifies the sequential consistency of the video segment. Subsequently, the present invention can locate the mirror server and / or the second client storing the video segment based on the content index and sequence index, ensuring that the queried mirror server and the second client store video segments with consistent data content and segment order. Finally, the present invention can transmit the video segment to the first client through the mirror server and / or the second client. This allows for multi-source distribution by fully utilizing the mirror server and the second client while ensuring content consistency, thereby improving the streaming video distribution effect.

[0047] Based on the above embodiments, the method of distributing video segments via a second client will be described in detail below. In one implementation, transmitting video segments from a second client to a first client may include: S311. Send the sequence index and the offset position of the video segment in the video file to the second client, so that the second client can find the video segment in the local video file according to the offset position, determine the segment order according to the sequence index, and transmit the video segment to the first client according to the segment order.

[0048] In this embodiment, the resource server can send a sequence index and the offset position of the video segment in the video file to the second client to trigger the second client to return the video segment to the first client. Here, the video file refers to the original video file containing the video segment, and the offset position includes the offset value and length value of the video segment within the video file.

[0049] After receiving the above sequence index and offset position, the second client can locate the corresponding video segment in the local video file according to the offset position, use the sequence index to verify the content consistency and sequence consistency of the video segment, and then transmit the verified video segment to the first client in an orderly manner, thereby realizing P2P acceleration.

[0050] Furthermore, this method may also include: S321. Concatenate the content indexes of the video segments according to the segment order to obtain the verification information; S322. Send verification information to the first client so that the first client can use the verification information to verify the video segment transmitted by the second client.

[0051] In this embodiment, since the video segments transmitted by the second client to the first client may be erroneous, such as having incorrect content or incorrect segment order, the resource server can generate verification information for the first client to facilitate verification. Specifically, the resource server can concatenate the content indexes of the video segments according to their order to obtain the verification information. This verification information can then verify both the consistency of the video segment content and the consistency of the video segment order. Subsequently, the resource server can send the verification information to the first client. After receiving the verification information, the first client can use the content indexes to verify the data content of the video segments and verify the order of the video segments according to the concatenation order of the content indexes, thereby effectively verifying whether the video segments transmitted by the second client are correct and effectively ensuring the content consistency of P2P acceleration.

[0052] Based on the above embodiments, the method of distributing video segments via a mirror server will be described in detail below. In one implementation, transmitting a video segment to a first client via a mirror server may include: S331. Send the resource address of the video clip in the mirror server to the first client, so that the first client can obtain the video clip from the mirror server according to the resource address.

[0053] In this embodiment, the resource server can send the resource address of the video clip in the mirror server to the first client. The first client can then retrieve the video clip from the mirror server based on the resource address.

[0054] In another implementation, transmitting video clips to a first client via a mirror server may include: S332. Obtain video clips from the mirror server, perform edge caching on the video clips, and transmit the edge-cached video clips to the first client.

[0055] In this embodiment, the resource server can obtain video segments from the mirror server, perform edge caching on the video segments, and then transmit the edge-cached video segments to the first client. This way, when other clients request the same video segments from the resource server, the resource server can also send the cached video segments to the clients, improving video distribution efficiency.

[0056] The video transmission method described above is illustrated below with a specific example. Please refer to [link / reference]. Figure 2 , Figure 2 A flowchart of another video transmission method provided in an embodiment of the present invention, the process may include: 1. Index Calculation and Query: Generate and query TCID / TBCID / TGCID / TINFHash / TCount / TSRanges / FileSize. Among them: TCID (TS Content ID): Obtained by concatenating the three segments of data downloaded before, during, and after the m3u8 file, and then hashing the concatenation result; TBCID: The hash of each ts shard is calculated separately and then concatenated. TGCID: Rehashed based on TBCID; TINFHash: Calculated by hashing the concatenated EXTINF (metadata information) data in an m3u8 file. TCount: Number of ts fragments; TSRanges: The offset and length of each ts fragment in the concatenated complete file. FileSize: The total size of the file after concatenating the first and last elements of the ts file.

[0057] Subsequently, consistent video clips and available sources are filtered in the resource index center THUB's res-info / server-res. res-info stores the association between content index, sequence index, and video clips, while server-res stores the association between video clips and available sources.

[0058] 2. Data source verification and rollback: Content and sequence consistency verification is performed primarily using TINFHash. Inconsistent segments are returned to the original domain or the original CDN.

[0059] 3. P2S Collaboration: Multi-source server collaborative download and distribution improve hit rate and bandwidth utilization.

[0060] 4. P2P Scheduling and Data Transmission: The TGCID (as a sequence index) + range (as an offset position) is sent to the client that is an available source. Inter-end transmission is performed using TGCID + range as the download key, and the logical range of the video segment is mapped to the offset / length in the local video file. Additionally, the TBCID is sent to the client requesting the segment so that the client can use the TBCID as verification information for segment validation.

[0061] The following describes the video transmission device, resource server, computer-readable storage medium, and computer program product provided in the embodiments of the present invention. The video transmission device, resource server, computer-readable storage medium, and computer program product described below can be referred to in correspondence with the video transmission method described above.

[0062] Please refer to Figure 3 , Figure 3 This is a structural block diagram of a video transmission device provided in an embodiment of the present invention. The device may include: The index determination module 301 is used to determine the content index and sequence index of the video segment based on the video segment request from the first client; the content index and sequence index are set according to the data content and segment order of the video segment. The data source query module 302 is used to locate the mirror server and / or second client that stores video clips based on the content index and the sequence index. The transmission module 303 is used to transmit video clips to the first client via a mirror server and / or a second client.

[0063] Optionally, the index determination module 301 includes: The Sequential Index Determination submodule is used to set the content index of a video segment as a sequential index based on the segment order of the video segments; and / or, to set the metadata tag of a video segment as a sequential index based on the segment order of the video segments.

[0064] Optionally, the index determination module 301 includes: The content index determination submodule is used to extract the content index from the video clip request; or, based on the video clip request, to query the content index of the video clip from a preset data table.

[0065] Optionally, the transmission module 303 includes: The first transmission submodule is used to send the sequence index and the offset position of the video segment in the video file to the second client, so that the second client can find the video segment in the local video file according to the offset position, determine the segment order according to the sequence index, and transmit the video segment to the first client according to the segment order.

[0066] Optionally, the transmission module 303 includes: The verification information generation submodule is used to concatenate the content indexes of video segments according to the segment order to obtain verification information; The second transmission submodule is used to send verification information to the first client, so that the first client can use the verification information to verify the video segment transmitted by the second client.

[0067] Optionally, the transmission module 303 includes: The mirror transmission submodule is used to send the resource address of the video segment in the mirror server to the first client, so that the first client can obtain the video segment from the mirror server according to the resource address; or, obtain the video segment from the mirror server, perform edge caching on the video segment, and transmit the edge-cached video segment to the first client.

[0068] Optionally, it also includes: The source-following module is used to transmit video clips to the first client through the source server that stores the video clips if a mirror server and a second client that cannot be found are not available.

[0069] Please refer to Figure 4 , Figure 4 This is a structural block diagram of a resource server provided in an embodiment of the present invention. The embodiment of the present invention provides a resource server 10, including a processor 11 and a memory 12; wherein, the memory 12 is used to store a computer program; the processor 11 is used to execute the video transmission method provided in the foregoing embodiment when executing the computer program.

[0070] For details regarding the specific process of the above video transmission method, please refer to the relevant content provided in the foregoing embodiments, which will not be repeated here.

[0071] Furthermore, the memory 12, as a carrier for resource storage, can be a read-only memory, random access memory, disk, or optical disk, and the storage method can be temporary storage or permanent storage.

[0072] In addition, the resource server 10 also includes a power supply 13, a communication interface 14, an input / output interface 15, and a communication bus 16; wherein, the power supply 13 is used to provide operating voltage for each hardware device on the resource server 10; the communication interface 14 can create a data transmission channel between the resource server 10 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this invention, and is not specifically limited here; the input / output interface 15 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0073] This invention also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the video transmission method described in the above embodiments.

[0074] Since the embodiments of the computer program product portion correspond to the embodiments of the video transmission method portion, please refer to the description of the embodiments of the video transmission method portion for the embodiments of the computer program product portion, and will not be repeated here.

[0075] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the video transmission method described in the above embodiments.

[0076] Since the embodiments of the computer-readable storage medium portion correspond to the embodiments of the video transmission method portion, the embodiments of the storage medium portion are described in the description of the embodiments of the video transmission method portion, and will not be repeated here.

[0077] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.

[0078] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0079] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0080] The video transmission method, apparatus, resource server, and storage medium provided by this invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of this invention. It should be noted that those skilled in the art can make various improvements and modifications to this invention without departing from its principles, and these improvements and modifications also fall within the protection scope of this invention.

Claims

1. A video transmission method, characterized in that, include: Based on the video segment request from the first client, determine the content index and sequence index of the video segment; The content index and the sequence index are set according to the data content and segment order of the video segment; Based on the content index and the sequence index, locate the mirror server and / or the second client that stores the video clip; The video clip is transmitted to the first client via a mirror server and / or the second client.

2. The video transmission method according to claim 1, characterized in that, Determine the sequential index of the video clips, including: Based on the segment order of the video clips, the content index of the video clips is set as the sequence index; And / or, based on the segment order of the video segments, set the metadata tag of the video segment to the order index.

3. The video transmission method according to claim 1, characterized in that, Determine the content index of the video segment, including: Extract the content index from the video segment request; Alternatively, based on the video segment request, the content index of the video segment can be queried from a preset data table.

4. The video transmission method according to claim 1, characterized in that, Transmitting the video clip from the second client to the first client includes: The sequence index and the offset position of the video segment in the video file are sent to the second client, so that the second client can find the video segment in the local video file according to the offset position, determine the order of the segments according to the sequence index, and transmit the video segment to the first client according to the segment order.

5. The video transmission method according to claim 4, characterized in that, Also includes: The content indexes of the video segments are concatenated according to the segment order to obtain verification information; The verification information is sent to the first client so that the first client can use the verification information to verify the video segment transmitted by the second client.

6. The video transmission method according to claim 1, characterized in that, Transmitting the video clip to the first client via a mirror server includes: The resource address of the video clip in the mirror server is sent to the first client, so that the first client can obtain the video clip from the mirror server according to the resource address; Alternatively, the video segment can be obtained from the mirror server, edge-cached, and then transmitted to the first client.

7. The video transmission method according to claim 1, characterized in that, Also includes: If a mirror server and a second client storing the video clip cannot be found, the video clip is transmitted to the first client through the source server storing the video clip.

8. A video transmission device, characterized in that, include: The index determination module is used to determine the content index and sequence index of a video segment based on the video segment request from the first client. The content index and the sequence index are set according to the data content and segment order of the video segment; The data source query module is used to locate the mirror server and / or the second client that stores the video clip based on the content index and the sequence index. A transmission module is used to transmit the video segment to the first client via a mirror server and / or the second client.

9. A resource server, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the video transmission method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when loaded and executed by a processor, implement the video transmission method as described in any one of claims 1 to 7.