CN112671690B - Streaming media communication method, device, system and storage medium - Google Patents

Streaming media communication method, device, system and storage medium Download PDF

Info

Publication number
CN112671690B
CN112671690B CN201910980621.3A CN201910980621A CN112671690B CN 112671690 B CN112671690 B CN 112671690B CN 201910980621 A CN201910980621 A CN 201910980621A CN 112671690 B CN112671690 B CN 112671690B
Authority
CN
China
Prior art keywords
streaming media
index file
terminal
file
edge node
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.)
Active
Application number
CN201910980621.3A
Other languages
Chinese (zh)
Other versions
CN112671690A (en
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201910980621.3A priority Critical patent/CN112671690B/en
Publication of CN112671690A publication Critical patent/CN112671690A/en
Application granted granted Critical
Publication of CN112671690B publication Critical patent/CN112671690B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a streaming media communication method, a device, a system and a storage medium, and relates to the field of streaming media communication. The streaming media communication method comprises the following steps: in response to an acquisition request of a first terminal for acquiring target streaming media content, sending an original main index file of the target streaming media content to the first terminal under the condition that a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs; sending a secondary index file and a streaming media file of the target streaming media content and corresponding to the first code rate to an edge node of the first terminal for storage; in response to an acquisition request of a second terminal which belongs to the same edge node as the first terminal for acquiring the target streaming media content, modifying the address of a secondary index file corresponding to a first code rate in an original main index file of the target streaming media content into the address of the secondary index file corresponding to the first code rate in the edge node; and sending the modified main index file to the second terminal.

Description

Streaming media communication method, device, system and storage medium
Technical Field
The present invention relates to the field of streaming media communication, and in particular, to a streaming media communication method, apparatus, system, and storage medium.
Background
The adaptive Streaming media technology is a relatively common Streaming media technology in the internet in recent years, and among them, the Streaming media network transmission protocol Http Live Streaming (HLS) technology proposed by apple inc is most widely applied. At present, the HLS content is usually deployed in a cloud server, and the system efficiency and the user experience are affected by a long user access link, a heavy network load, and a high time delay. If the HLS content is completely sunk to the edge node at the user side, although the access delay is reduced, a large amount of storage overhead is increased, and the cost is high.
Disclosure of Invention
The embodiment of the invention aims to solve the technical problem that: how to reduce the network load without affecting the access delay of the streaming media content.
According to a first aspect of some embodiments of the present invention, there is provided a streaming media communication method, including: responding to an acquisition request of a first terminal for acquiring target streaming media content, and sending an original main index file of the target streaming media content to the first terminal under the condition that a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs, wherein the main index file comprises addresses of secondary index files corresponding to a plurality of code rates respectively, and the secondary index files comprise addresses of the streaming media files corresponding to the corresponding code rates, so that the first terminal selects a first code rate according to the original main index file and sequentially acquires the secondary index file and the streaming media file corresponding to the first code rate; sending a secondary index file and a streaming media file of the target streaming media content and corresponding to the first code rate to an edge node of the first terminal for storage; in response to an acquisition request of a second terminal which belongs to the same edge node as the first terminal for acquiring the target streaming media content, modifying the address of a secondary index file corresponding to a first code rate in an original main index file of the target streaming media content into the address of the secondary index file corresponding to the first code rate in the edge node, and generating a modified main index file; and sending the modified main index file to the second terminal so that the second terminal can sequentially acquire the secondary index file and the streaming media file according to the modified main index file.
In some embodiments, the streaming media communication method further comprises: under the condition that the second terminal selects a second code rate according to the modified main index file, acquiring an acquisition request of the second terminal to a secondary index file corresponding to the second code rate of the target streaming media content; sending a secondary index file corresponding to the second code rate to the second terminal so that the second terminal can obtain the streaming media file according to the secondary index file corresponding to the second code rate; sending a secondary index file corresponding to a second code rate and a corresponding streaming media file to an edge node to which a second terminal belongs for storage so that the edge node deletes the secondary index file and the streaming media file corresponding to the first code rate of the target streaming media content; in response to an acquisition request of a third terminal which acquires the target streaming media content and belongs to the same edge node as the second terminal, modifying the address of a secondary index file corresponding to a second code rate in an original primary index file of the target streaming media content into the address of a secondary index file corresponding to the second code rate in the edge node, and generating a modified primary index file; and sending the modified main index file to the third terminal so that the third terminal can sequentially acquire the secondary index file and the streaming media file according to the modified main index file.
In some embodiments, the streaming media communication method further comprises: deleting a streaming media file of target streaming media content which is not accessed within a preset time length in response to the edge node, and acquiring streaming media content and code rate corresponding to the deleted streaming media file; and responding to an acquisition request of a terminal under the acquisition edge node for the target streaming media content, and sending the original main index file of the target streaming media content to the corresponding terminal.
In some embodiments, in the case that the address of the streaming media file in the secondary index file is an absolute URL, the streaming media communication method further includes: and modifying the address of the streaming media file in the secondary index file corresponding to the first code rate of the target streaming media content into the address of the corresponding streaming media file in the edge node so as to send the modified secondary index file and the modified streaming media file to the edge node to which the first terminal belongs for storage.
In some embodiments, the first terminal selects the first bitrate based on current network conditions and an original master index file.
In some embodiments, the primary index file and the secondary index file are in m3u8 format, and the streaming media content includes one or more TS slices.
According to a second aspect of some embodiments of the present invention, there is provided a streaming media communication device, including: the first sending module is configured to respond to an obtaining request of a first terminal for obtaining target streaming media content, send an original main index file of the target streaming media content to the first terminal under the condition that a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs, wherein the main index file comprises addresses of secondary index files corresponding to a plurality of code rates, and the secondary index files comprise addresses of the streaming media files corresponding to the corresponding code rates, so that the first terminal selects a first code rate according to the original main index file and sequentially obtains the secondary index file and the streaming media file corresponding to the first code rate; sending the modified main index file to the second terminal so that the second terminal can sequentially obtain the secondary index file and the streaming media file according to the modified main index file; the second sending module is configured to send the second-level index file and the streaming media file of the target streaming media content, corresponding to the first code rate, to the edge node to which the first terminal belongs for storage; and the modification module is configured to respond to an acquisition request of a second terminal which acquires the target streaming media content and belongs to the same edge node as the first terminal, modify the address of a secondary index file corresponding to a first code rate in an original main index file of the target streaming media content into the address of the secondary index file corresponding to the first code rate in the edge node, and generate a modified main index file.
According to a third aspect of some embodiments of the present invention, there is provided a streaming media communication system, comprising: the streaming media communication device; and the edge node is configured to store a secondary index file and a streaming media file, which are sent by the streaming media communication device and correspond to the first code rate, of the target streaming media content.
According to a fourth aspect of some embodiments of the present invention, there is provided a streaming media communication device, including: a memory; and a processor coupled to the memory, the processor configured to perform any of the foregoing streaming media communication methods based on instructions stored in the memory.
According to a fifth aspect of some embodiments of the present invention, there is provided a computer-readable storage medium on which a computer program is stored, wherein the program, when executed by a processor, implements any one of the streaming media communication methods described above.
Some embodiments of the above invention have the following advantages or benefits: the embodiment of the invention reduces the network load under the condition of not influencing the access delay of the streaming media content, fully improves the system efficiency and the user experience, and saves a large amount of edge node storage space.
Other features of the present invention and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is an exemplary diagram of HLS content structure.
Fig. 2 is a flow chart illustrating a streaming media communication method according to some embodiments of the invention.
Fig. 3 is a flow chart illustrating a streaming media communication method according to some embodiments of the invention.
Fig. 4 is an embodiment of a method of streaming media communication according to further embodiments of the present invention.
Fig. 5 is a schematic structural diagram of a streaming media communication device according to some embodiments of the invention.
Fig. 6 is a schematic diagram of a streaming media communication system according to some embodiments of the invention.
Fig. 7 is a schematic structural diagram of a streaming media communication device according to another embodiment of the present invention.
Fig. 8 is a schematic structural diagram of a streaming media communication device according to further embodiments of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
The HLS technology encodes video source content according to a plurality of set code rates (the code rate is from low to high and represents that the video quality is from poor to good) through an encoder, divides the content of each code rate into a plurality of TS fragments with fixed time duration, and simultaneously generates a main index file and a secondary index file in an m3u8 format. The main index file records code rate information and addresses (such as URL addresses) of respective corresponding secondary index files, and the secondary index files record information such as duration, file names and index addresses of each TS fragment under the code rate. The user terminal analyzes the main index file after downloading the main index file, and adaptively selects the secondary index file and the TS fragment with corresponding code rates according to the network bandwidth condition of the user terminal, so that the user can obtain smooth and unsmooth user experience under different network bandwidth conditions. An exemplary HLS content structure is shown in fig. 1, where a.m3u8 is a main index file, and records three bit rates of 200000bps, 484444bps and 737777bps and URL addresses of secondary index files index.m3u8 corresponding to the three bit rates; the second-level index file records TS fragment information at the code rate, # EXTINF represents the fragment duration, and 001.TS and 002.TS … …. TS are the file names of the fragments.
After the analysis, the inventor adjusts the storage form of the streaming media content in the network, and dynamically modifies the main index file to guide the user terminal to the corresponding network position to obtain the streaming media file.
Fig. 2 is a flow chart illustrating a streaming media communication method according to some embodiments of the invention. As shown in fig. 2, the streaming media communication method of this embodiment includes steps S202 to S214. The steps not indicating the execution subject may be performed in the cloud, for example, by a cloud server.
In step S202, an acquisition request of the first terminal for the target streaming media content is acquired.
The streaming media content is, for example, video, and the target streaming media content is the streaming media content that the user wants to obtain. The same streaming media content can correspond to a plurality of code rates, and each code rate has a corresponding streaming media file.
In step S204, when the streaming media file of the target streaming media content is not stored on the edge node to which the first terminal belongs, the original main index file of the target streaming media content is sent to the first terminal. The edge node to which the terminal belongs may be, for example, the edge node closest to the terminal.
The main index file comprises addresses of a secondary index file corresponding to a plurality of code rates respectively, and the secondary index file comprises addresses of the streaming media file corresponding to the corresponding code rates. In some embodiments, the primary index file and the secondary index file are in m3u8 format, and the streaming media content includes one or more Transport Stream (TS) slices. That is, the streaming media content may be organized based on HLS.
In step S206, the first terminal selects a first code rate according to the original main index file, and sequentially obtains a secondary index file and a streaming media file corresponding to the first code rate.
In some embodiments, the first terminal selects the first bitrate based on current network conditions and an original master index file.
The original primary index file still points to the address of the secondary index file in the cloud, such as the local address of the cloud server or cloud storage device. Therefore, the first terminal can acquire the second-level index file from the cloud end and acquire the streaming media file with the first code rate according to the second-level index file.
Therefore, under the condition that the current edge node does not store the streaming media file of any code rate version of the target streaming media content, the first terminal still obtains the streaming media file from the cloud.
In step S208, the secondary index file and the streaming media file of the target streaming media content and corresponding to the first bitrate are sent to the edge node to which the first terminal belongs to be stored.
In the secondary index file, the relative address or absolute address of the streaming media file can be recorded, and those skilled in the art can configure the relative address or absolute address as needed.
In some embodiments, if the relative address of the streaming media file is recorded in the secondary index file, the original secondary index file, that is, the secondary index file consistent with the cloud content, may be directly sent to the edge node. Under the condition that the relative positions of the secondary index file and the streaming media file are not changed, the streaming media file stored in the edge node can be indexed through the secondary index file stored in the edge node. The modification amount of the mode is small, and the processing efficiency is higher.
In some embodiments, if the absolute address of the streaming media file is recorded in the secondary index file, before the file is delivered to the edge node, the address of the streaming media file in the secondary index file corresponding to the first bitrate of the target streaming media content may be modified to the address of the corresponding streaming media file in the edge node, so as to send the modified secondary index file and the modified streaming media file to the edge node to which the first terminal belongs for storage. Thus, the streaming media file at the edge node can also be indexed through the secondary index file stored at the edge node. This approach may allow the edge node more flexibility in setting the relative storage locations of the secondary index file and the streaming media file.
In step S210, an acquisition request for the same target streaming media content from a second terminal belonging to the same edge node as the first terminal is acquired. At this time, the edge node already stores the secondary index file and the streaming media file corresponding to a certain bit rate of the target streaming media content.
The second terminal is any terminal belonging to the same edge node as the first terminal, and may be different from or the same as the first terminal.
In step S212, an address of a secondary index file corresponding to a first bitrate in an original primary index file of the target streaming media content is modified to an address of the secondary index file corresponding to the first bitrate in the edge node, and a modified primary index file is generated.
In some embodiments, storage information for each edge node may be recorded to quickly determine whether the primary index file needs to be modified.
In step S214, the modified main index file is sent to the second terminal, so that the second terminal sequentially obtains the secondary index file and the streaming media file according to the modified main index file.
Because the second terminal under the edge node requests the same streaming media content and the data related to the first bit rate of the streaming media content is already sent to the edge node, the main index file sent to the second terminal needs to be changed, so that the content needing to be acquired by the second terminal is preferentially acquired from the edge node when the second terminal has a copy in the edge node.
By the method of the embodiment, the streaming media content requested by the terminal can be stored in the edge node, so that when other terminals under the same edge node request the same streaming media content, the corresponding main index file is modified to guide the other terminals to preferentially acquire the streaming media content from the edge node under the condition that the streaming media files corresponding to the same code rate are required. Because the network quality of the terminals under the same edge node and in the same time period is generally similar, the service quality of most terminals requiring the same code rate can be improved, and a few terminals requiring other code rates can still obtain streaming media contents from the cloud. Therefore, the embodiment reduces the network load under the condition of not influencing the access delay of the streaming media content, fully improves the system efficiency and the user experience, and saves a large amount of edge node storage space.
In some embodiments, for the same streaming media content, if the edge node already stores the streaming media file with the first bitrate, but due to a network quality change or other reasons, other terminals under the same edge node request the streaming media file with other bitrate, the edge node may replace the related data with the first bitrate with the related data with the second bitrate. The streaming media communication method in this case is described below with reference to fig. 3.
Fig. 3 is a flow chart illustrating a streaming media communication method according to some embodiments of the invention. In this embodiment, the edge node already stores the second-level index file and the streaming media file corresponding to the first bitrate of the target streaming media content. As shown in fig. 3, the streaming media communication method of this embodiment includes steps S302 to S316.
In step S302, an acquisition request of the second terminal for the target streaming media content is acquired.
In step S304, an address of a secondary index file corresponding to a first bitrate in an original primary index file of the target streaming media content is modified to an address of the secondary index file corresponding to the first bitrate in the edge node, and a modified primary index file is generated.
In step S306, the modified primary index file is transmitted to the second terminal.
At this time, the main index file guides the second terminal to obtain the related content of the first code rate from the edge node and obtain the related content of other code rates from the cloud.
In step S308, an obtaining request of the second terminal to obtain a secondary index file corresponding to the second code rate of the target streaming media content is obtained.
In step S310, a secondary index file corresponding to the second code rate is sent to the second terminal, so that the second terminal can obtain the streaming media file according to the secondary index file corresponding to the second code rate.
In step S312, the second-level index file corresponding to the second bitrate and the corresponding streaming media file are sent to the edge node to which the second terminal belongs, and the edge node deletes the second-level index file and the streaming media file corresponding to the first bitrate of the target streaming media content.
In step S314, in response to an obtaining request of a third terminal that obtains the target streaming media content and belongs to the same edge node as the second terminal, an address of a secondary index file corresponding to a second bitrate in an original primary index file of the target streaming media content is modified to an address of the secondary index file corresponding to the second bitrate in the edge node, and a modified primary index file is generated.
At this time, the main index file guides the third terminal to obtain the related content of the second code rate from the edge node and obtain the related content of other code rates from the cloud.
The third terminal is any terminal belonging to the same edge node as the first terminal and the second terminal, and may be different from or the same as the first terminal and the second terminal.
In step S316, the modified main index file is sent to the third terminal, so that the third terminal sequentially obtains the secondary index file and the streaming media file according to the modified main index file.
By the method of the embodiment, under the edge node in which the related file with the first bitrate is stored, when other terminals request the related file with the second bitrate of the same streaming media content, the file in the edge node can be replaced by the related file with the second bitrate, so that the current state of the terminal under the edge node can be adjusted in time, more terminals can be provided with services accessed nearby, and the system efficiency is improved.
An embodiment of the invention is illustratively described below in conjunction with a specific application scenario. In this embodiment, terminal a and terminal B belong to the same edge node.
The terminal A initiates an acquisition request of a first video collection (ID is 1) of the documentary X to the cloud server. The cloud server sends an original main index file a.m3u8 to the terminal a, and the content of the main index file is shown in table 1. The code rates of the two levels of index files are 200000bps, 484444bps and 737777bps, and the relative URLs of the corresponding two levels of index files are gear1/index.m3u8, gear1/index.m3u8 and gear 1/index.m3u8.
TABLE 1
Figure BDA0002235069800000101
The current network condition of the terminal A is good, so that the highest code rate is selected to be 737777bps automatically, a secondary index file is obtained from gear3/index.m3u8, and TS fragments corresponding to 737777bps are downloaded from the cloud.
The cloud server pushes the secondary index file and the TS fragment corresponding to 737777bps to the edge node to which the terminal A belongs.
And the terminal B under the same edge node initiates an acquisition request for the same video. Because the file corresponding to 737777bps is stored in the edge node to which the terminal B belongs, the cloud server modifies the main index file a.m3u8 in real time, replaces the address of the secondary index file corresponding to the code rate 737777bps with the address of the secondary index file at the edge node (for example, http:// www.hlsnode01.cn/gear3/index.m3u8), and sends the modified a.m3u8 to the terminal B. The modified a.m3u8 is shown in table 2.
TABLE 2
Figure BDA0002235069800000102
When the network condition of the terminal B is good, the secondary index file of 737777bps is automatically requested according to the a.m3u8, so that the edge node can be accessed nearby and the secondary index file and the fragments can be obtained.
And if the bandwidth of the terminal B is reduced, the terminal B requests a file corresponding to the medium bitrate of 484444 bps. The address of the secondary index file corresponding to 484444bps still points to the cloud, so terminal B still downloads the corresponding content from the cloud at this time. Then, the cloud server records the latest code rate information of the video with the ID of 1 requested by the terminal under the edge node, and pushes the secondary index file and the fragment corresponding to the 484444bps code rate to the edge node. And emptying the secondary index file and the fragments corresponding to the 737777bps code rate by the edge node.
In some embodiments, when the content stored by the edge node is not accessed for a long time, the edge node may also empty the corresponding content and feed back to the cloud. A processing method for a file which has not been accessed for a long time is described below with reference to fig. 4.
Fig. 4 is an embodiment of a method of streaming media communication according to further embodiments of the present invention. As shown in fig. 4, the streaming media communication method of this embodiment includes steps S402 to S404.
In step S402, in response to the edge node deleting the streaming media file of the target streaming media content that is not accessed within the preset time period, the streaming media content and the bit rate corresponding to the deleted streaming media file are obtained.
In step S404, in response to an acquisition request of a terminal under an acquisition edge node for the target streaming media content, an original main index file of the target streaming media content is sent to the corresponding terminal. The method of the previous embodiment may then also be performed to backup the accessed content to the edge node.
By the method of the embodiment, the content stored by the edge node can be cleared when the content is not accessed for a long time, so that the available storage space of the edge node is increased.
An embodiment of the streaming media communication device of the present invention is described below with reference to fig. 5.
Fig. 5 is a schematic structural diagram of a streaming media communication device according to some embodiments of the invention. As shown in fig. 5, the streaming media communication apparatus 500 of this embodiment includes: the first sending module 5100 is configured to, in response to an acquisition request of an acquisition first terminal for a target streaming media content, send an original main index file of the target streaming media content to the first terminal when a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs, where the main index file includes addresses of secondary index files corresponding to a plurality of code rates, respectively, and the secondary index files include addresses of the streaming media files corresponding to the respective code rates, so that the first terminal selects a first code rate according to the original main index file and sequentially acquires the secondary index file and the streaming media file corresponding to the first code rate; sending the modified main index file to the second terminal so that the second terminal can sequentially acquire a secondary index file and a streaming media file according to the modified main index file; a second sending module 5200, configured to send, to the edge node to which the first terminal belongs, a secondary index file and a streaming media file, which are of the target streaming media content and correspond to the first bitrate, to be stored; the modifying module 5300 is configured to, in response to an acquisition request of a second terminal, which acquires a target streaming media content and belongs to the same edge node as the first terminal, modify an address of a secondary index file corresponding to a first code rate in an original primary index file of the target streaming media content to an address of the secondary index file corresponding to the first code rate in the edge node, and generate a modified primary index file.
In some embodiments, further comprising: the obtaining module 5400 is configured to, under the condition that the second terminal selects the second code rate according to the modified main index file, obtain an obtaining request of the second terminal to the secondary index file corresponding to the second code rate of the target streaming media content; the first sending module 5100 is further configured to send a secondary index file corresponding to the second bitrate to the second terminal, so that the second terminal obtains the streaming media file according to the secondary index file corresponding to the second bitrate; the second sending module 5200 is further configured to send the secondary index file corresponding to the second bitrate and the corresponding streaming media file to the edge node to which the second terminal belongs, so that the edge node deletes the secondary index file and the streaming media file corresponding to the first bitrate of the target streaming media content; the modifying module 5300 is further configured to, in response to an acquisition request to acquire target streaming media content from a third terminal that belongs to the same edge node as the second terminal, modify an address of a secondary index file corresponding to a second bitrate in an original primary index file of the target streaming media content to an address of the secondary index file corresponding to the second bitrate in the edge node, and generate a modified primary index file; the first sending module 5100 is further configured to send the modified primary index file to the third terminal, so that the third terminal sequentially obtains the secondary index file and the streaming media file according to the modified primary index file.
In some embodiments, the obtaining module 5400 is further configured to, in response to the edge node deleting a streaming media file of a target streaming media content that is not accessed within a preset time period, obtain a streaming media content and a code rate corresponding to the deleted streaming media file; the first sending module 5100 is further configured to send an original master index file of the target streaming media content to a corresponding terminal in response to an acquisition request of the terminal under the acquisition edge node for the target streaming media content.
An embodiment of the streaming media communication apparatus of the present invention is described below with reference to fig. 6.
Fig. 6 is a schematic structural diagram of a streaming media communication system according to some embodiments of the invention. As shown in fig. 6, the streaming media communication system of this embodiment includes: a streaming media communication device 610; and an edge node 620 configured to store the streaming media file and the secondary index file corresponding to the first bitrate of the target streaming media content sent by the streaming media communication device.
In some embodiments, the streaming media communication device 610 may be a cloud server.
Fig. 7 is a schematic structural diagram of a streaming media communication device according to another embodiment of the present invention. As shown in fig. 7, the streaming media communication device 70 of this embodiment includes: a memory 710 and a processor 720 coupled to the memory 710, wherein the processor 720 is configured to execute the streaming media communication method in any of the foregoing embodiments based on instructions stored in the memory 710.
Memory 710 may include, for example, system memory, fixed non-volatile storage media, and the like. The system memory stores, for example, an operating system, an application program, a Boot Loader (Boot Loader), and other programs.
Fig. 8 is a schematic structural diagram of a streaming media communication device according to still other embodiments of the invention. As shown in fig. 8, the streaming media communication device 80 of this embodiment includes: the memory 810 and the processor 820 may further include an input/output interface 830, a network interface 840, a storage interface 850, and the like. These interfaces 830, 840, 850 and the memory 810 and the processor 820 may be connected, for example, by a bus 860. The input/output interface 830 provides a connection interface for input/output devices such as a display, a mouse, a keyboard, and a touch screen. The network interface 840 provides a connection interface for various networking devices. The storage interface 850 provides a connection interface for external storage devices such as an SD card and a usb disk.
An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, wherein the computer program is configured to implement any one of the streaming media communication methods when executed by a processor.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and should not be taken as limiting the scope of the present invention, which is intended to cover any modifications, equivalents, improvements, etc. within the spirit and scope of the present invention.

Claims (10)

1. A streaming media communication method, comprising:
responding to an acquisition request of a first terminal for acquiring target streaming media content, and sending an original main index file of the target streaming media content to the first terminal under the condition that a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs, wherein the main index file comprises addresses of secondary index files corresponding to a plurality of code rates, and the secondary index files comprise addresses of the streaming media files corresponding to the corresponding code rates, so that the first terminal selects a first code rate according to the original main index file and sequentially acquires the secondary index file and the streaming media file corresponding to the first code rate;
sending a secondary index file and a streaming media file of the target streaming media content corresponding to the first code rate to an edge node of a first terminal for storage;
in response to an acquisition request of a second terminal which acquires the target streaming media content and belongs to the same edge node as the first terminal, modifying the address of a secondary index file corresponding to a first code rate in an original main index file of the target streaming media content into the address of the secondary index file corresponding to the first code rate in the edge node, and generating a modified main index file;
and sending the modified main index file to the second terminal so that the second terminal can sequentially acquire the secondary index file and the streaming media file according to the modified main index file.
2. The streaming media communication method according to claim 1, further comprising:
under the condition that the second terminal selects a second code rate according to the modified main index file, acquiring an acquisition request of the second terminal to a secondary index file corresponding to the second code rate of the target streaming media content;
sending the second-level index file corresponding to the second code rate to a second terminal so that the second terminal can obtain the streaming media file according to the second-level index file corresponding to the second code rate;
sending the secondary index file corresponding to the second code rate and the corresponding streaming media file to an edge node to which a second terminal belongs for storage so that the edge node deletes the secondary index file and the streaming media file corresponding to the first code rate of the target streaming media content;
in response to an acquisition request of a third terminal which acquires the target streaming media content and belongs to the same edge node as the second terminal, modifying the address of a secondary index file corresponding to a second code rate in an original primary index file of the target streaming media content into the address of the secondary index file corresponding to the second code rate in the edge node, and generating a modified primary index file;
and sending the modified main index file to the third terminal so that the third terminal can sequentially acquire a secondary index file and a streaming media file according to the modified main index file.
3. The streaming media communication method according to claim 1, further comprising:
deleting the streaming media file of the target streaming media content which is not accessed within a preset time length in response to the edge node, and acquiring the streaming media content and the code rate corresponding to the deleted streaming media file;
and sending the original main index file of the target streaming media content to a corresponding terminal in response to an acquisition request of the terminal under the edge node for acquiring the target streaming media content.
4. The streaming media communication method according to claim 1, wherein in a case where the address of the streaming media file in the secondary index file is an absolute URL, the streaming media communication method further comprises:
and modifying the address of the streaming media file in the secondary index file corresponding to the first code rate of the target streaming media content into the address of the corresponding streaming media file in the edge node so as to send the modified secondary index file and the streaming media file to the edge node to which the first terminal belongs for storage.
5. The streaming media communication method according to claim 1, wherein the first terminal selects the first code rate according to the current network condition and the original master index file.
6. The streaming media communication method according to claim 1, wherein the primary index file and the secondary index file are in m3u8 format, and the streaming media content comprises one or more TS segments.
7. A streaming media communication device, comprising:
the first sending module is configured to respond to an obtaining request of a first terminal for obtaining target streaming media content, and send an original main index file of the target streaming media content to the first terminal under the condition that a streaming media file of the target streaming media content is not stored on an edge node to which the first terminal belongs, wherein the main index file comprises addresses of secondary index files corresponding to a plurality of code rates, and the secondary index files comprise addresses of the streaming media files corresponding to the corresponding code rates, so that the first terminal selects a first code rate according to the original main index file and obtains the secondary index file and the streaming media file corresponding to the first code rate in sequence; sending the modified main index file to the second terminal so that the second terminal can sequentially acquire a secondary index file and a streaming media file according to the modified main index file;
the second sending module is configured to send the second-level index file and the streaming media file of the target streaming media content, which correspond to the first code rate, to the edge node to which the first terminal belongs for storage; and
and the modification module is configured to respond to an acquisition request of a second terminal which acquires the target streaming media content and belongs to the same edge node as the first terminal, modify the address of a secondary index file corresponding to a first code rate in an original main index file of the target streaming media content into the address of the secondary index file corresponding to the first code rate in the edge node, and generate a modified main index file.
8. A streaming media communication system, comprising:
the streaming media communication device of claim 7; and
and the edge node is configured to store a secondary index file and a streaming media file, which are sent by the streaming media communication device and correspond to the first code rate, of the target streaming media content.
9. A streaming media communication device, comprising:
a memory; and
a processor coupled to the memory, the processor configured to perform the streaming media communication method of any of claims 1-6 based on instructions stored in the memory.
10. A computer-readable storage medium on which a computer program is stored, which program, when executed by a processor, implements the streaming media communication method of any of claims 1-6.
CN201910980621.3A 2019-10-16 2019-10-16 Streaming media communication method, device, system and storage medium Active CN112671690B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910980621.3A CN112671690B (en) 2019-10-16 2019-10-16 Streaming media communication method, device, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910980621.3A CN112671690B (en) 2019-10-16 2019-10-16 Streaming media communication method, device, system and storage medium

Publications (2)

Publication Number Publication Date
CN112671690A CN112671690A (en) 2021-04-16
CN112671690B true CN112671690B (en) 2022-08-30

Family

ID=75400015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910980621.3A Active CN112671690B (en) 2019-10-16 2019-10-16 Streaming media communication method, device, system and storage medium

Country Status (1)

Country Link
CN (1) CN112671690B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333818A (en) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 Splicing method and splicing system for HTTP real-time streaming media fragment
CN104349176A (en) * 2013-07-30 2015-02-11 中国电信股份有限公司 Self-adaptive stream media system, downloading method and stream media server, user terminal
CN108347625A (en) * 2018-03-09 2018-07-31 北京数码视讯软件技术发展有限公司 A kind of method and apparatus of TS Streaming Medias positioning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1572463B1 (en) * 2002-12-02 2011-04-06 Silverbrook Research Pty. Ltd Dead nozzle compensation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104349176A (en) * 2013-07-30 2015-02-11 中国电信股份有限公司 Self-adaptive stream media system, downloading method and stream media server, user terminal
CN104333818A (en) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 Splicing method and splicing system for HTTP real-time streaming media fragment
CN108347625A (en) * 2018-03-09 2018-07-31 北京数码视讯软件技术发展有限公司 A kind of method and apparatus of TS Streaming Medias positioning

Also Published As

Publication number Publication date
CN112671690A (en) 2021-04-16

Similar Documents

Publication Publication Date Title
US11194719B2 (en) Cache optimization
US20150237113A1 (en) Method and system for file transmission
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN106534243B (en) Caching, requesting and responding method based on HTTP protocol and corresponding device
CN104581374B (en) A kind of method, node and server for obtaining section file and generating sub- m3u8 files
EP3757777A1 (en) Webpage loading method, server, and webpage loading system
CN104349176A (en) Self-adaptive stream media system, downloading method and stream media server, user terminal
EP2879394A1 (en) Digital television terminal, video file playing method and video file playing system
CN105743945B (en) Document down loading method and system based on switching loading source
JP6338709B2 (en) Streaming apparatus and method thereof, streaming service system using the same, and computer-readable recording medium (streaming apparatus and method thereof, streaming service system using the streaming medium and computer readable)
CN107566477B (en) Method and device for acquiring files in distributed file system cluster
CN107040615B (en) Downloading method of media fragment, terminal and computer readable storage medium
CN109714406B (en) Method and equipment for processing resource description file and acquiring page resource
CN103826139A (en) CDN system, watching server and streaming media data transmission method
CN106202083A (en) Resource packaging system, method and device for web page
CN106899894A (en) The adaptive stream media method of dynamic optimization, device and server
CN114138325A (en) Gray scale publishing method and device
CN103546829A (en) Method and device for processing video service
CN110519656B (en) Self-adaptive streaming media playing method, system and server
CN109274720B (en) Method and system for transmitting data
CN111176706A (en) Terminal upgrading method and device, electronic equipment and storage medium
CN112671690B (en) Streaming media communication method, device, system and storage medium
CN101415029B (en) Method and apparatus for distributing files
KR102024642B1 (en) Live Steaming Server device and operating method thereof
CN103685179A (en) Method, device and system for compressing content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant