WO2017035795A1 - 流媒体数据的传输处理方法及装置 - Google Patents

流媒体数据的传输处理方法及装置 Download PDF

Info

Publication number
WO2017035795A1
WO2017035795A1 PCT/CN2015/088774 CN2015088774W WO2017035795A1 WO 2017035795 A1 WO2017035795 A1 WO 2017035795A1 CN 2015088774 W CN2015088774 W CN 2015088774W WO 2017035795 A1 WO2017035795 A1 WO 2017035795A1
Authority
WO
WIPO (PCT)
Prior art keywords
fragment
file
fragment file
streaming media
media data
Prior art date
Application number
PCT/CN2015/088774
Other languages
English (en)
French (fr)
Inventor
周逻理
Original Assignee
深圳好视网络科技有限公司
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 深圳好视网络科技有限公司 filed Critical 深圳好视网络科技有限公司
Priority to PCT/CN2015/088774 priority Critical patent/WO2017035795A1/zh
Publication of WO2017035795A1 publication Critical patent/WO2017035795A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network

Definitions

  • the invention belongs to the field of network technologies, and in particular relates to a method and a device for processing and processing streaming media data.
  • Peer-to-Peer (P2P) streaming media playback technology uses P2P
  • the principle is to establish a streaming media playback network, which can save the server bandwidth consumption and reduce the processing pressure of the server, so that a single server can easily load thousands of users to simultaneously play streaming media.
  • HLS HTTP Live Streaming
  • the biggest feature is that the client does not get a complete data stream.
  • the HLS protocol cuts and stores streaming media files into multiple consecutive, very short TS fragment files on the server side, and creates an m3u8 index file for recording these TSs.
  • the fragment number corresponding to the fragment file is based on the fragmented transmission of the streaming media data, so that the streaming media is played on the client.
  • the TS fragment file size in the HLS protocol is an average of 3 ⁇ 5MB
  • the P2P specified by the P2P protocol is 1k. Therefore, it is not possible to share the streaming media data of the HLS protocol through the P2P network.
  • the streaming media data of the protocol requires a large amount of server resources in the transmission process, which greatly increases the system cost of the streaming media playback system.
  • the embodiment of the present invention provides a method and a device for processing and processing streaming media data, so as to implement HLS through a P2P network.
  • the transmission of streaming media data of the protocol reduces the system cost of the streaming media playback system.
  • the embodiment of the present invention is implemented by the method for transmitting and processing streaming media data, including:
  • fragmentation information of the TS fragment file to the client, where the fragmentation information includes the TS a second fragment number of the fragment file, a starting first fragment sequence number of the P2P fragment file corresponding to the TS fragment file, and a size of the TS fragment file, so that the client is configured according to the location Framing information from the
  • the P2P network pulls the P2P fragment file and restores the TS fragment file to play.
  • Another object of the present invention is to provide a transmission processing device for streaming media data, including:
  • a fragmentation processing unit for cutting each TS fragment file stored in the server into multiple P2Ps a slice file, and sequentially generating a first slice sequence number for each of the P2P slice files, wherein different first slice numbers of adjacent P2P slice files between the TS slice files are consecutive;
  • a sending unit configured to send the P2P fragment file to a P2P network
  • a first receiving unit configured to receive a streaming media data request sent by the client
  • a first sending unit configured to send the TS to the client according to the streaming media data request a fragmentation information of the fragmentation file, where the fragmentation information includes a second fragment serial number of the TS fragmentation file, a first first fragment sequence number of the P2P fragmentation file corresponding to the TS fragmentation file, and
  • the TS The size of the fragment file is such that the client pulls the P2P fragment file from the P2P network according to the fragmentation information and restores the playback to the TS fragment file.
  • the server cuts the TS fragment file in the streaming media data of the HLS protocol into P2P.
  • the fragmentation file is used to transmit the streaming media data through the P2P network, and the fragmentation information related to the conversion process is sent to the client, so that the client can output the P2P according to the fragmentation information.
  • the streaming media data extracted by the network is restored to the streaming media data of the HLS protocol and played, which effectively reduces the server pressure during the streaming media data transmission process, and greatly saves the system cost of the streaming media playback system.
  • Another object of the embodiments of the present invention is to provide a method for processing streaming media data, including:
  • the server Receiving, by the server, fragmentation information of a stored TS fragment file returned by the streaming media data request, the fragmentation information including the a second fragment number of the TS fragment file, a starting first fragment sequence number of the P2P fragment file corresponding to the TS fragment file, and a size of the TS fragment file, the TS The slice file is cut into a plurality of P2P slice files in the server;
  • Another object of the present invention is to provide a transmission processing device for streaming media data, including:
  • a streaming media file transmission processing device comprising:
  • a third sending unit configured to send a streaming media data request to the server
  • a second receiving unit configured to receive, by the server, the stored TS that is returned according to the streaming media data request Fragment information of the fragment file, the fragmentation information includes a second fragment sequence number of the TS fragment file, a starting first fragment sequence number of the P2P fragment file corresponding to the TS fragment file, and the TS The size of the fragment file, the TS fragment file being cut into a plurality of P2P fragment files in the server;
  • a P2P downloading unit configured to: according to the size of the TS fragment file in the fragmentation information, corresponding to the TS fragment file
  • the first fragment number of the P2P fragment file is extracted from the P2P network, and the P2P fragment file corresponding to the TS fragment file is extracted to reconstruct the TS fragment file.
  • a constructing unit configured to construct m3u8 according to the second fragment serial number of the TS fragment file in the fragmentation information Index file
  • a playing unit configured to play the streaming media data according to the TS fragment file and the m3u8 index file.
  • the streaming media playing client obtains the fragmentation information from the server, from the P2P.
  • the streaming media data is pulled in the network, and the streamed data obtained by the bit is restored to HLS according to the fragmentation information.
  • the streaming media data of the protocol is played and played, thereby increasing the loading speed of the streaming media data, and effectively reducing the server pressure during the streaming media data transmission process, thereby greatly saving the system cost of the streaming media playing system.
  • FIG. 1 is an architectural diagram of a streaming media system according to an embodiment of the present invention
  • FIG. 2 is a flowchart of implementing a server end of a method for processing streaming media data according to an embodiment of the present invention
  • FIG. 3 is a flowchart of an implementation of a server for processing a streaming media data according to another embodiment of the present invention.
  • FIG. 4 is a flowchart of an implementation of a server for processing a streaming media data according to another embodiment of the present invention.
  • FIG. 5 is a flowchart of an implementation of a client for processing a streaming media data according to an embodiment of the present invention
  • FIG. 6 is a flowchart of a specific implementation of a client S503 for processing a streaming media data according to an embodiment of the present invention
  • FIG. 7 is a structural block diagram of a server end of a streaming media data transmission processing device according to an embodiment of the present invention.
  • FIG. 8 is a structural block diagram of a client of a streaming media data transmission processing device according to an embodiment of the present invention.
  • FIG 1 The architecture of the streaming media data processing method and apparatus provided by the embodiment of the present invention is shown in the following. For the convenience of description, only the parts related to the embodiment are shown.
  • the streaming media system is mainly composed of a first server module 11, a second server module 12, and a P2P network.
  • the streaming media playback client 14 is structured, and the functions of each part of the architecture in the streaming media system are as follows:
  • the first server module 11 serves as a source server or a source server group for streaming media, and is used to provide HLS for the streaming media system. Streaming media resources of the protocol, or storing and managing streaming media resources of the HLS protocol.
  • the second server module 12 may exist in the form of a server or a server group for pulling from the first server module 11
  • the streaming media data of the HLS protocol processes the streaming media data, converts it into the streaming media data of the P2P protocol, and delivers the data to the P2P network 13, and simultaneously plays the client according to the streaming media.
  • the streaming media data request sends the related information in the streaming media data conversion process to the streaming media playing client 14 .
  • the streaming media playing client 14 is directed to the second server module 12 according to the user's program playing demand. Initiating a streaming media data request, and extracting streaming media data corresponding to the program from the P2P network 13 according to the analysis result of the streaming media data request, and restoring to HLS Protocol streaming data to enable playback of streaming media programs.
  • the streaming media data of the HLS protocol can be passed through P2P.
  • the network transmits and restores the received streaming media data to HLS in the streaming media playback client (hereinafter referred to as the client).
  • the streaming media data of the protocol is played to enable online on-demand or live broadcast of streaming programs.
  • the following is a specific implementation example, which is based on the second server module 12 (hereinafter referred to as the server) and the streaming media playing client. 14 (hereinafter referred to as the client) implementation of streaming media data transmission processing methods and devices are elaborated:
  • Figure 2 shows an embodiment of the present invention.
  • the execution body of the process is a server, and the implementation process is as follows:
  • each TS fragment file stored in the server is cut into multiple P2Ps respectively.
  • a slice file, and a first slice sequence number is generated for each of the P2P slice files in sequence, and a first slice sequence number of the adjacent P2P slice files between the TS slice files is consecutive.
  • the server pulls the HLS from the streaming source server (that is, the first server module shown in Figure 1).
  • the streaming media data of the protocol, the streaming media data extracted includes a continuous, short duration TS fragment file (MPED-TS format), and the m3u8 index file of the TS fragment files.
  • the m3u8 index file records information such as the fragment number of each TS fragment file.
  • it is stored through a cache node node. TS slice file and related information.
  • the TS shard file pulled from the streaming source server is stored locally, and in S201, the server stores each TS for it.
  • the fragment file is converted into P2P protocol, and each TS fragment file is respectively cut into multiple P2P fragment files, and corresponding fragment numbers are generated for each P2P fragment file in sequence, which is used to represent each The playback order of P2P shard files.
  • the size of each P2P fragment file does not exceed 1K, and the size of a TS fragment file is not necessarily A multiple of 1K, therefore, the size of the last P2P slice file corresponding to a TS slice file may be less than or equal to 1K.
  • the first fragment number of the P2P fragment file is continuous, which means that in the process of cutting each TS fragment file, the P2P fragment file obtained by the cutting is continuously encoded according to the playing order, for example, the fragment serial number.
  • the fragment number of the last P2P fragment file corresponding to the TS fragment file of 1 is 1060
  • the fragment number of the starting P2P fragment file corresponding to the TS fragment file with the fragment number 2 is 1061.
  • the P2P fragment file is delivered to the P2P network.
  • the server For the cut P2P fragment file, the server sends it to the P2P network to enable the client to access the P2P.
  • the streaming media data of the P2P protocol is pulled in the network.
  • the TS The size of the fragment file is such that the client pulls the P2P fragment file from the P2P network according to the fragmentation information and restores the playback to the TS fragment file.
  • the client When the streaming program needs to be played, the client initiates a streaming data request for the streaming program to the server, and the server stores the TS according to the received streaming data request.
  • the relevant fragmentation information of the fragment file is returned to the client.
  • the corresponding fragmentation information includes the fragment sequence number of the TS fragment file in the m3u8 index file, and the TS The size of the fragment file, and the initial P2P corresponding to the TS fragment file after switching the TS fragment to multiple P2P fragment files The slice number of the slice file.
  • the client may extract the P2P corresponding to the TS fragment file from the P2P network based on the fragmentation information.
  • the streaming media source server refreshes the TS fragment file every preset time (for example, 5 seconds).
  • the m3u8 index file therefore, each time a new TS fragment file is received, the server will store a local TS that is currently stored locally.
  • the fragment file and its related information are deleted to ensure local storage space and update the streaming media data.
  • due to the TS stored in the server The fragment file will be continuously updated.
  • the S204 When the server sends the fragmentation information of the TS fragment file to the client according to the streaming media data request of the client, the server does not send the fragmentation information to the client from the currently stored TS fragment file.
  • S204 in Figure 2 is further implemented by S205 in Figure 3:
  • the TS is sent to the client, starting from the Nth TS fragment file currently stored by the server.
  • the fragmentation information of the fragment file where N is an integer greater than one.
  • the N can be a preset value, and the setting of the value can ensure that the client pulls the corresponding P2P fragment file before the
  • the TS fragment file corresponding to the P2P fragment file and its related information are not deleted in the server to ensure that the client can successfully obtain P2P after obtaining the fragmentation information of the TS fragment file from the server.
  • the network pulls the P2P fragment file corresponding to the TS fragment file.
  • the server may further send each TS to the P2P network in a bitmap manner.
  • the distribution information of the P2P fragment file corresponding to the fragment file is as shown in FIG. 4, and the method further includes:
  • S206 Send a P2P about the TS fragment file to the P2P network. Fragmenting the file bitmap to cause the client to pull the P2P fragment file from the P2P network according to the P2P fragment file bitmap.
  • Bitmap is a data structure that represents an object with each bit of a memory area.
  • each element is '0' or '1', respectively, to indicate that its corresponding element does not exist or exists.
  • the M-bit bitmap is used to indicate whether each P2P fragment file exists, and the server sends the bitmap to P2P.
  • the network when the client pulls the streaming media data of the P2P protocol, first obtains the P2P fragment file bitmap from the P2P network, and then according to the P2P fragment file bitmap, from the P2P Pull the corresponding P2P fragment file from other clients in the network.
  • the P2P corresponding to each TS fragment file in the client can be clearly and intuitively displayed and managed.
  • the acquisition of the fragment file helps the client to quickly pull out the missing P2P fragment file, and the client side pulls the P2P according to the bitmap.
  • the method of sharding the file will be explained in detail in the following embodiments, and will not be described here.
  • the server cuts the TS fragment file in the streaming media data of the HLS protocol into P2P.
  • the fragmentation file is used to transmit the streaming media data through the P2P network, and the fragmentation information related to the conversion process is sent to the client, so that the client can output the P2P according to the fragmentation information.
  • the streaming media data extracted by the network is restored to the streaming media data of the HLS protocol and played, which effectively reduces the server pressure during the streaming media data transmission process, and greatly saves the system cost of the streaming media playback system.
  • the client After the user selects the streaming program currently to be played in the playlist, the client sends a streaming media data request for the streaming program to the server. After receiving the streaming data request, the server returns to the client its locally stored information about the streaming program.
  • the fragmentation information of the TS fragment file For each TS fragment file, the corresponding fragmentation information includes the fragment sequence number of the TS fragment file in the m3u8 index file, and the TS The size of the fragment file, and the starting fragment number of the P2P fragment file corresponding to the TS fragment file after the server slices the TS fragment into multiple P2P fragment files.
  • each P2P fragment file Since the size of each P2P fragment file is normally 1k, it is based on TS in the fragmentation information.
  • the size of the fragment file and the starting first fragment number of the P2P fragment file corresponding to the TS fragment file, and each P2P corresponding to the TS fragment file can be known.
  • the slice number of the slice file For example, in the fragmentation information, the size of the TS fragment file is 1M, and the starting fragment number of the P2P fragment file corresponding to the TS fragment file is 1, and the TS can be known.
  • the P2P fragment file corresponding to the fragment file has a total of 1024 slices, and the corresponding slice sequence number ranges from 1 to 1024. Obtain the P2P corresponding to the TS fragment file.
  • the client can pull the P2P fragment file from the P2P network based on the fragment sequence number of the P2P fragment file, and according to each P2P.
  • the fragment sequence number corresponding to the fragment file is used to re-splice the extracted P2P fragment file into the corresponding TS fragment file.
  • m3u8 is constructed according to the second fragment number of the TS fragment file in the fragmentation information. Index file.
  • the client While pulling the P2P fragment file and splicing it into a TS fragment file, the client also uses TS in the fragmentation information.
  • the fragment number of the fragment file is used to construct the m3u8 index file.
  • the fragment sequence number in the index file sequentially plays the TS fragment file obtained by the splicing, thereby realizing the playback of the streaming media data.
  • the server when the server sends a bitmap to the P2P network about each TS
  • the distribution information of the P2P fragment file corresponding to the fragment file is as shown in FIG. 6, the P2P corresponding to the TS fragment file is extracted from the P2P network.
  • the scheme of the fragment file can be further implemented by:
  • the P2P fragment file bitmap is sent by the server to the P2P network.
  • each bit represents a P2P.
  • a fragment file with each bit being '0' or '1', indicating that its corresponding P2P fragment file does not exist or exists, respectively.
  • the server sends the bitmap to the P2P network, and the client pulls the P2P.
  • the P2P fragment file bitmap is first obtained from the P2P network.
  • the client After the client obtains the P2P fragment file bitmap, it needs to be based on the local P2P.
  • the pull of the shard file the elements in the shard are updated. For example, for a P2P fragment file with a slice number of 1 ⁇ 10, the client only pulls the slice numbers 1 , 3 , 5 , 7 .
  • the P2P fragment file of 9 the bit position corresponding to the five P2P fragment files in the bitmap is '1', indicating that the five P2P fragment files have been pulled, and the bitmap is sliced.
  • Serial number 2 The bit position '0' of the P2P fragment file of 4, 6, 8, 10, 10 is used to indicate that the five P2P fragment files have not been pulled.
  • the P2P slice file bitmap of the slice file is compared.
  • P2P is pulled from all clients located in the P2P network. Fragmented files, meanwhile, and because of the same streaming data, P2P Each client in the network maintains the same bitmap with the same data structure locally. Therefore, by comparing the local bitmap with each bit of the bitmap stored by other clients, you can know which clients are in the client. There is a client that has not been pulled yet. The P2P file is fragmented, and based on the comparison result, it is decided which P2P fragment files are pulled from other clients.
  • a bitmap is used to represent the P2P corresponding to each TS fragment file in the client.
  • the distribution information of the fragment file can clearly and intuitively display and manage the acquisition of the P2P fragment file corresponding to each TS fragment file in the client, thus helping the client to quickly pull the missing P2P.
  • the shard file improves the loading speed of streaming media data.
  • the streaming media playing client obtains the fragmentation information from the server, from the P2P.
  • the streaming media data is pulled in the network, and the streamed data obtained by the bit is restored to HLS according to the fragmentation information.
  • the streaming media data of the protocol is played and played, thereby increasing the loading speed of the streaming media data, and effectively reducing the server pressure during the streaming media data transmission process, thereby greatly saving the system cost of the streaming media playing system.
  • FIG. 7 shows an embodiment of the present invention.
  • a structural block diagram of the transmission processing device of the streaming media data wherein the streaming media data transmission processing device may be built in the second server module 12 or the second server module 12 Software units, hardware units, or units that are combined with software and hardware within the application system. For the convenience of explanation, only the parts related to the present embodiment are shown.
  • the device includes:
  • the slice processing unit 71 cuts each TS slice file stored in the server into multiple P2Ps a slice file, and a first slice sequence number is generated for each of the P2P slice files in sequence, and a first slice sequence number of the adjacent P2P slice files between the TS slice files is consecutive.
  • the TS fragment file that the server pulls from the streaming media source server is stored locally, in the fragment processing unit 71.
  • the server performs P2P protocol conversion processing on each TS fragment file stored therein, and cuts each TS fragment file into multiple P2P fragment files, and sequentially for each P2P.
  • the shard file generates the corresponding shard sequence number, which is used to indicate the playback order of each P2P shard file. It should be noted that the size of each P2P fragment file does not exceed 1K according to the P2P protocol. However, since the size of a TS fragment file is not necessarily a multiple of 1K, the size of the last P2P fragment file corresponding to a TS fragment file may be less than or equal to 1K. .
  • the first fragment number of the adjacent P2P fragment file between different TS fragment files is consecutive, which means that each TS is
  • the P2P slice file obtained by the cut is continuously coded according to the play order thereof, for example, the last P2P corresponding to the TS slice file whose slice number is 1.
  • the fragment number of the fragment file is 1060
  • the fragment number of the starting P2P fragment file corresponding to the TS fragment file with the fragment number 2 is 1061.
  • the sending unit 72 delivers the P2P fragment file to the P2P network.
  • the sending unit 72 sends it to the P2P network, so that the client can
  • the P2P network pulls the streaming media data of the P2P protocol.
  • the first receiving unit 73 receives the streaming media data request sent by the client.
  • the first sending unit 74 sends the TS to the client according to the streaming media data request.
  • a fragmentation information of the fragmentation file where the fragmentation information includes a second fragment serial number of the TS fragmentation file, a first first fragment sequence number of the P2P fragmentation file corresponding to the TS fragmentation file, and
  • the TS The size of the fragment file is such that the client pulls the P2P fragment file from the P2P network according to the fragmentation information and restores the playback to the TS fragment file.
  • the client When the streaming program needs to be played, the client initiates a streaming data request for the streaming program to the server, according to the first receiving unit 73.
  • the first sending unit 74 Receiving the received streaming media data request, the first sending unit 74 returns the related fragmentation information of the stored TS fragment file to the client, and for each TS fragment file, the corresponding fragmentation information includes The fragment number of the TS fragment file in the m3u8 index file, the size of the TS fragment file, and the corresponding start of the TS fragment file after the TS fragment is switched into multiple P2P fragment files. The fragment number of the P2P fragment file.
  • the first sending unit 74 is specifically configured to:
  • the N can be a preset value, and the setting of the value can ensure that the client pulls the corresponding P2P fragment file before the
  • the TS fragment file corresponding to the P2P fragment file and its related information are not deleted in the server to ensure that the client can successfully obtain P2P after obtaining the fragmentation information of the TS fragment file from the server.
  • the network pulls the P2P fragment file corresponding to the TS fragment file.
  • the device further includes:
  • a second sending unit sending, to the client, a P2P fragment file bitmap of the TS fragment file, so that the client is according to the The P2P fragment file bitmap pulls the P2P fragment file from the P2P network.
  • each element is '0' or '1' to indicate that its corresponding element does not exist or exists.
  • the M-bit bitmap is used to indicate whether each P2P fragment file exists, and the server sends the bitmap to P2P.
  • the network when the client pulls the streaming media data of the P2P protocol, first obtains the P2P fragment file bitmap from the P2P network, and then according to the P2P fragment file bitmap, from the P2P Pull the corresponding P2P fragment file from other clients in the network.
  • the P2P corresponding to each TS fragment file in the client can be clearly and intuitively displayed and managed. The acquisition of the fragment file helps the client to quickly pull the missing P2P fragment file.
  • FIG. 8 shows the embodiment of the present invention.
  • a structural block diagram of the transmission processing device of the streaming media data wherein the streaming media data transmission processing device may be built in the streaming media playing client 14 or the streaming media playing client 14 Software units, hardware units, or units that are combined with software and hardware within the application system. For the convenience of explanation, only the parts related to the present embodiment are shown.
  • the device includes:
  • the third sending unit 81 sends a streaming media data request to the server.
  • the second receiving unit 82 receives the TS stored by the server according to the streaming media data request.
  • Fragment information of the fragment file, the fragmentation information includes a second fragment sequence number of the TS fragment file, a starting first fragment sequence number of the P2P fragment file corresponding to the TS fragment file, and the TS The size of the fragment file, which is cut into a plurality of P2P fragment files in the server.
  • the third sending unit 81 A streaming media data request for the streaming program is sent to the server.
  • the server After receiving the streaming data request, the server returns to the client its locally stored TS for the streaming program.
  • Fragmentation information of the fragment file For each TS fragment file, the corresponding fragmentation information includes the fragment sequence number of the TS fragment file in the m3u8 index file, and the TS The size of the fragment file, and the starting fragment number of the P2P fragment file corresponding to the TS fragment file after the server slices the TS fragment into multiple P2P fragment files.
  • a P2P download unit 83 according to the size of the TS fragment file in the fragmentation information and the corresponding TS fragment file
  • the first fragment number of the P2P fragment file is extracted from the P2P network to retrieve the P2P fragment file corresponding to the TS fragment file to reconstruct the TS fragment file.
  • each P2P fragment file Since the size of each P2P fragment file is normally 1k, it is based on TS in the fragmentation information.
  • the size of the fragment file and the starting first fragment number of the P2P fragment file corresponding to the TS fragment file, and each P2P corresponding to the TS fragment file can be known.
  • the slice number of the slice file For example, in the fragmentation information, the size of the TS fragment file is 1M, and the starting fragment number of the P2P fragment file corresponding to the TS fragment file is 1, and the TS can be known.
  • the P2P fragment file corresponding to the fragment file has a total of 1024 slices, and the corresponding slice sequence number ranges from 1 to 1024.
  • the P2P download unit 73 can pull the P2P slice file from the P2P network based on the slice sequence number of the P2P slice file, and according to each P2P The fragment sequence number corresponding to the fragment file is used to re-splice the extracted P2P fragment file into the corresponding TS fragment file.
  • the constructing unit 84 is configured to construct m3u8 according to the second fragment serial number of the TS fragment file in the fragmentation information. Index file.
  • a playing unit 85 according to the TS fragment file and the m3u8 An index file that plays the streaming media data.
  • the construction unit 84 is also based on the TS information in the fragmentation information.
  • the fragment number of the fragment file, constructing the m3u8 index file, thereby completing the restoration of the streaming media data of the HLS protocol, and the playback unit 85 can follow m3u8
  • the fragment sequence number in the index file sequentially plays the TS fragment file obtained by the splicing, thereby realizing the playback of the streaming media data.
  • the P2P download unit 83 includes:
  • the P2P fragment file bitmap is sent by the server to the P2P network.
  • each bit represents a P2P.
  • a fragment file with each bit being '0' or '1', indicating that its corresponding P2P fragment file does not exist or exists, respectively.
  • the server sends the bitmap to the P2P network and pulls the P2P
  • the obtaining subunit first obtains the P2P fragment file bitmap from the P2P network.
  • the P2P slice file bitmap is updated.
  • the update sub-sheet needs to be based on the local P2P.
  • the pull of the shard file the elements in the shard are updated. For example, for a P2P fragment file with a slice number of 1 ⁇ 10, the client only pulls the slice numbers 1 , 3 , 5 , 7 .
  • the P2P fragment file of 9 the bit position corresponding to the five P2P fragment files in the bitmap is '1', indicating that the five P2P fragment files have been pulled, and the bitmap is sliced.
  • Serial number 2 The bit position '0' of the P2P fragment file of 4, 6, 8, 10, 10 is used to indicate that the five P2P fragment files have not been pulled.
  • P2P Due to the download principle of the P2P network, P2P is pulled from all clients located in the P2P network. Fragmented files, meanwhile, and because of the same streaming data, P2P Each client in the network maintains the same bitmap with the same data structure locally. Therefore, the comparison subunit can know which bits of the bitmap stored by other clients are compared with each bit of the bitmap stored by other clients. The client has not yet pulled the client. The P2P file is fragmented, and based on the comparison result, it is decided which P2P fragment files are pulled from other clients.
  • a bitmap is used to represent the P2P corresponding to each TS fragment file in the client.
  • the distribution information of the fragment file can clearly and intuitively display and manage the acquisition of the P2P fragment file corresponding to each TS fragment file in the client, thus helping the client to quickly pull the missing P2P.
  • the shard file improves the loading speed of streaming media data.
  • the disclosed apparatus and method may be implemented in other manners.
  • the system embodiment described above is merely illustrative.
  • the division of the module or unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the medium includes a number of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor ( Processor) Performs all or part of the steps of the method described in the various embodiments of the embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, and a read only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory) )
  • ROM Read-Only Memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

适用于网络技术领域,提供了流媒体数据的传输处理方法及装置,包括:将存储在服务器的每个TS分片文件分别切割为多个P2P分片文件,并依序为每个所述P2P分片文件生成第一分片序号,不同所述TS分片文件之间的相邻所述P2P分片文件的第一分片序号连续;将所述P2P分片文件下发至P2P网络;接收客户端发送的流媒体数据请求;根据所述流媒体数据请求向所述客户端发送所述TS分片文件的分片信息,以使所述客户端根据所述分片信息从所述P2P网络拉取所述P2P分片文件并还原成所述TS分片文件播放。有效地减轻了流媒体数据传输过程中的服务器压力,大大地节省了流媒体播放***的***成本。

Description

流媒体数据的传输处理方法及装置 技术领域
本发明属于 网络技术领域 ,尤其涉及 流媒体数据的传输处理方法及装置 。
背景技术
对等网络( Peer-to-Peer , P2P )流媒体播放技术采用了 P2P 的原理来建立流媒体播放网络,从而能够达到节省服务端带宽消耗、减轻服务端处理压力的目的,使得单一服务器就能够轻松负荷起成千上万的用户同时在线进行流媒体播放。作为流媒体传输播放协议中的一种, HLS ( HTTP Live Streaming )主要为 iOS 设备提供音视频直播和点播方案,其最大的特点在于,客户端获取到的并不是一个完整的数据流, HLS 协议在服务器端将流媒体文件切割存储为多个连续的、很短时长的 TS 分片文件,同时建立一个 m3u8 索引文件用于记录这些 TS 分片文件对应的分片序号,基于此对流媒体数据进行碎片化传输,从而实现流媒体在客户端的播放。
然而,由于 HLS 协议中的 TS 分片文件大小平均为 3~5MB ,而 P2P 协议所规定的 P2P 分片文件大小为 1k ,因此,目前尚无法将 HLS 协议的流媒体数据通过 P2P 网络来实现共享,导致 HLS 协议的流媒体数据在传输过程中需要耗费大量的服务器资源,大大增加了流媒体播放***的***成本。
技术问题
有鉴于此,本发明实施例提供了流媒体数据的传输处理方法及装置,以通过 P2P 网络来实现 HLS 协议的流媒体数据的传输,降低流媒体播放***的***成本。
技术解决方案
本发明实施例是这样实现的,一种流媒体数据的传输处理方法,包括:
将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续;
将所述 P2P 分片文件下发至 P2P 网络;
接收客户端发送的流媒体数据请求;
根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
本发明实施例的另一目的在于提供 一种流媒体数据的传输处理装置,包括:
分片处理单元,用于将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续;
下发单元,用于将所述 P2P 分片文件下发至 P2P 网络;
第一接收单元,用于接收客户端发送的流媒体数据请求;
第一发送单元,用于根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
本发明实施例中,服务器将 HLS 协议的流媒体数据中的 TS 分片文件切割为 P2P 分片文件,以通过 P2P 网络实现流媒体数据的传输,并将转换过程相关的分片信息下发至客户端,以使客户端能够根据该分片信息将从 P2P 网络拉取到的流媒体数据还原成 HLS 协议的流媒体数据并播放,有效地减轻了流媒体数据传输过程中的服务器压力,大大地节省了流媒体播放***的***成本。
本发明实施例的另一目的在于提供 一种流媒体 数据的 传输处理方法,包括:
向服务器发送流媒体数据请求;
接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件;
根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件;
根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件;
根据所述 TS 分片文件和所述 m3u8 索引文件,对所述流媒体数据进行播放。
本发明实施例的另一目的在于提供 一种流媒体数据的传输处理装置,包括:
一种流媒体文件传输处理装置,其特征在于,包括:
第三发送单元,用于向服务器发送流媒体数据请求;
第二接收单元,用于接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件;
P2P 下载单元,用于根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件;
构造单元,用于根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件;
播放单元,用于根据所述TS分片文件和所述 m3u8索引文件,对所述流媒体数据进行播放。
有益效果
本发明实施例中,流媒体播放客户端根据从服务器获取到分片信息,从 P2P 网络中拉取流媒体数据,并根据该分片信息将位取到的流媒体数据还原成 HLS 协议的流媒体数据并播放,由此提高了流媒体数据的加载速度,并有效地减轻了流媒体数据传输过程中的服务器压力,大大地节省了流媒体播放***的***成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图 1 是 本发明实施例提供的流媒体***的架构图;
图 2 是本发明 实施例提供的流媒体数据的传输处理方法服务端的实现流程图;
图 3 是本发明另一 实施例提供的流媒体数据的传输处理方法服务端的实现流程图;
图 4 是 本发明另一 实施例提供的流媒体数据的传输处理方法服务端的实现流程图;
图 5 是本发明 实施例提供的流媒体数据的传输处理方法客户端的实现流程图;
图 6 是本发明 实施例提供的流媒体数据的传输处理方法客户端 S503 的具体实现流程图;
图 7 是 本发明实施例提供的 流媒体数据的传输处理 装置服务端的结构框图;
图 8 是本发明实施例提供的 流媒体数据的传输处理 装置客户端的结构框图。
本发明的实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明 。
图 1 示出了本发明实施例提供的流媒体数据的传输处理方法及装置所适用的流媒体***架构图,为了便于说明,仅示出了与本实施例相关的部分。
参照图 1 ,该流媒体***主要由第一服务器模块 11 、第二服务器模块 12 、 P2P 网络 13 及流媒体播放客户端 14 架构而成,该架构中各部分在流媒体***中的功能简述如下:
第一服务器模块 11 作为流媒体的源服务器或者源服务器组,用于为流媒体***提供 HLS 协议的流媒体资源,或者对 HLS 协议的流媒体资源进行存储和管理。
第二服务器模块 12 可以以服务器或者服务器组的形式存在,其用于从第一服务器模块 11 中拉取 HLS 协议的流媒体数据,对流媒体数据进行处理,将其转换成 P2P 协议的流媒体数据并下发至 P2P 网络 13 中,同时,根据流媒体播放客户端 14 的流媒体数据请求,将流媒体数据转换过程中的相关信息发送给流媒体播放客户端 14 。
流媒体播放客户端 14 根据用户的节目播放需求,向第二服务器模块 12 发起流媒体数据请求,并根据对该流媒体数据请求的分析结果,从 P2P 网络 13 中拉取节目对应的流媒体数据,还原成 HLS 协议的流媒体数据,以实现对流媒体节目的播放。
基于图 1 所示的***架构,可以将 HLS 协议的流媒体数据通过 P2P 网络进行传输,并在流媒体播放客户端(以下简称客户端)将接收到的流媒体数据还原成 HLS 协议的流媒体数据以进行播放,从而实现流媒体节目的在线点播或者直播。以下结合具体的实现例,分别对基于第二服务器模块 12 (以下简称服务器)和流媒体播放客户端 14 (以下简称客户端)实现的流媒体数据的传输处理方法及装置进行详细阐述:
图 2 示出了本发明实施例提供的 流媒体数据的传输处理方法的实现流程,在本实施例中,流程的执行主体为服务器,该实现流程详述如下:
在 S201 中,将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续。
在执行 S201 之前,服务器从流媒体源服务器(即图 1 所示的第一服务器模块)中拉取 HLS 协议的流媒体数据,拉取到的流媒体数据包括连续的、很短时长的 TS 分片文件( MPED-TS 格式),以及这些 TS 分片文件的 m3u8 索引文件,在该 m3u8 索引文件中记录了每个 TS 分片文件的分片序号等信息。在服务器中,针对拉取到的每个 TS 分片文件,分别通过一个 cache node 节点来存储该 TS 分片文件及其相关信息。
从流媒体源服务器拉取到的 TS 分片文件被存储在本地,在 S201 中,服务器对其存储的每个 TS 分片文件分别做 P2P 协议的转换处理,将每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个 P2P 分片文件生成相应的分片序号,用于表示每个 P2P 分片文件的播放顺序。需要说明的是,根据 P2P 协议的规定,每个 P2P 分片文件的大小不超过 1K ,而由于一个 TS 分片文件的大小并非一定是 1K 的倍数,因此,一个 TS 分片文件对应的最后一个 P2P 分片文件的大小可能小于或者等于 1K 。此外,在 S201 中,不同 TS 分片文件之间的相邻 P2P 分片文件的第一分片序号连续,是指在对每个 TS 分片文件进行切割的过程中,对于切割得到的 P2P 分片文件是依照其播放顺序连续编码的,例如,分片序号为 1 的 TS 分片文件对应的最后一个 P2P 分片文件的分片序号为 1060 ,则分片序号为 2 的 TS 分片文件对应的起始 P2P 分片文件的分片序号为 1061 。
在 S202 中,将所述 P2P 分片文件下发至 P2P 网络。
对于切割得到的 P2P 分片文件,服务器将其下发至 P2P 网络中,以使客户端能够从 P2P 网络中拉取 P2P 协议的流媒体数据。
在 S203 中,接收客户端发送的流媒体数据请求。
在 S204 中,根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
当需要播放流媒体节目时,客户端向服务器发起关于该流媒体节目的流媒体数据请求,根据接收到的流媒体数据请求,服务器将其存储的 TS 分片文件的相关分片信息返回给客户端,对于每个 TS 分片文件来说,其对应的分片信息包括了 m3u8 索引文件中该 TS 分片文件的分片序号,该 TS 分片文件的大小,以及将该 TS 分片切换成多个 P2P 分片文件之后,该 TS 分片文件对应的起始 P2P 分片文件的分片序号。客户端在接收到服务器返回的分片信息之后,就可以基于该分片信息从 P2P 网络中拉取 TS 分片文件对应的 P2P 分片文件,并根据该分片信息将拉取到的 P2P 分片文件还原成 TS 分片文件,以实现 HLS 协议的流媒体数据的播放,上述过程将在下文以客户端为执行主体的实施例中进行详细说明,在此不赘述。
在流媒体的直播场景之下,由于流媒体源服务器会每隔预设时间(例如 5 秒)刷新 TS 分片文件及 m3u8 索引文件,因此,在每接收到一个新的 TS 分片文件的同时,服务器会对当前存储在本地的起始一个 TS 分片文件及其相关信息进行删除,以保证本地存储空间,并实现流媒体数据的更新。作为本发明的一个实施例,由于存储在服务器的 TS 分片文件是会不断进行更新的,为了避免由于更新删除了 TS 分片文件,从而使得客户端拉取不到相应的流媒体数据的情况出现,在 S204 服务器根据客户端的流媒体数据请求向客户端发送 TS 分片文件的分片信息时,并不从当前存储的起始一个 TS 分片文件开始向客户端发送分片信息,具体地,如图 3 所示,图 2 中的 S204 进一步地由图 3 中的 S205 实现:
S205 ,从所述服务器当前存储的第 N 个所述 TS 分片文件开始,向所述客户端发送所述 TS 分片文件的所述分片信息,所述 N 为大于 1 的整数。
所述 N 可以为一个预设的数值,该数值的设置可以保证客户端在拉取到相应的 P2P 分片文件之前,该 P2P 分片文件对应的 TS 分片文件及其相关信息在服务器中未被删除,以保证客户端在从服务器获取到 TS 分片文件的分片信息之后,能够顺利地从 P2P 网络拉取到该 TS 分片文件对应的 P2P 分片文件。
进一步地,作为本发明的一个实施例,服务器还可以以位图的方式,向 P2P 网络发送关于每个 TS 分片文件对应的 P2P 分片文件的分布信息,如图 4 所示,所述方法还包括:
S206 ,向所述 P2P 网络发送关于所述 TS 分片文件的 P2P 分片文件位图,以使所述客户端根据所述 P2P 分片文件位图从所述 P2P 网络拉取所述 P2P 分片文件。
位图( Bitmap ),是一种用一块内存区域的每个比特表示一个对象的数据结构,在位图中,每个元素为' 0 '或' 1 ',用于分别表示其对应的元素不存在或者存在。对于每个 TS 分片文件来说,若其被分割为 M 个 P2P 分片文件,则用 M 比特的位图来表示每个 P2P 分片文件是否存在,服务器将该位图发送至 P2P 网络,客户端在拉取 P2P 协议的流媒体数据时,首先从 P2P 网络中获取到该 P2P 分片文件位图,再根据该 P2P 分片文件位图,从 P2P 网络的其他客户端中拉取对应的 P2P 分片文件。通过位图的数据结构,能够清晰、直观地展现并管理客户端中每个 TS 分片文件对应的 P2P 分片文件的获取情况,有助于客户端快速地拉取到所缺失的 P2P 分片文件,客户端一侧根据位图拉取 P2P 分片文件的方法将在下文实施例中进行详细阐述,在此不赘述。
本发明实施例中,服务器将 HLS 协议的流媒体数据中的 TS 分片文件切割为 P2P 分片文件,以通过 P2P 网络实现流媒体数据的传输,并将转换过程相关的分片信息下发至客户端,以使客户端能够根据该分片信息将从 P2P 网络拉取到的流媒体数据还原成 HLS 协议的流媒体数据并播放,有效地减轻了流媒体数据传输过程中的服务器压力,大大地节省了流媒体播放***的***成本。
基于上文实施例所述的服务器侧流媒体数据的传输处理方法,接下来,对客户端执行的流媒体数据的传输处理方法进行详细阐述,如图 5 所示:
在 S501 中,向服务器发送流媒体数据请求。
在 S502 中,接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件。
在客户端,当用户在播放列表中选择了当前需要播放的流媒体节目之后,客户端向服务器发送关于该流媒体节目的流媒体数据请求。服务器在接收到该流媒体数据请求之后,向客户端返回其本地存储的关于该流媒体节目的 TS 分片文件的分片信息。对于每个 TS 分片文件来说,其对应的分片信息包括了 m3u8 索引文件中该 TS 分片文件的分片序号,该 TS 分片文件的大小,以及服务器将该 TS 分片切割成多个 P2P 分片文件之后,该 TS 分片文件对应的 P2P 分片文件的起始分片序号。
在 S503 中,根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件。
由于每个 P2P 分片文件的大小在正常情况下为 1k ,因此,基于分片信息中的 TS 分片文件的大小和 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,可以得知该 TS 分片文件对应的每个 P2P 分片文件的分片序号。例如,分片信息中, TS 分片文件的大小为 1M ,该 TS 分片文件对应的 P2P 分片文件的起始分片序号为 1 ,则可以得知该 TS 分片文件对应的 P2P 分片文件总共有 1024 片,对应的分片序号区间为 1~1024 。在获取到 TS 分片文件对应的 P2P 分片文件的分片序号之后,客户端就可以基于 P2P 分片文件的分片序号,从 P2P 网络中拉取 P2P 分片文件,并根据每个 P2P 分片文件对应的分片序号,依序将拉取到的 P2P 分片文件重新拼接成对应的 TS 分片文件。
在 S504 中,根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件。
在 S505 中,根据所述 TS 分片文件和所述 m3u8 索引文件,对所述流媒体数据进行播放。
在拉取 P2P 分片文件并拼接成 TS 分片文件的同时,客户端还根据分片信息中 TS 分片文件的分片序号,构造 m3u8 索引文件,由此,便完成了对 HLS 协议的流媒体数据的还原,客户端可以按照 m3u8 索引文件中的分片序号,依序对拼接得到的 TS 分片文件进行播放,从而实现对流媒体数据的播放。
进一步地,作为本发明的一个实施例,当服务器以位图的方式向 P2P 网络发送关于每个 TS 分片文件对应的 P2P 分片文件的分布信息时,如图 6 所示,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件的方案可以进一步通过以下方式实现:
S601 ,从所述 P2P 网络获取关于所述 TS 分片文件的 P2P 分片文件位图。
P2P 分片文件位图由服务器下发至 P2P 网络中,在位图中,每个比特表示一个 P2P 分片文件,且每个比特为' 0 '或' 1 ',用于分别表示其对应的 P2P 分片文件不存在或者存在。服务器将该位图发送至 P2P 网络,客户端在拉取 P2P 协议的流媒体数据时,首先从 P2P 网络获取到该 P2P 分片文件位图。
S602 ,根据客户端当前对所述 TS 分片文件对应的所述 P2P 分片文件的拉取情况,对所述 P2P 分片文件位图进行更新。
客户端在获取到 P2P 分片文件位图之后,需要根据本地 P2P 分片文件的拉取情况,对该分片中的元素进行更新。例如,对于分片序号为 1~10 的 P2P 分片文件,客户端只拉取了其中分片序号为 1 、 3 、 5 、 7 、 9 的 P2P 分片文件,则将位图中这五个 P2P 分片文件对应的比特位置' 1 ',用于表明这五个 P2P 分片文件已拉取完毕,而将位图中分片序号为 2 、 4 、 6 、 8 、 10 的 P2P 分片文件对应的比特位置' 0 ',用于表明这五个 P2P 分片文件还未拉取。
S603 ,将更新后的所述 P2P 分片文件位图与所述 P2P 网络中其他客户端存储的所述 TS 分片文件的 P2P 分片文件位图进行比较。
S604 ,根据所述比较的结果从所述 P2P 网络中其他客户端拉取所述 P2P 分片文件。
由于 P2P 网络的下载原理,是从位于该 P2P 网络中的所有客户端中拉取 P2P 分片文件,同时,又由于针对相同的流媒体数据, P2P 网络中的每个客户端都会在本地维护数据结构相同的位图,因此,通过将本地的位图与其他客户端存储的位图的每一比特位分别进行比较,就可以知道哪些客户端中存在本客户端还未拉取的 P2P 文件分片,并根据该比较结果,决定从其他客户端中拉取哪些 P2P 分片文件。
在本实施例中,由于采用了位图来表示客户端中每个 TS 分片文件对应的 P2P 分片文件的分布信息,能够清晰、直观地展现并管理客户端中每个 TS 分片文件对应的 P2P 分片文件的获取情况,因此有助于客户端快速地拉取到所缺失的 P2P 分片文件,提高了流媒体数据的加载速度。
本发明实施例中,流媒体播放客户端根据从服务器获取到分片信息,从 P2P 网络中拉取流媒体数据,并根据该分片信息将位取到的流媒体数据还原成 HLS 协议的流媒体数据并播放,由此提高了流媒体数据的加载速度,并有效地减轻了流媒体数据传输过程中的服务器压力,大大地节省了流媒体播放***的***成本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的服务端 流媒体数据的传输处理 方法,图 7 示出了本发明实施例提供的 流媒体数据的传输处理 装置的结构框图, 所述 流媒体数据的传输处理 装置 可以是内置于第二服务器模块 12 或第二服务器模块 12 的应用***内的软件单元、硬件单元或者是软硬结合的单元。 为了便于说明,仅示出了与本实施例相关的部分。
参照图 7 ,该装置包括:
分片处理单元 71 ,将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续。
服务器从流媒体源服务器拉取到的 TS 分片文件被存储在本地,在分片处理单元 71 中,服务器对其存储的每个 TS 分片文件分别做 P2P 协议的转换处理,将每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个 P2P 分片文件生成相应的分片序号,用于表示每个 P2P 分片文件的播放顺序。需要说明的是,根据 P2P 协议的规定,每个 P2P 分片文件的大小不超过 1K ,而由于一个 TS 分片文件的大小并非一定是 1K 的倍数,因此,一个 TS 分片文件对应的最后一个 P2P 分片文件的大小可能小于或者等于 1K 。此外,在分片处理单元 61 的处理过程中,不同 TS 分片文件之间的相邻 P2P 分片文件的第一分片序号连续,是指在对每个 TS 分片文件进行切割的过程中,对于切割得到的 P2P 分片文件是依照其播放顺序连续编码的,例如,分片序号为 1 的 TS 分片文件对应的最后一个 P2P 分片文件的分片序号为 1060 ,则分片序号为 2 的 TS 分片文件对应的起始 P2P 分片文件的分片序号为 1061 。
下发单元 72 ,将所述 P2P 分片文件下发至 P2P 网络。
对于切割得到的 P2P 分片文件,下发单元 72 将其下发至 P2P 网络中,以使客户端能够从 P2P 网络中拉取 P2P 协议的流媒体数据。
第一接收单元 73 ,接收客户端发送的流媒体数据请求。
第一发送单元 74 ,根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
当需要播放流媒体节目时,客户端向服务器发起关于该流媒体节目的流媒体数据请求,根据第一接收单元 73 接收到的流媒体数据请求,第一发送单元 74 将其存储的 TS 分片文件的相关分片信息返回给客户端,对于每个 TS 分片文件来说,其对应的分片信息包括了 m3u8 索引文件中该 TS 分片文件的分片序号,该 TS 分片文件的大小,以及将该 TS 分片切换成多个 P2P 分片文件之后,该 TS 分片文件对应的起始 P2P 分片文件的分片序号。
由于存储在服务器的 TS 分片文件是会不断进行更新的,为了避免由于更新删除了 TS 分片文件,从而使得客户端拉取不到相应的流媒体数据的情况出现,进一步地,所述第一发送单元 74 具体用于:
从所述服务器当前存储的第 N 个所述 TS 分片文件开始,向所述客户端发送所述 TS 分片文件的所述分片信息,所述 N 为大于 1 的整数。
所述 N 可以为一个预设的数值,该数值的设置可以保证客户端在拉取到相应的 P2P 分片文件之前,该 P2P 分片文件对应的 TS 分片文件及其相关信息在服务器中未被删除,以保证客户端在从服务器获取到 TS 分片文件的分片信息之后,能够顺利地从 P2P 网络拉取到该 TS 分片文件对应的 P2P 分片文件。
进一步地,所述装置还包括:
第二发送单元,向所述客户端发送关于所述 TS 分片文件的 P2P 分片文件位图,以使所述客户端根据所述 P2P 分片文件位图从所述 P2P 网络拉取所述 P2P 分片文件。
在位图中,每个元素为' 0 '或' 1 ',用于分别表示其对应的元素不存在或者存在。对于每个 TS 分片文件来说,若其被分割为 M 个 P2P 分片文件,则用 M 比特的位图来表示每个 P2P 分片文件是否存在,服务器将该位图发送至 P2P 网络,客户端在拉取 P2P 协议的流媒体数据时,首先从 P2P 网络中获取到该 P2P 分片文件位图,再根据该 P2P 分片文件位图,从 P2P 网络的其他客户端中拉取对应的 P2P 分片文件。通过位图的数据结构,能够清晰、直观地展现并管理客户端中每个 TS 分片文件对应的 P2P 分片文件的获取情况,有助于客户端快速地拉取到所缺失的 P2P 分片文件。
对应于上文实施例所述的 流媒体数据的传输处理 方法,图 8 示出了本发明实施例提供的 流媒体数据的传输处理 装置的结构框图, 所述 流媒体数据的传输处理 装置 可以是内置于流媒体播放客户端 14 或流媒体播放客户端 14 的应用***内的软件单元、硬件单元或者是软硬结合的单元。 为了便于说明,仅示出了与本实施例相关的部分。
参照图 8 ,该装置包括:
第三发送单元 81 ,向服务器发送流媒体数据请求。
第二接收单元 82 ,接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件。
在客户端,当用户在播放列表中选择了当前需要播放的流媒体节目之后,第三发送单元 81 向服务器发送关于该流媒体节目的流媒体数据请求。服务器在接收到该流媒体数据请求之后,向客户端返回其本地存储的关于该流媒体节目的 TS 分片文件的分片信息。对于每个 TS 分片文件来说,其对应的分片信息包括了 m3u8 索引文件中该 TS 分片文件的分片序号,该 TS 分片文件的大小,以及服务器将该 TS 分片切割成多个 P2P 分片文件之后,该 TS 分片文件对应的 P2P 分片文件的起始分片序号。
P2P 下载单元 83 ,根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件。
由于每个 P2P 分片文件的大小在正常情况下为 1k ,因此,基于分片信息中的 TS 分片文件的大小和 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,可以得知该 TS 分片文件对应的每个 P2P 分片文件的分片序号。例如,分片信息中, TS 分片文件的大小为 1M ,该 TS 分片文件对应的 P2P 分片文件的起始分片序号为 1 ,则可以得知该 TS 分片文件对应的 P2P 分片文件总共有 1024 片,对应的分片序号区间为 1~1024 。在获取到 TS 分片文件对应的 P2P 分片文件的分片序号之后, P2P 下载单元 73 就可以基于 P2P 分片文件的分片序号,从 P2P 网络中拉取 P2P 分片文件,并根据每个 P2P 分片文件对应的分片序号,依序将拉取到的 P2P 分片文件重新拼接成对应的 TS 分片文件。
构造单元 84 ,根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件。
播放单元 85 ,根据所述 TS 分片文件和所述 m3u8 索引文件,对所述流媒体数据进行播放。
在拉取 P2P 分片文件并拼接成 TS 分片文件的同时,构造单元 84 还根据分片信息中 TS 分片文件的分片序号,构造 m3u8 索引文件,由此,便完成了对 HLS 协议的流媒体数据的还原,播放单元 85 可以按照 m3u8 索引文件中的分片序号,依序对拼接得到的 TS 分片文件进行播放,从而实现对流媒体数据的播放。
进一步地,所述 P2P 下载单元 83 包括:
获取子单元,从所述 P2P 网络获取关于所述 TS 分片文件的 P2P 分片文件位图。
P2P 分片文件位图由服务器下发至 P2P 网络中,在位图中,每个比特表示一个 P2P 分片文件,且每个比特为' 0 '或' 1 ',用于分别表示其对应的 P2P 分片文件不存在或者存在。服务器将该位图发送至 P2P 网络,在拉取 P2P 协议的流媒体数据时,获取子单元首先从 P2P 网络获取到该 P2P 分片文件位图。
更新子单元,根据客户端当前对所述 TS 分片文件对应的所述 P2P 分片文件的拉取情况,对所述 P2P 分片文件位图进行更新。
在获取子单元获取到 P2P 分片文件位图之后,更新子单需要根据本地 P2P 分片文件的拉取情况,对该分片中的元素进行更新。例如,对于分片序号为 1~10 的 P2P 分片文件,客户端只拉取了其中分片序号为 1 、 3 、 5 、 7 、 9 的 P2P 分片文件,则将位图中这五个 P2P 分片文件对应的比特位置' 1 ',用于表明这五个 P2P 分片文件已拉取完毕,而将位图中分片序号为 2 、 4 、 6 、 8 、 10 的 P2P 分片文件对应的比特位置' 0 ',用于表明这五个 P2P 分片文件还未拉取。
比较子单元,将更新后的所述 P2P 分片文件位图与所述 P2P 网络中其他客户端存储的所述 TS 分片文件的 P2P 分片文件位图进行比较。
拉取子单元,根据所述比较的结果从所述 P2P 网络中其他客户端拉取所述 P2P 分片文件。
由于 P2P 网络的下载原理,是从位于该 P2P 网络中的所有客户端中拉取 P2P 分片文件,同时,又由于针对相同的流媒体数据, P2P 网络中的每个客户端都会在本地维护数据结构相同的位图,因此,比较子单元通过将本地的位图与其他客户端存储的位图的每一比特位分别进行比较,就可以知道哪些客户端中存在本客户端还未拉取的 P2P 文件分片,并根据该比较结果,决定从其他客户端中拉取哪些 P2P 分片文件。
在本实施例中,由于采用了位图来表示客户端中每个 TS 分片文件对应的 P2P 分片文件的分布信息,能够清晰、直观地展现并管理客户端中每个 TS 分片文件对应的 P2P 分片文件的获取情况,因此有助于客户端快速地拉取到所缺失的 P2P 分片文件,提高了流媒体数据的加载速度。
所属领域的技术人员可以清楚地了 解到,为了描 述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器( processor )执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括: U 盘、移动硬盘、只读存储器( ROM , Read-Only Memory )、随机存取存储器( RAM , Random Access Memory )、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围 。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种流媒体数据的传输处理方法,其特征在于,包括:
    将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续;
    将所述 P2P 分片文件下发至 P2P 网络;
    接收客户端发送的流媒体数据请求;
    根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
  2. 如权利要求 1 所述的方法,其特征在于,所述根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息包括:
    从所述服务器当前存储的第 N 个所述 TS 分片文件开始,向所述客户端发送所述 TS 分片文件的所述分片信息,所述 N 为大于 1 的整数。
  3. 如权利要求 1 或 2 所述的方法,其特征在于,所述方法还包括:
    向所述 P2P 网络发送关于所述 TS 分片文件的 P2P 分片文件位图,以使所述客户端根据所述 P2P 分片文件位图从所述 P2P 网络拉取所述 P2P 分片文件。
  4. 一种流媒体 数据的 传输处理方法,其特征在于,包括:
    向服务器发送流媒体数据请求;
    接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件;
    根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件;
    根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件;
    根据所述 TS 分片文件和所述 m3u8 索引文件,对所述流媒体数据进行播放。
  5. 如权利要求 4 所述的方法,其特征在于,所述从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件包括:
    从所述 P2P 网络获取关于所述 TS 分片文件的 P2P 分片文件位图;
    根据客户端当前对所述 TS 分片文件对应的所述 P2P 分片文件的拉取情况,对所述 P2P 分片文件位图进行更新;
    将更新后的所述 P2P 分片文件位图与所述 P2P 网络中其他客户端存储的所述 TS 分片文件的 P2P 分片文件位图进行比较;
    根据所述比较的结果从所述 P2P 网络中其他客户端拉取所述 P2P 分片文件。
  6. 一种流媒体数据的传输处理装置,其特征在于,包括:
    分片处理单元,用于将存储在服务器的每个 TS 分片文件分别切割为多个 P2P 分片文件,并依序为每个所述 P2P 分片文件生成第一分片序号,不同所述 TS 分片文件之间的相邻所述 P2P 分片文件的第一分片序号连续;
    下发单元,用于将所述 P2P 分片文件下发至 P2P 网络;
    第一接收单元,用于接收客户端发送的流媒体数据请求;
    第一发送单元,用于根据所述流媒体数据请求向所述客户端发送所述 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的所述 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,以使所述客户端根据所述分片信息从所述 P2P 网络拉取所述 P2P 分片文件并还原成所述 TS 分片文件播放。
  7. 如权利要求 6 所述的装置,其特征在于,所述第一发送单元具体用于:
    从所述服务器当前存储的第 N 个所述 TS 分片文件开始,向所述客户端发送所述 TS 分片文件的所述分片信息,所述 N 为大于 1 的整数。
  8. 如权利要求 6 或 7 所述的装置,其特征在于,所述装置还包括:
    第二发送单元,用于向所述 P2P 网络发送关于所述 TS 分片文件的 P2P 分片文件位图,以使所述客户端根据所述 P2P 分片文件位图从所述 P2P 网络拉取所述 P2P 分片文件。
  9. 一种流媒体文件传输处理装置,其特征在于,包括:
    第三发送单元,用于向服务器发送流媒体数据请求;
    第二接收单元,用于接收所述服务器根据所述流媒体数据请求返回的其存储的 TS 分片文件的分片信息,所述分片信息包括所述 TS 分片文件的第二分片序号、所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号和所述 TS 分片文件的大小,所述 TS 分片文件在所述服务器中被切割为多个 P2P 分片文件;
    P2P 下载单元,用于根据所述分片信息中所述 TS 分片文件的大小和所述 TS 分片文件对应的 P2P 分片文件的起始第一分片序号,从 P2P 网络拉取所述 TS 分片文件对应的 P2P 分片文件,以重构成所述 TS 分片文件;
    构造单元,用于根据所述分片信息中所述 TS 分片文件的第二分片序号,构造 m3u8 索引文件;
    播放单元,用于根据所述 TS 分片文件和所述 m3u8 索引文件,对所述流媒体数据进行播放。
  10. 如权利要求 9 所述的装置,其特征在于,所述 P2P 下载单元包括:
    获取子单元,用于从所述 P2P 网络获取关于所述 TS 分片文件的 P2P 分片文件位图;
    更新子单元,用于根据客户端当前对所述 TS 分片文件对应的所述 P2P 分片文件的拉取情况,对所述 P2P 分片文件位图进行更新;
    比较子单元,用于将更新后的所述 P2P 分片文件位图与所述 P2P 网络中其他客户端存储的所述 TS 分片文件的 P2P 分片文件位图进行比较;
    拉取子单元,用于根据所述比较的结果从所述 P2P 网络中其他客户端拉取所述 P2P 分片文件。
PCT/CN2015/088774 2015-09-01 2015-09-01 流媒体数据的传输处理方法及装置 WO2017035795A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/088774 WO2017035795A1 (zh) 2015-09-01 2015-09-01 流媒体数据的传输处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/088774 WO2017035795A1 (zh) 2015-09-01 2015-09-01 流媒体数据的传输处理方法及装置

Publications (1)

Publication Number Publication Date
WO2017035795A1 true WO2017035795A1 (zh) 2017-03-09

Family

ID=58186543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/088774 WO2017035795A1 (zh) 2015-09-01 2015-09-01 流媒体数据的传输处理方法及装置

Country Status (1)

Country Link
WO (1) WO2017035795A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769958A (zh) * 2021-02-05 2021-05-07 上海哔哩哔哩科技有限公司 点对点网络调度方法和***
CN113271475A (zh) * 2021-04-12 2021-08-17 北京奇艺世纪科技有限公司 一种数据处理方法、***、电子设备及存储介质
CN114745371A (zh) * 2022-05-09 2022-07-12 湖南快乐阳光互动娱乐传媒有限公司 一种点对点的下载方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207805A (zh) * 2006-12-20 2008-06-25 北京汉辰科技有限公司 一种利用p2p机顶盒技术的流媒体传输***及其方法
CN101714987A (zh) * 2009-11-16 2010-05-26 中国电信股份有限公司 P2p播放方法及***
US20110082943A1 (en) * 2009-10-07 2011-04-07 Samsung Electronics Co., Ltd. P2p network system and data transmitting and receiving method thereof
CN104581374A (zh) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207805A (zh) * 2006-12-20 2008-06-25 北京汉辰科技有限公司 一种利用p2p机顶盒技术的流媒体传输***及其方法
US20110082943A1 (en) * 2009-10-07 2011-04-07 Samsung Electronics Co., Ltd. P2p network system and data transmitting and receiving method thereof
CN101714987A (zh) * 2009-11-16 2010-05-26 中国电信股份有限公司 P2p播放方法及***
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及***
CN104581374A (zh) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769958A (zh) * 2021-02-05 2021-05-07 上海哔哩哔哩科技有限公司 点对点网络调度方法和***
WO2022166593A1 (zh) * 2021-02-05 2022-08-11 上海哔哩哔哩科技有限公司 点对点网络调度方法和***
CN113271475A (zh) * 2021-04-12 2021-08-17 北京奇艺世纪科技有限公司 一种数据处理方法、***、电子设备及存储介质
CN113271475B (zh) * 2021-04-12 2023-01-10 北京奇艺世纪科技有限公司 一种数据处理方法、***、电子设备及存储介质
CN114745371A (zh) * 2022-05-09 2022-07-12 湖南快乐阳光互动娱乐传媒有限公司 一种点对点的下载方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US9734242B2 (en) Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
KR101233582B1 (ko) 비-스트리밍 프로토콜을 통해 멀티미디어 데이터를 스트리밍하기 위한 방법
CN106550245B (zh) 具有压缩播放列表的实时或近实时流传输
WO2017035783A1 (zh) 流媒体的传输、播放方法及传输、播放装置
WO2016010229A1 (ko) 스트리밍 서비스를 위한 클라이언트 및 서버의 동작 방법
WO2017129079A1 (zh) 在视频直播中***推送信息的方法、服务器和终端
WO2017035795A1 (zh) 流媒体数据的传输处理方法及装置
WO2015076537A1 (ko) 동영상 제공 방법 및 동영상 제공 시스템
CN109151491B (zh) 数据分发***、方法及计算机可读存储介质
WO2023061060A1 (zh) 音视频码流的调度方法、***、介质及电子装置
JP2020520205A (ja) リモートデータのアプリケーションによる消費を同期させるための方法と装置
WO2012176979A1 (ko) 고화질 비디오 스트리밍 서비스 방법 및 시스템
JP2011119859A (ja) コンテンツ再生システム、コンテンツ再生方法、プログラム、および、記録媒体
CN111436009A (zh) 一种实时视频流传送、显示方法以及传送和播放***
JP2011199567A (ja) コンテンツ再生装置およびコンテンツ再生方法
WO2018076446A1 (zh) 一种消息同步方法、装置及***
RU2697702C1 (ru) Способ сжатия изображения, способ восстановления изображения, устройство сжатия изображения и устройство восстановления изображения
WO2013081270A1 (ko) 스트리밍 서비스에서의 광고 영상 제공 방법 및 이를 이용한 스트리밍 서비스 장치
WO2017179271A1 (ja) 監視カメラシステム及び監視カメラデータ保存方法
JP2019103087A (ja) 映像配信装置、制御方法及びプログラム
WO2020024377A1 (zh) 邮件加密方法、装置及计算机可读存储介质
JP2006174519A (ja) セキュリティ方法及びセキュリティ装置
WO2017035802A1 (zh) 一种传输流编码、播放的方法和装置
AU2013202695B2 (en) Real-time or near real-time streaming
WO2016127312A1 (zh) 一种家庭云服务管理***、方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15902602

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15902602

Country of ref document: EP

Kind code of ref document: A1