CN111064969B - Streaming media data transmission method, equipment, device and computer storage medium - Google Patents

Streaming media data transmission method, equipment, device and computer storage medium Download PDF

Info

Publication number
CN111064969B
CN111064969B CN201811204623.5A CN201811204623A CN111064969B CN 111064969 B CN111064969 B CN 111064969B CN 201811204623 A CN201811204623 A CN 201811204623A CN 111064969 B CN111064969 B CN 111064969B
Authority
CN
China
Prior art keywords
chunk
file
sub
fragments
chunk sub
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
CN201811204623.5A
Other languages
Chinese (zh)
Other versions
CN111064969A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201811204623.5A priority Critical patent/CN111064969B/en
Priority to PCT/CN2019/111485 priority patent/WO2020078388A1/en
Publication of CN111064969A publication Critical patent/CN111064969A/en
Application granted granted Critical
Publication of CN111064969B publication Critical patent/CN111064969B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Abstract

The embodiment of the invention provides a streaming media data transmission method, equipment, a device and a computer storage medium, wherein the method is applied to a Package and comprises the following steps: generating at least one streaming media data file containing a file fragment of a chunk sub-fragment, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played; when a request for acquiring the chunk sub-slices is received from a CDN edge node of a content delivery network, the corresponding chunk sub-slices are sent to the CDN edge node according to the request for acquiring the chunk sub-slices.

Description

Streaming media data transmission method, equipment, device and computer storage medium
Technical Field
Embodiments of the present invention relate to, but are not limited to, media data transmission technologies, and in particular, to a streaming media data transmission method, apparatus, device, and computer storage medium.
Background
OTT (Over-The-Top) live broadcast refers to live broadcast service based on Internet, in The relevant OTT live broadcast technology, after stream media data is obtained from a stream media content providing end, file fragments can be generated based on The stream media data, and then The file fragments are distributed through a content distribution network (Content Delivery Network, CDN) network, so that The file fragments are provided for a terminal; after receiving any one file fragment, the terminal can play the file fragment; in the above OTT live broadcasting technical solution, the live broadcasting delay of playing the media file on the terminal has a close relationship with the time length of the file slicing; in order to shorten the live time delay, the time length of the file fragments can be set to be shorter, so that a large number of file fragments can be generated, and the storage pressure of the file fragments is increased; if the time length of the file slicing is set longer, the live time delay of playing the media file by the terminal is increased.
Disclosure of Invention
The embodiment of the invention provides a streaming media data transmission method, equipment, a device and a computer storage medium, which can solve the problems of longer live broadcast delay of a terminal playing media file and larger storage pressure of file fragments in the related technology.
In order to achieve the above object, the technical solution of the embodiment of the present invention is as follows:
the embodiment of the invention provides a streaming media data transmission method, which is applied to a wrapper, and comprises the following steps:
generating at least one streaming media data file containing one or more file fragments, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played;
when a request for acquiring the chunk sub-slices is received from a CDN edge node of a content delivery network, the corresponding chunk sub-slices are sent to the CDN edge node according to the request for acquiring the chunk sub-slices.
Optionally, the generating at least one streaming media data file including one or more file fragments includes:
acquiring a streaming media data file, and separating audio data and video data from the streaming media data file; generating at least one streaming media data file containing the file fragments corresponding to the audio data, and generating at least one streaming media data file containing the file fragments corresponding to the video data.
Optionally, the request for obtaining the chunk sub-chunk carries identification information of the chunk file corresponding to the chunk requested to be obtained and an index of the chunk sub-chunk requested to be obtained.
Optionally, the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the generated file fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
Optionally, the method further comprises: after generating a file fragment containing the chunk sub-fragments, sequentially storing the chunk sub-fragments in the corresponding file fragments according to the sequence of the chunk sub-fragments in the corresponding file fragments which are appointed in advance aiming at the generated file fragment; when the number of the stored chunk sub-fragments is larger than a preset value, sequentially deleting at least one stored chunk sub-fragment according to the sequential time sequence relation of each stored chunk sub-fragment, so that the number of the stored chunk sub-fragments is smaller than or equal to the preset value;
the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the currently stored chunk sub-fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
Optionally, the sequentially storing each chunk sub-chunk in the corresponding file chunk includes: and sequentially storing each chunk sub-segment in the corresponding file segment in the memory of the Package.
Optionally, the sequentially storing each chunk sub-chunk in the corresponding file chunk includes: storing each chunk sub-segment in the corresponding file segment in a queue form;
the method further comprises the steps of: and establishing a queue index aiming at the queue, wherein the queue index is used for indicating the identification information of the file fragments corresponding to each chunk sub-fragment stored in the queue and the position information of the first chunk sub-fragment of each file fragment in the queue.
Optionally, the method further comprises:
when determining that the chunk sub-slice corresponding to the request for acquiring the chunk sub-slice is not the last chunk sub-slice of one file slice, sending indication information that the file slice is not completed to the CDN edge node when sending the corresponding chunk sub-slice to the CDN edge node;
when determining that the chunk sub-chunk corresponding to the request for acquiring the chunk sub-chunk is the last chunk sub-chunk of a file chunk, sending indication information that the file chunk is completed to the CDN edge node when sending the corresponding chunk sub-chunk to the CDN edge node.
The embodiment of the invention also provides a streaming media data transmission method which is applied to the CDN edge node of the content delivery network, and the method comprises the following steps:
when a request of a terminal for acquiring a file fragment containing a chunk sub-fragment is received, and when at least one chunk sub-fragment of the file fragment containing the chunk sub-fragment is not found locally, sending the request for acquiring the chunk sub-fragment to a wrapper, wherein the chunk sub-fragment is a file capable of being played independently;
and when the chunk sub-slices from the Package are received, sending the chunk sub-slices from the Package to the terminal.
Optionally, the method further comprises:
when a request of a terminal for acquiring the file fragments containing the chunk sub-fragments is received, and when at least one chunk sub-fragment in the file fragments containing the chunk sub-fragments is found out locally, the at least one found out locally chunk sub-fragment is sent to the terminal.
Optionally, the method further comprises:
and when the chunk sub-slices from the Package are received, storing the chunk sub-slices from the Package locally.
Optionally, the storing the chunk sub-slices from the Package locally includes: a file segment caching mechanism is used locally to store the chunk sub-fragments of each file fragment from the Package.
Optionally, the request for acquiring the chunk sub-chunk carries identification information of a file chunk corresponding to the chunk sub-chunk requested to be acquired and an index of the chunk sub-chunk requested to be acquired.
Optionally, the method further comprises:
after a request for acquiring an ith chunk sub-fragment in the file fragments is sent to the Package, when indication information that the file fragments are not transmitted completely is received, continuing to send a request for acquiring an (i+1) th chunk sub-fragment in the file fragments to the Package; i is an integer greater than or equal to 1;
after a request for acquiring the ith chunk sub-chunk in the file chunk is sent to the Package, sending the indication information of the completion of the file chunk transmission to a terminal when the indication information of the completion of the file chunk transmission is received.
The embodiment of the invention provides a streaming media data transmission device, which is positioned in a wrapper Package, and comprises: a first processing module and a second processing module; wherein, the liquid crystal display device comprises a liquid crystal display device,
the first processing module is used for generating at least one streaming media data file containing one or more file fragments, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played;
The second processing module is configured to send a corresponding chunk sub-slice to a CDN edge node according to a request for acquiring the chunk sub-slice when receiving the request for acquiring the chunk sub-slice from the CDN edge node.
The embodiment of the invention also provides a streaming media data transmission device, which is positioned in the CDN edge node of the content delivery network, and comprises: a third processing module and a fourth processing module; wherein, the liquid crystal display device comprises a liquid crystal display device,
the third processing module is used for sending a request for acquiring the chunk sub-fragments to the wrapper Package when receiving the request for acquiring the file fragments containing the chunk sub-fragments of the terminal and when not finding at least one chunk sub-fragment of the file fragments containing the chunk sub-fragments locally, wherein the chunk sub-fragments are files which can be independently played;
and the fourth processing module is used for sending the chunk sub-fragments from the Package to the terminal when receiving the chunk sub-fragments from the Package.
The embodiment of the invention provides streaming media data transmission equipment, which is positioned in a wrapper, and comprises: a processor and a memory for storing a computer program capable of running on the processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
The processor is configured to execute steps of a method performed by a streaming media data transmission device located in a wrapper when the computer program is executed.
The embodiment of the invention provides a streaming media data transmission device, which is characterized in that the device is positioned in a CDN edge node of a content delivery network, and the device comprises: a processor and a memory for storing a computer program capable of running on the processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
the processor is configured to execute steps of a method performed by a streaming media data transmission device located in a CDN edge node of a content delivery network when the computer program is executed.
Embodiments of the present invention provide a computer storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of a method performed by a streaming media data transmission device located in a wrapper.
The embodiment of the invention provides a computer storage medium, on which a computer program is stored, which when being executed by a processor, realizes the steps of a method executed by a streaming media data transmission device located in a CDN edge node of a content delivery network.
In a method, an apparatus, a device, and a computer storage medium for transmitting streaming media data provided in the embodiments of the present invention, a wrapper (Package) generates at least one streaming media data file including one or more file fragments, where each file fragment includes one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being played independently; when a request for acquiring the chunk sub-slices of the CDN edge node is received, the corresponding chunk sub-slices are sent to the CDN edge node according to the request for acquiring the chunk sub-slices.
When the technical scheme is adopted, each chunk sub-segment is a file which can be played independently, so that when a terminal receives any chunk sub-segment from a CDN edge node, the player of the terminal can be used for directly playing the received chunk sub-segment, and playing is not needed after a complete file segment is received, so that live broadcast delay can be reduced, and because the terminal does not need to play after a complete file segment is received, the Package can generate file segments with longer duration, the number of file segments generated by the Package can be reduced, and further the storage pressure of the file segments can be reduced.
In another method, device and apparatus for transmitting streaming media data and a computer storage medium provided in the embodiments of the present invention, when a CDN edge node receives a request for acquiring a file fragment including a chunk sub-fragment from a terminal, and when at least one chunk sub-fragment of the file fragment including the chunk sub-fragment is not found locally, the request for acquiring the chunk sub-fragment is sent to a Package, where the chunk sub-fragment is a file that can be played separately; and when the chunk sub-slices from the Package are received, transmitting the chunk sub-slices from the Package to the terminal.
When the technical scheme is adopted, each chunk sub-segment is a file which can be played independently, so that when a terminal receives any chunk sub-segment, the player of the terminal can be used for directly playing the received chunk sub-segment, and playing is not needed after a complete file segment is received, so that live broadcast delay can be reduced, and because the terminal does not need to play after a complete file segment is received, a Package can generate file segments with longer duration, the number of file segments generated by the Package can be reduced, and further, the storage pressure of the file segments can be reduced.
Drawings
Fig. 1 is a flowchart of a streaming media data transmission method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a file fragment containing a chunk sub-fragment according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a composition structure of a streaming media data transmission device according to an embodiment of the present invention;
fig. 4 is a hardware structure diagram of a streaming media data transmission device according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a composition structure of another streaming media data transmission device according to an embodiment of the present invention;
fig. 6 is a hardware configuration diagram of another streaming media data transmission device according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
The embodiment of the invention can be applied to a scene for realizing streaming media live broadcast, in the scene, a streaming media content providing end is used for providing streaming media data, the streaming media content providing end can be a server of a video website or other servers for realizing providing streaming media live broadcast service, a Package is used for receiving the streaming media data of the streaming media content providing end, and after the streaming media data is processed by the Package, a corresponding playable file can be provided for a terminal through a CDN; in the CDN, the node connected with the terminal is a CDN edge node.
Based on the above description, the following examples are presented.
First embodiment
A first embodiment of the present invention describes a streaming media data transmission method, and fig. 1 is a flowchart of a streaming media data transmission method according to an embodiment of the present invention, as shown in fig. 1, where the flowchart may include:
step 101: the method comprises the steps that a Package generates at least one streaming media data file containing one or more file fragments, each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being played independently;
In practical application, the streaming media content providing end may send a streaming media data file to be transmitted to the Package; here, the streaming media data file to be transmitted may include at least one of audio data and video data.
For example, when a streaming media data file to be transmitted includes audio data and video data, a Package may separate the audio data and the video data from the streaming media data file; generating at least one streaming media data file containing file fragments corresponding to the audio data, and generating at least one streaming media data file containing the file fragments corresponding to the video data.
In specific implementation, the Package may receive a streaming media data file in a code stream form from the encoder, then decode the received streaming media data file, and re-encode the decoded data according to new encoding parameters, thereby generating streaming media data fragments including file fragments; if the streaming media data file comprises audio data and video data, after receiving the streaming media data in the code stream form, the Package needs to separate the streaming media data file into the audio data and the video data, and then, through recoding, at least one streaming media data file containing file fragments corresponding to the audio data is generated, and at least one streaming media data file containing the file fragments corresponding to the video data is generated.
Here, each file segment includes a chunk sub-segment or a plurality of chunk sub-segments arranged in sequence, and when the file segment includes a plurality of chunk sub-segments in actual implementation, the plurality of chunk sub-segments may be sequentially divided according to the sequence of playing the chunk sub-segments.
Fig. 2 is a schematic diagram of a file fragment including a chunk sub-fragment according to an embodiment of the present invention, in the upper half of fig. 2, a box with mdat is indicated by an acquired streaming media data file to be transmitted, and a box with moof is indicated by a box with moof for describing a file of the streaming media data file to be transmitted; the generation time point of the streaming media data file to be transmitted is the time point of the output streaming media data of the encoder (denoted as the encoder output time point in fig. 2); in the lower half of fig. 2, the box labeled mdat represents one file generated, the box labeled moof represents a file describing the corresponding file fragment, and the generation time of each file fragment is recorded as the code output time point; in the lower half of fig. 2, the 4 small boxes above the corresponding box of each file slice represent the 4 chunk sub-slices of the file slice.
Step 102: when a CDN edge node receives a request of a terminal for acquiring a file fragment containing a chunk sub-fragment, and when at least one chunk sub-fragment of the file fragment containing the chunk sub-fragment is not found locally, the request for acquiring the chunk sub-fragment is sent to a Package;
Here, for an implementation manner of obtaining a request for obtaining a file slice including a chunk sub-slice, for example, the request for obtaining a file slice including a chunk sub-slice may carry identification information of the file slice, and the identification information of the file may be a name of the file slice, a serial number of the file slice, or other information.
In actual implementation, when determining that the streaming media live broadcast data needs to be acquired, the terminal can send a request for acquiring the file fragments including the chunk sub-fragments to the CDN edge node; after receiving a request for acquiring a file fragment containing a chunk sub-fragment sent by a terminal, the CDN edge node can judge whether at least one chunk sub-fragment k in the file fragment containing the chunk sub-fragment can be found locally at the CDN edge node according to the request for acquiring the file fragment containing the chunk sub-fragment, and if so, the CDN edge node directly sends the at least one found locally chunk sub-fragment to the terminal; if not, a request to obtain the corresponding chunk sub-fragment may be sent to the Package.
Here, for any one file fragment, the CDN edge node may locally store at least one chunk sub-fragment of the file fragment, where when the CDN edge node locally stores the chunk sub-fragment, a correspondence between the stored chunk sub-fragment and identification information of the file fragment may be established, so, when the CDN edge node receives a request sent by the terminal to obtain the file fragment containing the chunk sub-fragment, the CDN edge node may locally search for the corresponding chunk sub-fragment according to the identification information of the file fragment carried in the request to obtain the file fragment containing the chunk sub-fragment. In one example, the CDN edge node may also determine an index of the stored chunk sub-slices when the chunk sub-slices are stored locally.
In the embodiment of the invention, after receiving the request for acquiring the file fragments including the chunk sub-fragments sent by the terminal, the CDN edge node can sequentially and locally search each chunk sub-fragment of the file fragments according to the sequence of the chunk sub-fragments in the file fragments; that is, for any one file slice, the CDN edge node may sequentially search each chunk sub-slice of the corresponding file slice locally, starting with the first chunk sub-slice of the file slice.
Here, the request to acquire the chunk sub-slice may carry: the method comprises the steps of requesting identification information of a file fragment corresponding to the acquired chunk sub-fragment and requesting an index of the acquired chunk sub-fragment.
That is, for any one of the file fragments including the chunk sub-fragment requested to be obtained by the terminal, each chunk sub-fragment corresponding to the file fragment is searched for locally in sequence from the first chunk sub-fragment of the file fragment, if the found chunk sub-fragment can be found locally, the found chunk sub-fragment is sent to the terminal, and after the terminal receives the chunk sub-fragment, the received chunk sub-fragment can be directly played because the chunk sub-fragment is a file capable of being played independently; if any chunk sub-slice in the file slices can not be found locally, a request for acquiring the corresponding chunk sub-slice is sent to the Package.
It can be seen that when a CDN edge node sends a request to a Package, the CDN edge node takes a chunk sub-slice as a unit, and for one file slice, the CDN edge node may send multiple requests to the Package, where each request obtains one chunk sub-slice.
In the embodiment of the present invention, the request for acquiring the chunk sub-slices sent by the CDN edge node to the Package may be a hypertext transfer protocol (HyperText Transfer Protocol, HTTP) request, and in the request sent by the CDN edge node to the Package, the index of the chunk sub-slices pre-agreed by the CDN edge node and the Package may be added, where the index of the chunk sub-slices is used to indicate the number of chunk sub-slices corresponding to the file slice, and thus, after the Package receives the index of the chunk sub-slices acquired by the CDN edge node request, the corresponding chunk may be searched according to the index of the received chunk sub-slices.
It should be noted that, when the Package generates a file fragment including a chunk sub-fragment, the number of file fragments and the number of chunk sub-fragments are determined according to two times of a file allocation duration and a chunk sub-fragment duration, so the number of chunk sub-fragments included in each file fragment cannot be determined in advance, and the CDN edge node may sequentially request to obtain each chunk sub-fragment in the file fragment from the Package, in one example, the lower the index value of the chunk sub-fragment, the more advanced the chunk sub-fragment is in the file fragment, so the larger the index value of the chunk sub-fragment sent by the CDN edge node to the Package becomes when the CDN edge node sequentially requests different chunk sub-fragments in the same file fragment from the Package.
In practical applications, the CDN edge node may perform data interaction with the Package through a CDN network.
It should be noted that, in the embodiment of the present invention, the sequence of the step 101 and the step 102 is not limited, and the step 101 may be performed before the step 102, or may be performed after the step 102, or may be performed simultaneously.
Step 103: when the Package receives a request for acquiring a chunk sub-slice of a CDN edge node, the Package sends the corresponding chunk sub-slice to the CDN edge node according to the request for acquiring the chunk sub-slice.
For the implementation manner of sending the corresponding chunk sub-slice to the CDN edge node according to the request for obtaining the chunk sub-slice, in one example, the chunk sub-slice corresponding to the request for obtaining the chunk sub-slice may be searched in the generated file slice containing the chunk sub-slice, and when the chunk sub-slice corresponding to the request for obtaining the chunk sub-slice is searched in the generated file slice containing the chunk sub-slice, the chunk sub-slice corresponding to the request for obtaining the chunk sub-slice is sent to the CDN edge node; when the chunk sub-fragment corresponding to the chunk sub-fragment obtaining request is not found in the generated file fragments containing chunk sub-fragments, corresponding streaming media data can be obtained again from the streaming media content providing end, the file fragments containing chunk sub-fragments are generated according to the obtained streaming media data, and then the chunk sub-fragments corresponding to the chunk sub-fragment obtaining request can be sent to the CDN edge node.
For the implementation manner of sending the corresponding chunk sub-slices to the CDN edge node according to the request for obtaining the chunk sub-slices, in another example, after generating a file slice including the chunk sub-slices according to the streaming media data, the Package sequentially stores each chunk sub-slice in the corresponding file slice according to a predetermined sequence of each chunk sub-slice in the corresponding file slice for the generated file slice including the chunk sub-slices; when the number of the stored chunk sub-fragments is larger than a preset value, sequentially deleting at least one stored chunk sub-fragment according to the sequential time sequence relation of each stored chunk sub-fragment, so that the number of the stored chunk sub-fragments is smaller than or equal to the preset value; when a Package receives a request for acquiring a chunk sub-fragment of a CDN edge node, if a chunk sub-fragment corresponding to the request for acquiring the chunk sub-fragment is found in currently stored chunk sub-fragments, sending the chunk sub-fragment corresponding to the request for acquiring the chunk sub-fragment to the CDN edge node; if the chunk sub-slice corresponding to the chunk sub-slice obtaining request is not found in the currently stored chunk sub-slices, sending the chunk sub-slices corresponding to the chunk sub-slice obtaining request to the CDN edge node, obtaining the corresponding streaming media data file from the streaming media content providing end again, generating a file slice containing the chunk sub-slices according to the obtained streaming media data file, and then sending the chunk sub-slices corresponding to the chunk sub-slice obtaining request to the CDN edge node.
It can be understood that by deleting the stored chunk sub-slices, the number of chunk sub-slices stored in the Package can be controlled, so that excessive occupation of storage resources of the Package can be avoided; in one example, each chunk sub-segment in the corresponding file segment may be sequentially stored in the memory of the Package sub-segment, so that excessive occupation of the memory resource of the Package may be avoided by deleting the stored chunk sub-segment.
In the related art, the file fragments generated by the Package are kept on the disk, and the central server (origin) reads the disk file to provide the distribution service of the file fragments for the CDN edge node, but in the embodiment of the present invention, the Package may not generate the disk file, but store the chunk sub-fragments in the memory of the Package, and no longer provide the distribution service for the CDN edge node through the origin, but the CDN edge node may directly obtain the chunk sub-fragments from the Package by using the http1.1 active protocol.
For the implementation manner of sequentially storing each chunk sub-segment in the corresponding file segment, for example, in a Package, sequentially storing each chunk sub-segment in the corresponding file segment in a form of a queue; that is, in the Package, a queue is established, according to the order between file fragments and the order of each chunk in each file fragment, each chunk in the file fragments is sequentially stored, when each chunk is stored, the chunk to be stored is placed at the tail of the queue, in order to prevent occupying more storage resources of the Package, the maximum value of the number of stored chunks (i.e. the preset value described above) can be set for the queue, and when the chunk is added to the tail of the queue, if the number of chunks in the queue exceeds the maximum value of the number of stored chunks, the chunk at the head of the queue is aged (the chunk at the head of the queue is deleted).
In one embodiment, when the streaming media data file to be transmitted includes audio data and video data, the Package may maintain two queues, one for storing chunk sub-slices of the audio data and the other for storing chunk sub-slices of the video data.
Further, when the Package receives a request for acquiring a chunk sub-slice from a CDN edge node, if a corresponding chunk sub-slice is found from the head of the queue, the time for the Package to find the chunk sub-slice will be longer, and thus the data transmission performance of the Package will be affected; when the Package receives a request for acquiring a chunk sub-slice from a CDN edge node, the position of the first chunk sub-slice of the corresponding file slice in the queue can be rapidly positioned according to the identification information of the file slice carried in the request, then the offset determined by the index of the chunk sub-slice is added to the position of the first chun sub-slice k of the corresponding file slice in the queue, the position of the chunk sub-slice requested by the CDN edge node in the queue is rapidly searched, and then the content of the chunk sub-slice is read from the position to respond to the CDN edge node; therefore, for the request of acquiring the chunk sub-slices of the CDN edge node, the Package can be quickly positioned to the specific position of the corresponding chunk sub-slice in the queue, so that the data searching efficiency of the Package can be improved.
Further, the queue index is used for indicating the position information of the last chunk sub-chunk of each file chunk in the queue, so that the Package can determine the position range of each chunk sub-chunk corresponding to each file chunk in the queue.
In an embodiment, the request for acquiring the chunk sub-slice of the CDN edge node may further indicate a data type corresponding to the chunk sub-slice requested to be acquired, where the data type corresponding to the chunk sub-slice requested to be acquired is audio data or video data; for example, the request for acquiring a chunk sub-chunk of the CDN edge node may carry a uniform resource locator (Uniform Resource Locator, URL) of a file chunk corresponding to the chunk sub-chunk, and the Package may determine, according to the URL, whether the request for acquiring the chunk sub-chunk is for requesting to acquire audio data or for requesting to acquire video data; that is, when the Package receives a request for acquiring a chunk sub-slice from a CDN edge node, it may first determine whether the CDN edge node requests to acquire audio data or requests to acquire video data; and then, searching the chunk sub-slices in the corresponding queues according to the data types acquired by the request.
In the embodiment of the present invention, because the CDN edge node cannot obtain the number of chunk sub-slices in each file slice in advance, for this problem, the Package may determine whether the chunk sub-slice requested to be obtained by the CDN edge node is the last chunk sub-slice of the file slice, and if the chunk sub-slice corresponding to the request for obtaining the chunk sub-slice is not the last chunk sub-slice of one file slice, when the Package sends the corresponding chunk sub-slice to the CDN edge node, may send indication information that the file slice is not completed to the CDN edge node; if the chunk sub-chunk corresponding to the request for acquiring the chunk sub-chunk is the last chunk sub-chunk of a file chunk, when the Package sends the corresponding chunk sub-chunk to the CDN edge node, the Package may send indication information that file chunk transmission is completed to the CDN edge node.
After sending a request for acquiring the ith chunk sub-fragment in the file fragments containing the chunk sub-fragments to the Package, the CDN edge node can determine that the ith chunk sub-fragment in the file fragments is not the last chunk sub-fragment in the file fragments when receiving indication information that the file fragments are not transmitted completely, and at this time, can continue sending a request for acquiring the (i+1) th chunk sub-fragment in the file fragments containing the chunk sub-fragments to the Package; after sending a request for acquiring the ith chunk sub-fragment in the file fragments containing the chunk sub-fragments to the Package, the CDN edge node can determine that the ith chunk sub-fragment in the file fragments is the last chunk sub-fragment of the file fragments when receiving the indication information that the file fragments are transmitted completely, and can send the indication information that the file fragments are transmitted completely to the terminal.
For an implementation manner that the Package sends indication information to the CDN edge node, for example, the Package may send data to the CDN edge node in the form of an HTTP response, a custom HTTP header field may be added to the HTTP response returned to the CDN edge node by the Package, where the custom HTTP header field is used to fill in a chunk end flag is_last_chunk, where the chunk end flag indicates whether the chunk sub-slice is the last chunk sub-slice of the located slice, if so, it is determined that the value of the chunk end flag is 1, and if not, it is determined that the value of the chunk end flag is 0. In this way, after receiving the HTTP response of the Package, the CDN edge node analyzes the value of the chunk end flag, if the value is 1, then the downloading of all chunk sub-chunks of the file chunk is considered to be completed, and when the terminal replies data, the end flag of the HTTP chunk is additionally added to mark that the file chunk transmission is completed.
Step 104: and when the CDN edge node receives the chunk sub-slices from the Package, the chunk sub-slices from the Package are sent to the terminal.
It can be understood that, because each chunk sub-segment is a file capable of being played independently, when a terminal receives any chunk sub-segment, the player of the terminal can be utilized to directly play the received chunk sub-segment, and play is not needed after one file segment is received, so that live broadcast delay can be reduced, and because the terminal does not need to play after one file segment is received, a Package can generate a file segment with a longer duration, the number of file segments generated by the Package can be reduced, and further, the storage pressure of the file segment can be reduced.
For the OTT live broadcast scene, by adopting the technical scheme recorded in the embodiment of the invention, the OTT low-delay live broadcast slice and distribution based on the chunk mode can be realized, the delay of the OTT live broadcast can be greatly shortened, and the terminal user can see almost real-time video.
Further, when the CDN edge node receives a chunk sub-slice from the Package, the chunk sub-slice from the Package may be stored locally.
In the embodiment of the invention, the CDN edge node can realize the distribution and the cache of the file fragments containing the chunk sub-fragments, and actually provides the file fragment service for the terminal user; when the terminal requests data from the CDN edge node or takes the file fragments as a unit, the CDN edge node replies data to the terminal in an HTTP (hyper text transport protocol) chunk mode, one HTTP chunk comprises chunk sub-fragments of one file fragment, and when the last chunk sub-fragment of the file fragment is transmitted, the terminal is continuously replied with an HTTP chunk ending message to indicate that the transmission of the file fragment is ended.
Further, the CDN edge node can provide service and return source for the terminal by adopting a file segment caching mechanism; the file segment cache is to divide the file into a plurality of small files, wherein the cache key of each small file is obtained by adding a segment index number on the basis of the file name of the original file and then calculating by utilizing a hash function. In the embodiment of the invention, each small file is a chunk sub-fragment, and the segment index number is the value of the index of the chunk sub-fragment.
In a specific example, when the CDN edge node caches the chunk sub-slices of each file slice, a cache key value (key) may be designed for each chunk sub-slice to be stored, where the cache key may be designed as a URL of the file slice requested by the terminal plus an index value of the chunk sub-slice, and in the embodiment of the present invention, according to the sequence of chunk sub-slices in the file slice, the index value of the chunk sub-slice may be incremented by 1 from 0 to obtain the index value of each chunk sub-slice in the file slice; after receiving a request of a terminal for acquiring a file fragment containing a chunk sub-fragment, the CDN edge node sequentially searches each chunk sub-fragment of the file fragment from the first chunk sub-fragment of the file fragment; when searching any of the chunk sub-slices of the file slices, searching whether the corresponding chunk sub-slice exists in the cache of the CDN edge node according to the recorded cache key, if so, reading the content of the corresponding chunk sub-slice, and sending the read content of the chunk sub-slice to the terminal as an HTTP chunk; if the corresponding chunk sub-slice does not exist, the CDN edge node can send an HTTP request to the Package to request to acquire the corresponding chunk sub-slice, and after receiving the chunk sub-slice sent by the Package, the CDN edge node replies the content of the corresponding chunk sub-slice to the terminal and caches the corresponding chunk sub-slice; then, if the other terminals request the cached corresponding chunk sub-slices from the CDN edge node again, the CDN edge node can directly read the cached data to serve the other terminals; when the CDN edge node prepares to reply the content of the chunk sub-fragment to the terminal, the CDN edge node can also judge the value of the chunk ending mark, if the value of the chunk ending mark is 1, the CDN edge node can add the HTTP chunk ending mark to the content of the chunk reply to the terminal; if the value of the chunk end flag is 0, the value of the index of the chunk sub-slice is increased by 1, and the corresponding chunk sub-slice is searched locally again.
Further, when the CDN edge node receives requests for acquiring the same file fragment from a plurality of terminals, if any one chunk sub-fragment in the corresponding file fragment does not exist, the request for acquiring the chunk sub-fragment for the first received request may be sent by the Package, and for the received requests for acquiring other file fragments, the request is set to a waiting processing state; when a chunk sub-segment replied by the Package is received, caching the chunk sub-segment, sending the chunk sub-segment to a corresponding terminal according to the received first request for acquiring the file segment, and sending the cached chunk sub-segment to other terminals; if a terminal receiving a chunk is offline (user is offline) within a period of time in which the chunk is provided for a terminal, the corresponding chunk may be requested to be obtained from the Package from the first uncached chunk of the file chunk.
In practical applications, step 101 and step 103 may be implemented by using a processor in a Package, and step 102 and step 104 may be implemented by using a processor in a CDN edge node.
Second embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
The second embodiment of the present invention mainly describes transmission of a file fragment containing a chunk sub-fragment based on a Transport Stream (TS), and is described below by way of example.
After the Package is started, the incoming TS code stream of the encoder can be received, wherein the incoming TS code stream is the streaming media data file to be transmitted; the Package analyzes the TS code stream according to the TS specification, separates the audio data and the video data from the TS stream, and then decodes the audio data and the video data respectively.
In the Package, the video processing thread may encode the decoded video image again according to the new code rate and resolution, generate a file fragment containing the chunk sub-fragment from the encoded data, and then add the currently generated chunk sub-fragment to the tail of the queue established for the video data, and update the queue index of the queue established for the video data.
In the Package, the audio processing thread may encode the decoded audio data again according to the new encoding parameter, generate a file fragment containing the chunk sub-fragment from the encoded data, and then add the currently generated chunk sub-fragment to the tail of the queue established for the audio data, and update the queue index of the queue established for the audio data.
After receiving the request of obtaining the file fragments containing the chunk sub-fragments from the terminal, the CDN edge node can send a request of obtaining the corresponding chunk sub-fragments to the Package if any chunk sub-fragment of the file fragments is not found locally, and after receiving the reply of the Package, the received chunk sub-fragments are cached according to the file fragment caching mechanism described above so as to provide services for other terminals.
Third embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
The third embodiment of the present invention mainly describes the transmission of a file fragment containing a chunk sub-fragment based on a Real-time transport protocol (Real-time Transport Protocol, RTP) stream, and is exemplarily described below.
After the Package is started, an incoming RTP code stream of an encoder can be received, wherein the incoming RTP code stream is the streaming media data file to be transmitted; the incoming RTP code stream comprises audio data and video data, after the Package receives the incoming RTP code stream, the RTP code stream is analyzed according to an RTP protocol to obtain the audio data and the video data, and then the audio data and the video data are decoded respectively.
In the Package, the video processing thread may encode the decoded video image again according to the new code rate and resolution, generate a file fragment containing the chunk sub-fragment from the encoded data, and then add the currently generated chunk sub-fragment to the tail of the queue established for the video data, and update the queue index of the queue established for the video data.
In the Package, the audio processing thread may encode the decoded audio data again according to the new encoding parameter, generate a file fragment containing the chunk sub-fragment from the encoded data, and then add the currently generated chunk sub-fragment to the tail of the queue established for the audio data, and update the queue index of the queue established for the audio data.
After receiving the request of obtaining the file fragments containing the chunk sub-fragments from the terminal, the CDN edge node can send a request of obtaining the corresponding chunk sub-fragments to the Package if any chunk sub-fragment of the file fragments is not found locally, and after receiving the reply of the Package, the received chunk sub-fragments are cached according to the file fragment caching mechanism described above so as to provide services for other terminals.
Fourth embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
The fourth embodiment of the present invention mainly describes transmission of file fragments including chunk sub-fragments based on the DASH (Dynamic Adaptive Streaming over HTTP) protocol, and is described below by way of example.
The method comprises the steps that a terminal sends a request for obtaining a media description file (mpd) to a CDN edge node, the CDN edge node firstly searches a corresponding mpd file in a self cache, if the corresponding mpd file is not found or found, but the found mpd file exceeds the cache failure time, the CDN edge node can send the request for obtaining the mpd file to a Package, and the Package reads the local mpd file and replies the mpd file to the CDN edge node after receiving the request for obtaining the mpd file; after finding the mpd file which does not exceed the buffer failure time or receiving the mpd file from the Package, the CDN edge node can transmit the mpd file to the terminal; alternatively, after the CDN edge node receives the mpd file from the Package, the mpd file may be cached locally.
After receiving the mpd file, the terminal analyzes the mpd file, extracts audio and video decoding parameters, initializes the player, and generates HTTP requests for obtaining the audio file fragments and the video file fragments according to the fragment information of the audio and video file fragments in the mpd file, and sends the HTTP requests to CDN edge nodes so as to download the audio and video file fragments;
After receiving the HTTP request of the terminal, the CDN edge node calculates a cache key according to the index of the chunk sub-slice of the file slice on the basis of the name of the file slice requested by the terminal according to the recorded file slice caching mechanism, searches the corresponding chunk sub-slice in the cache according to the cache key, reads the corresponding chunk sub-slice if the corresponding chunk sub-slice can be found, distributes the read content of the chunk sub-slice to the terminal by using an HTTP chunk, and initiates an HTTP request to the Package in a HTTP1.1 active mode if the corresponding chunk sub-slice cannot be found, so as to request to acquire the corresponding chunk sub-slice.
After receiving an HTTP request of a CDN edge node, the Package judges whether corresponding chunk sub-fragments exist according to a queue index maintained by the Package, if so, reads the content of the corresponding chunk sub-fragments, sends a response to the CDN edge node, and carries the corresponding chunk sub-fragments in the response.
After receiving the response from the Package, the CDN edge node distributes the content of the chunk sub-slices carried in the response to the terminal by using an HTTP chunk, and simultaneously caches the corresponding chunk sub-slices so as to serve other users later; in addition, the CDN edge node judges a chunk end mark is_last_chunk in a user-defined field carried in a response from the Package, if the value of the chunk end mark is 1, the CDN edge node continues to send an HTTP chunk end message to the terminal, and the completion of the corresponding file fragment sending is marked; if the value of the chunk end flag is 0, the index number of the chunk sub-slice is increased by 1, and searching for the corresponding chunk sub-slice at the CDN edge node is restarted.
After receiving any one chunk sub-chunk (for example, the first chunk sub-chunk) of the file chunk, the terminal can play the corresponding chunk sub-chunk without completing file chunk downloading, so that live broadcast delay can be greatly shortened.
Fifth embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
The fifth embodiment of the present invention mainly describes transmission of file fragments including chunk sub-fragments based on the HLS (HTTP Live Streaming) protocol, and is exemplarily described below.
The terminal sends a request for acquiring the m3u8 file to the CDN edge node, the CDN edge node firstly searches the corresponding m3u8 file in the self cache, if the corresponding m3u8 file is not searched or the corresponding m3u8 file is searched, but the searched m3u8 file exceeds the cache failure time, the CDN edge node can send a request for acquiring the mpd file to the Package, and the Package receives the request for acquiring the mpd file, reads the local mpd file and replies the mpd file to the CDN edge node; after finding the m3u8 file which does not exceed the cache failure time, the CDN edge node can transmit the m3u8 file to the terminal; after receiving the mpd file from the Package, the CDN edge node may convert the mpd file into an m3u8 file, transmit the m3u8 file to the terminal, and cache the m3u8 file locally.
After receiving the m3u8 file, the terminal analyzes the m3u8 file, extracts audio and video decoding parameters, initializes the player, and generates HTTP requests for obtaining the audio file fragments and the video file fragments according to the fragment information of the audio and video file fragments in the m3u8 file, and sends the HTTP requests to CDN edge nodes so as to download the audio and video file fragments;
after receiving the HTTP request of the terminal, the CDN edge node calculates a cache key according to the index of the chunk sub-slice of the file slice on the basis of the file name of the file slice requested by the terminal according to the recorded file slice caching mechanism, searches the corresponding chunk sub-slice in the cache according to the cache key, reads the corresponding chunk sub-slice if the corresponding chunk sub-slice can be found, distributes the content of the read chunk sub-slice to the terminal by using one HTTP chunk, and initiates the HTTP request to the Package by using an HTTP1.1 active mode if the corresponding chunk sub-slice cannot be found, so as to request to acquire the corresponding chunk sub-slice.
After receiving an HTTP request of a CDN edge node, the Package judges whether corresponding chunk sub-fragments exist according to a queue index maintained by the Package, if so, reads the content of the corresponding chunk sub-fragments, sends a response to the CDN edge node, and carries the corresponding chunk sub-fragments in the response.
After receiving the response from the Package, the CDN edge node distributes the content of the chunk sub-slices carried in the response to the terminal by using an HTTP chunk, and simultaneously caches the corresponding chunk sub-slices so as to serve other users later; in addition, the CDN edge node judges a chunk end mark is_last_chunk in a user-defined field carried in a response from the Package, if the value of the chunk end mark is 1, the CDN edge node continues to send an HTTP chunk end message to the terminal, and the completion of the corresponding file fragment sending is marked; if the value of the chunk end flag is 0, the index number of the chunk sub-slice is increased by 1, and searching for the corresponding chunk sub-slice at the CDN edge node is restarted.
After receiving any one chunk sub-chunk (for example, the first chunk sub-chunk) of the file chunk, the terminal can play the corresponding chunk sub-chunk without completing file chunk downloading, so that live broadcast delay can be greatly shortened.
Sixth embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
In a sixth embodiment of the present invention, from the Package perspective, an implementation manner of a streaming media data transmission method is described.
The streaming media data transmission method of the embodiment of the invention is applied to Package and can comprise the following steps:
generating at least one streaming media data file containing one or more file fragments, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played;
when a request for acquiring the chunk sub-slices of the CDN edge node is received, the corresponding chunk sub-slices are sent to the CDN edge node according to the request for acquiring the chunk sub-slices.
In one embodiment, the generating at least one streaming media data file including one or more file fragments includes:
acquiring a streaming media data file, and separating audio data and video data from the streaming media data file; generating at least one streaming media data file containing the file fragments corresponding to the audio data, and generating at least one streaming media data file containing the file fragments corresponding to the video data.
In an embodiment, the request for obtaining a chunk sub-chunk carries identification information of a chunk file corresponding to the chunk requested to be obtained and an index of the chunk sub-chunk requested to be obtained.
In an embodiment, the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the generated file fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
In one embodiment, the method further comprises: after generating a file fragment containing the chunk sub-fragments, sequentially storing the chunk sub-fragments in the corresponding file fragments according to the sequence of the chunk sub-fragments in the corresponding file fragments which are appointed in advance aiming at the generated file fragment; when the number of the stored chunk sub-fragments is larger than a preset value, sequentially deleting at least one stored chunk sub-fragment according to the sequential time sequence relation of each stored chunk sub-fragment, so that the number of the stored chunk sub-fragments is smaller than or equal to the preset value;
the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the currently stored chunk sub-fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
In an embodiment, the sequentially storing each chunk sub-chunk in the corresponding file chunk includes: and sequentially storing each chunk sub-segment in the corresponding file segment in the memory of the Package.
In an embodiment, the sequentially storing each chunk sub-chunk in the corresponding file chunk includes: storing each chunk sub-segment in the corresponding file segment in a queue form;
the method further comprises the steps of: and establishing a queue index aiming at the queue, wherein the queue index is used for indicating the identification information of the file fragments corresponding to each chunk sub-fragment stored in the queue and the position information of the first chunk sub-fragment of each file fragment in the queue.
In one embodiment, the method further comprises:
when determining that the chunk sub-slice corresponding to the request for acquiring the chunk sub-slice is not the last chunk sub-slice of one file slice, sending indication information that the file slice is not completed to the CDN edge node when sending the corresponding chunk sub-slice to the CDN edge node;
when determining that the chunk sub-chunk corresponding to the request for acquiring the chunk sub-chunk is the last chunk sub-chunk of a file chunk, sending indication information that the file chunk is completed to the CDN edge node when sending the corresponding chunk sub-chunk to the CDN edge node.
Seventh embodiment
The streaming media data transmission method provided in the foregoing embodiment of the present invention is further illustrated.
In the seventh embodiment of the present invention, from the point of view of CDN edge nodes, an implementation manner of a streaming media data transmission method is described.
The streaming media data transmission method of the embodiment of the invention is applied to CDN edge nodes and can comprise the following steps:
when a request of a terminal for acquiring a file fragment containing a chunk sub-fragment is received, and when at least one chunk sub-fragment of the file fragment containing the chunk sub-fragment is not found locally, sending the request for acquiring the chunk sub-fragment to a Package, wherein the chunk sub-fragment is a file capable of being played independently;
and when the chunk sub-slices from the Package are received, sending the chunk sub-slices from the Package to the terminal.
In one embodiment, the method further comprises:
when a request of a terminal for acquiring the file fragments containing the chunk sub-fragments is received, and when at least one chunk sub-fragment in the file fragments containing the chunk sub-fragments is found out locally, the at least one found out locally chunk sub-fragment is sent to the terminal.
In one embodiment, the method further comprises:
And when the chunk sub-slices from the Package are received, storing the chunk sub-slices from the Package locally.
In an embodiment, the locally storing the chunk sub-slice from the Package includes: a file segment caching mechanism is used locally to store the chunk sub-fragments of each file fragment from the Package.
In an embodiment, the request for obtaining the chunk sub-chunk carries identification information of a file chunk corresponding to the chunk sub-chunk requested to be obtained and an index of the chunk sub-chunk requested to be obtained.
In one embodiment, the method further comprises: after a request for acquiring an ith chunk sub-fragment in the file fragments is sent to the Package, when indication information that the file fragments are not transmitted completely is received, continuing to send a request for acquiring an (i+1) th chunk sub-fragment in the file fragments to the Package; i is an integer greater than or equal to 1;
after a request for acquiring the ith chunk sub-chunk in the file chunk is sent to the Package, sending the indication information of the completion of the file chunk transmission to a terminal when the indication information of the completion of the file chunk transmission is received.
Eighth embodiment
In the streaming media data transmission method provided in the foregoing embodiment of the present invention, an eighth embodiment of the present invention provides a streaming media data transmission device, where the device is located in a Package;
fig. 3 is a schematic structural diagram of a streaming media data transmission device according to an embodiment of the present invention, as shown in fig. 3, the device includes a first processing module 301 and a second processing module 302, where,
the first processing module 301 is configured to generate at least one streaming media data file including one or more file fragments, where each file fragment includes one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being played independently;
and the second processing module 302 is configured to, when receiving a request for acquiring a chunk sub-chunk from a CDN edge node, send a corresponding chunk sub-chunk to the CDN edge node according to the request for acquiring the chunk sub-chunk.
In an embodiment, the first processing module 301 is specifically configured to obtain a streaming media data file, and separate audio data and video data from the streaming media data file; generating at least one streaming media data file containing the file fragments corresponding to the audio data, and generating at least one streaming media data file containing the file fragments corresponding to the video data.
In an embodiment, the request for obtaining a chunk sub-chunk carries identification information of a chunk file corresponding to the chunk requested to be obtained and an index of the chunk sub-chunk requested to be obtained.
In an embodiment, the second processing module 302 is specifically configured to: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the generated file fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
In an embodiment, the first processing module 301 is further configured to, after generating a file fragment including the chunk sub-fragments, sequentially store, for the generated file fragment, each chunk sub-fragment in the corresponding file fragment according to a predetermined sequence of each chunk sub-fragment in the corresponding file fragment; when the number of the stored chunk sub-fragments is larger than a preset value, sequentially deleting at least one stored chunk sub-fragment according to the sequential time sequence relation of each stored chunk sub-fragment, so that the number of the stored chunk sub-fragments is smaller than or equal to the preset value;
the second processing module 302 is specifically configured to send, to the CDN edge node, a chunk sub-slice corresponding to the request for obtaining the chunk sub-slice when the chunk sub-slice corresponding to the request for obtaining the chunk sub-slice is found in the currently stored chunk sub-slices.
In an embodiment, the first processing module 301 is specifically configured to store, in a memory of a Package, each chunk sub-chunk in the corresponding file chunk in sequence. .
In an embodiment, the first processing module 301 is specifically configured to store each chunk in the file fragments in a queue; sub-slices
The first processing module 301 is further configured to establish a queue index for the queue, where the queue index is used to indicate identification information of a file partition corresponding to each chunk sub-partition stored in the queue, and location information of a first chunk sub-partition of each file partition in the queue.
In an embodiment, the second processing module 302 is further configured to, when determining that the chunk sub-chunk corresponding to the request for obtaining the chunk sub-chunk is not the last chunk sub-chunk of a file chunk, send, to the CDN edge node, indication information that file chunk is not completed by transmission when sending the corresponding chunk sub-chunk to the CDN edge node; when determining that the chunk sub-chunk corresponding to the request for acquiring the chunk sub-chunk is the last chunk sub-chunk of a file chunk, sending indication information that the file chunk is completed to the CDN edge node when sending the corresponding chunk sub-chunk to the CDN edge node.
In practical applications, the first processing module 301 and the second processing module 302 may be implemented by a central processing unit (Central Processing Unit, CPU), a microprocessor (Micro Processor Unit, MPU), a digital signal processor (Digital Signal Processor, DSP), a field programmable gate array (Field Programmable Gate Array, FPGA), or the like.
In addition, each functional module in the present embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional modules.
The integrated units, if implemented in the form of software functional modules, may be stored in a computer-readable storage medium, if not sold or used as separate products, and based on such understanding, the technical solution of the present embodiment may be embodied essentially or partly in the form of a software product, which is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or processor to perform all or part of the steps of the method described in the present embodiment. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Specifically, the computer program instructions corresponding to one streaming media data transmission method in the present embodiment may be stored on a storage medium such as an optical disc, a hard disc, or a usb disk, and when the computer program instructions corresponding to one streaming media data transmission method in the storage medium are read or executed by an electronic device, the steps of any one of the streaming media data transmission methods in the foregoing embodiments are implemented.
Based on the same technical concept as the foregoing embodiments, referring to fig. 4, there is shown a streaming media data transmission device 40 according to an embodiment of the present invention, where the device may include: a first memory 41, a first processor 42 and a first bus 43; wherein, the liquid crystal display device comprises a liquid crystal display device,
the first bus 43 is used for connecting the first memory 41, the first processor 42 and the intercommunication among these devices;
the first memory 41 for storing computer programs and data;
the first processor 42 is configured to execute a computer program stored in the memory to implement the steps of any one of the streaming media data transmission methods of the foregoing embodiments.
In practical applications, the first memory 41 may be a volatile memory (RAM); or a non-volatile memory (non-volatile memory), such as ROM, flash memory (flash memory), hard Disk (HDD) or Solid State Drive (SSD); or a combination of the above types of memories and provides instructions and data to the first processor 42.
The first processor 42 may be at least one of an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a DSP, a digital signal processing device (Digital Signal Processing Device, DSPD), a programmable logic device (Programmable Logic Device, PLD), an FPGA, a CPU, a controller, a microcontroller, and a microprocessor. It will be appreciated that the electronics for implementing the above-described processor functions may be other for different devices, and embodiments of the present invention are not particularly limited.
Ninth embodiment
In the streaming media data transmission method provided in the foregoing embodiment of the present invention, a ninth embodiment of the present invention provides another streaming media data transmission device, where the device is located in a CDN edge node;
fig. 5 is a schematic diagram of the composition structure of another streaming media data transmission device according to an embodiment of the present invention, as shown in fig. 5, the device includes a third processing module 501 and a fourth processing module 502, where,
a third processing module 501, configured to send, when a request for obtaining a file fragment including a chunk sub-fragment of a terminal is received and when at least one chunk sub-fragment of the file fragment including the chunk sub-fragment is not found locally, a request for obtaining the chunk sub-fragment to a wrapper, where the chunk sub-fragment is a file that can be played separately;
And the fourth processing module 502 is configured to send the chunk sub-slice from the Package to the terminal when receiving the chunk sub-slice from the Package.
In an embodiment, the third processing module 501 is further configured to send, when receiving a request for obtaining a file partition including a chunk sub-partition from a terminal and when locally searching for at least one chunk sub-partition in the file partition including the chunk sub-partition, the locally searched at least one chunk sub-partition to the terminal.
In an embodiment, the fourth processing module 502 is further configured to store the chunk sub-chunk from the Package locally when the chunk sub-chunk from the Package is received.
In an embodiment, the fourth processing module 502 is specifically configured to store the chunk sub-slices of each file slice from the Package locally by using a file segment caching mechanism.
In an embodiment, the request for obtaining the chunk sub-chunk carries identification information of a file chunk corresponding to the chunk sub-chunk requested to be obtained and an index of the chunk sub-chunk requested to be obtained.
In an embodiment, the third processing module 501 is further configured to, after sending a request for obtaining an i-th chunk of the file fragments to the Package, continue sending a request for obtaining an i+1-th chunk of the file fragments to the Package when receiving indication information that the file fragments are not completed to be transmitted; i is an integer greater than or equal to 1;
After a request for acquiring the ith chunk sub-chunk in the file chunk is sent to the Package, sending the indication information of the completion of the file chunk transmission to a terminal when the indication information of the completion of the file chunk transmission is received.
In practical applications, the third processing module 501 and the fourth processing module 502 may be implemented by CPU, MPU, DSP or FPGA located in the CDN edge node.
In addition, each functional module in the present embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional modules.
The integrated units, if implemented in the form of software functional modules, may be stored in a computer-readable storage medium, if not sold or used as separate products, and based on such understanding, the technical solution of the present embodiment may be embodied essentially or partly in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) or a processor to perform all or part of the steps of the method described in the present embodiment. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk, etc.
Specifically, the computer program instructions corresponding to one streaming media data transmission method in the present embodiment may be stored on a storage medium such as an optical disc, a hard disc, or a usb disk, and when the computer program instructions corresponding to one streaming media data transmission method in the storage medium are read or executed by an electronic device, the steps of any one of the streaming media data transmission methods in the foregoing embodiments are implemented.
Based on the same technical concept as the foregoing embodiments, referring to fig. 6, another streaming media data transmission device 60 provided by an embodiment of the present invention is shown, where the device may include: a second memory 61, a second processor 62, and a second bus 63; wherein, the liquid crystal display device comprises a liquid crystal display device,
the second bus 63 is used for connecting the second memory 61, the second processor 62 and the intercommunication among these devices;
the second memory 61 is used for storing computer programs and data;
the second processor 62 is configured to execute a computer program stored in the memory to implement the steps of any one of the streaming media data transmission methods of the foregoing embodiments.
In practical applications, the second memory 61 may be a volatile memory, such as a RAM; or a nonvolatile memory such as ROM, flash memory, HDD or solid state disk SSD; or a combination of the above types of memories and provides instructions and data to the second processor 62.
The second processor 62 may be at least one of an asic ASIC, DSP, DSPD, PLD, FPGA, CPU, a controller, a microcontroller, and a microprocessor. It will be appreciated that the electronics for implementing the above-described processor functions may be other for different devices, and embodiments of the present invention are not particularly limited.
It will be appreciated by those skilled in the art that 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 a hardware embodiment, a 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 storage media (including, but not limited to, magnetic disk storage, 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 flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations 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 foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention.

Claims (18)

1. The streaming media data transmission method is characterized by being applied to a wrapper, and comprises the following steps:
generating at least one streaming media data file containing one or more file fragments, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played;
For the generated file fragments, sequentially storing all the chunk sub-fragments in the corresponding file fragments according to the preset sequence of all the chunk sub-fragments in the corresponding file fragments, wherein the sequentially storing all the chunk sub-fragments in the corresponding file fragments comprises sequentially storing all the chunk sub-fragments in the corresponding file fragments in a queue form;
establishing a queue index aiming at the queue, wherein the queue index is used for indicating the identification information of the file fragments corresponding to each chunk sub-fragment stored in the queue and the position information of the first chunk sub-fragment of each file fragment in the queue;
when a request for acquiring a chunk sub-fragment of a CDN edge node of a content delivery network is received, a corresponding chunk sub-fragment is sent to the CDN edge node according to the request for acquiring the chunk sub-fragment, wherein the request for acquiring the chunk sub-fragment carries identification information of a chunk file corresponding to the chunk required to be acquired and an index of the chunk sub-fragment required to be acquired, and the index of the chunk sub-fragment is used for indicating the number of chunk sub-fragments corresponding to the file fragment.
2. The method of claim 1, wherein generating at least one streaming media data file comprising one or more file fragments comprises:
Acquiring a streaming media data file, and separating audio data and video data from the streaming media data file; generating at least one streaming media data file containing the file fragments corresponding to the audio data, and generating at least one streaming media data file containing the file fragments corresponding to the video data.
3. The method according to claim 1, wherein the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the generated file fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
4. The method according to claim 1, wherein the method further comprises: when the number of the stored chunk sub-fragments is larger than a preset value, sequentially deleting at least one stored chunk sub-fragment according to the sequential time sequence relation of each stored chunk sub-fragment, so that the number of the stored chunk sub-fragments is smaller than or equal to the preset value;
the sending, according to the request for obtaining the chunk sub-slices, the corresponding chunk sub-slices to the CDN edge node includes: and when the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments are found in the currently stored chunk sub-fragments, sending the chunk sub-fragments corresponding to the requests for acquiring the chunk sub-fragments to the CDN edge node.
5. The method of claim 1, wherein sequentially storing each chunk sub-chunk in the corresponding file chunk comprises: and sequentially storing each chunk sub-segment in the corresponding file segment in the memory of the Package.
6. The method according to claim 1, wherein the method further comprises:
when determining that the chunk sub-slice corresponding to the request for acquiring the chunk sub-slice is not the last chunk sub-slice of one file slice, sending indication information that the file slice is not completed to the CDN edge node when sending the corresponding chunk sub-slice to the CDN edge node;
when determining that the chunk sub-chunk corresponding to the request for acquiring the chunk sub-chunk is the last chunk sub-chunk of a file chunk, sending indication information that the file chunk is completed to the CDN edge node when sending the corresponding chunk sub-chunk to the CDN edge node.
7. A streaming media data transmission method, which is applied to a CDN edge node of a content delivery network, the method comprising:
when a request of a terminal for acquiring a file fragment containing a chunk sub-fragment is received, and when at least one chunk sub-fragment of the file fragment containing the chunk sub-fragment is not found locally, sending the request for acquiring the chunk sub-fragment to a wrapper, wherein the chunk sub-fragment is a file capable of being played independently;
When receiving a chunk sub-slice from a Package, sending the chunk sub-slice from the Package to the terminal; wherein the chunk sub-slices are sent by a packetizer Package by performing the streaming media data transmission method according to any one of claims 1 to 6.
8. The method of claim 7, wherein the method further comprises:
when a request of a terminal for acquiring the file fragments containing the chunk sub-fragments is received, and when at least one chunk sub-fragment in the file fragments containing the chunk sub-fragments is found out locally, the at least one found out locally chunk sub-fragment is sent to the terminal.
9. The method according to claim 7 or 8, characterized in that the method further comprises:
and when the chunk sub-slices from the Package are received, storing the chunk sub-slices from the Package locally.
10. The method of claim 9, wherein the locally storing the chunk sub-shard from the Package comprises: a file segment caching mechanism is used locally to store the chunk sub-fragments of each file fragment from the Package.
11. The method of claim 7, wherein the request for obtaining a chunk carrying identification information of a file chunk corresponding to the chunk requested to be obtained and an index of the chunk requested to be obtained.
12. The method of claim 7, wherein the method further comprises:
after a request for acquiring an ith chunk sub-fragment in the file fragments is sent to the Package, when indication information that the file fragments are not transmitted completely is received, continuing to send a request for acquiring an (i+1) th chunk sub-fragment in the file fragments to the Package; i is an integer greater than or equal to 1;
after a request for acquiring the ith chunk sub-chunk in the file chunk is sent to the Package, sending the indication information of the completion of the file chunk transmission to a terminal when the indication information of the completion of the file chunk transmission is received.
13. A streaming media data transmission device, wherein the device is located in a wrapper Package, the device comprising: a first processing module and a second processing module; wherein, the liquid crystal display device comprises a liquid crystal display device,
the first processing module is used for generating at least one streaming media data file containing one or more file fragments, wherein each file fragment comprises one or more chunk sub-fragments, and each chunk sub-fragment is a file capable of being independently played; for the generated file fragments, sequentially storing all the chunk sub-fragments in the corresponding file fragments according to the preset sequence of all the chunk sub-fragments in the corresponding file fragments, wherein the sequentially storing all the chunk sub-fragments in the corresponding file fragments comprises sequentially storing all the chunk sub-fragments in the corresponding file fragments in a queue form; establishing a queue index aiming at the queue, wherein the queue index is used for indicating the identification information of the file fragments corresponding to each chunk sub-fragment stored in the queue and the position information of the first chunk sub-fragment of each file fragment in the queue;
The second processing module is configured to send, when receiving a request for acquiring a chunk sub-chunk of a CDN edge node of the content delivery network, a corresponding chunk sub-chunk to the CDN edge node according to the request for acquiring the chunk sub-chunk, where the request for acquiring the chunk sub-chunk carries identification information of a chunk file corresponding to the chunk requested to be acquired and an index of the chunk sub-chunk requested to be acquired, and the index of the chunk sub-chunk is used to indicate what chunk sub-chunk is corresponding to the file chunk.
14. A streaming media data transmission device, wherein the device is located in a CDN edge node of a content delivery network, the device comprising: a third processing module and a fourth processing module; wherein, the liquid crystal display device comprises a liquid crystal display device,
the third processing module is used for sending a request for acquiring the chunk sub-fragments to the wrapper Package when receiving the request for acquiring the file fragments containing the chunk sub-fragments of the terminal and when not finding at least one chunk sub-fragment of the file fragments containing the chunk sub-fragments locally, wherein the chunk sub-fragments are files which can be independently played;
the fourth processing module is configured to send, when receiving a chunk sub-slice from a Package, the chunk sub-slice from the Package to the terminal, where the chunk sub-slice is sent by the streaming media data transmission device according to claim 13.
15. A streaming media data transmission device, wherein the device is located in a wrapper Package, the device comprising: a processor and a memory for storing a computer program capable of running on the processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
the processor being adapted to perform the steps of the method of any of claims 1 to 6 when the computer program is run.
16. A streaming media data transmission device, wherein the device is located in a CDN edge node of a content delivery network, the device comprising: a processor and a memory for storing a computer program capable of running on the processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
the processor being adapted to perform the steps of the method of any of claims 7 to 12 when the computer program is run.
17. A computer storage medium having stored thereon a computer program, which when executed by a processor performs the steps of the method according to any of claims 1 to 6.
18. A computer storage medium having stored thereon a computer program, which when executed by a processor performs the steps of the method according to any of claims 7 to 12.
CN201811204623.5A 2018-10-16 2018-10-16 Streaming media data transmission method, equipment, device and computer storage medium Active CN111064969B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811204623.5A CN111064969B (en) 2018-10-16 2018-10-16 Streaming media data transmission method, equipment, device and computer storage medium
PCT/CN2019/111485 WO2020078388A1 (en) 2018-10-16 2019-10-16 Streaming media data transmission method, device, and apparatus, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811204623.5A CN111064969B (en) 2018-10-16 2018-10-16 Streaming media data transmission method, equipment, device and computer storage medium

Publications (2)

Publication Number Publication Date
CN111064969A CN111064969A (en) 2020-04-24
CN111064969B true CN111064969B (en) 2023-07-11

Family

ID=70284039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811204623.5A Active CN111064969B (en) 2018-10-16 2018-10-16 Streaming media data transmission method, equipment, device and computer storage medium

Country Status (2)

Country Link
CN (1) CN111064969B (en)
WO (1) WO2020078388A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104442B (en) * 2020-08-31 2023-12-05 宁波三星医疗电气股份有限公司 Message reply method of electric power acquisition terminal
CN114666318B (en) * 2022-02-17 2024-04-12 网宿科技股份有限公司 Streaming media data downloading method and device, electronic equipment and storage medium
CN114845132B (en) * 2022-04-29 2023-05-12 厦门理工学院 Low-delay live broadcast caching method, device, equipment and medium based on hash algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN104581374A (en) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 Methods for obtaining slicing files and generating sub m3u8 files, node and server
CN105049873A (en) * 2015-05-29 2015-11-11 腾讯科技(北京)有限公司 Method, device and system for streaming media transmission
CN106982395A (en) * 2017-03-02 2017-07-25 上海云熵网络科技有限公司 P2P live broadcast systems and method based on HLS

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX350232B (en) * 2013-03-15 2017-08-29 Arris Entpr Llc Enhanced playlist definition and delivery for fast channel change with http adaptive streaming.
US11869038B2 (en) * 2014-06-24 2024-01-09 Arris Enterprises Llc Tracking ad preferences in adaptive bit rate systems
US10104137B2 (en) * 2015-12-09 2018-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Recording of ABR content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102232298A (en) * 2011-04-07 2011-11-02 华为技术有限公司 Method, device and system for transmitting and processing media content
CN104581374A (en) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 Methods for obtaining slicing files and generating sub m3u8 files, node and server
CN105049873A (en) * 2015-05-29 2015-11-11 腾讯科技(北京)有限公司 Method, device and system for streaming media transmission
CN106982395A (en) * 2017-03-02 2017-07-25 上海云熵网络科技有限公司 P2P live broadcast systems and method based on HLS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FS_5GMedia_Distribution: Proposed Updates to Technical Report;QUALCOMNM INC;《S4-181093,3GPP TSG-SA4 Meeting 100》;20181015;说明书第2.2节-2.3节 *

Also Published As

Publication number Publication date
WO2020078388A1 (en) 2020-04-23
CN111064969A (en) 2020-04-24

Similar Documents

Publication Publication Date Title
CN107222484B (en) Streaming media server system supporting multi-protocol input and output
USRE48360E1 (en) Method and apparatus for providing trick play service
KR101924703B1 (en) Requesting multiple chunks from a network node on the basis of a single request message
US9038116B1 (en) Method and system for recording streams
CN111064969B (en) Streaming media data transmission method, equipment, device and computer storage medium
ES2842589T3 (en) Multicast streaming
US20150372927A1 (en) Method, Device, and System for Acquiring Streaming Media Data
US20150256600A1 (en) Systems and methods for media format substitution
WO2011100901A2 (en) Method, device and system for transmitting and processing media content
US20140074961A1 (en) Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
US20170238040A1 (en) Method, computer program product and server for streaming media content from a server to a client
CN105282627A (en) Method for acquiring a live video clip and server
EP3734927A1 (en) Content service implementation method and device, and content delivery network node
CN109495505B (en) Streaming media protocol conversion method, device, system and computer readable medium
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)
WO2011090715A2 (en) Edge server for format-agnostic streaming architecture
CN110677737A (en) HLS live broadcast quick playing method and system
CN106105145B (en) Method for operating a buffer arranged along a transmission path between a client terminal and at least one server, and corresponding buffer
CN105049873A (en) Method, device and system for streaming media transmission
WO2018014545A1 (en) Code stream data processing method and apparatus
KR102335495B1 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
CN112203105A (en) New media mobile live broadcasting method and system
EP3443750A1 (en) Methods of streaming media file data and media file servers
JP2015170323A (en) Distribution device and distribution method
WO2019193991A1 (en) Distribution device, distribution method and program

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