WO2017035787A1 - Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu - Google Patents
Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu Download PDFInfo
- Publication number
- WO2017035787A1 WO2017035787A1 PCT/CN2015/088766 CN2015088766W WO2017035787A1 WO 2017035787 A1 WO2017035787 A1 WO 2017035787A1 CN 2015088766 W CN2015088766 W CN 2015088766W WO 2017035787 A1 WO2017035787 A1 WO 2017035787A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data block
- file
- streaming media
- media file
- data
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
Definitions
- the invention belongs to the field of the Internet, and in particular relates to a storage method, device and system for streaming media files.
- the currently used streaming media protocols mainly include HTTP progressive download and RTSP/RTP-based.
- Real-time streaming protocol mainly include HTTP progressive download and RTSP/RTP-based.
- HTTP progressive download mainly include HTTP progressive download and RTSP/RTP-based.
- Real-time streaming protocol mainly include HTTP progressive download and RTSP/RTP-based.
- HTTP Live Streaming is a method of using the more typical HTTP progressive download.
- the encoder compresses and encodes the collected audio and video data into an audio/video elementary stream conforming to a specific standard, and can also use the encoded file.
- the files after the encoding is complete must be H.264 video and AAC audio.
- the encoded video and audio are then packaged into an MPEG TS format.
- the encapsulated MPEGTS is stream-divided to split the MPEG transport stream into a plurality of ts. Fragmentation of the file.
- the segmentation process usually divides the slice by time, for example, it is divided into one slice for 10s duration, and if the code stream is high, the slice can be divided into 5 segments.
- Second. And generate an index file (suffix m3u8) containing pointers to these small TS fragments, and put the index file and the cut TS fragments into a common WEB server.
- the index and the slice are downloaded through the standard HTTP protocol, and the video can be clicked or broadcasted. Since the data is transmitted through the HTTP protocol, there is no firewall or proxy problem, and the segment file is in the HLS technology. The duration is very short, and the client can quickly select and switch the bit rate to accommodate playback under different bandwidth conditions.
- the current HLS playback technology is usually used for data transmission between a single server and a client, and the data transmission speed is slow; if the divided TS fragments are sent to other terminal storage, the number of TS fragments after division is Very much, it needs to consume more system resources to manage it.
- an embodiment of the present invention provides a method for storing a streaming media file, where the method includes:
- the index file of the slice pointer
- the merged file is sequentially cut according to a preset size to obtain a plurality of data blocks, wherein the data block includes a serial number corresponding to the data block, and the data block is sent to a plurality of P2P servers for storage.
- the storing the data block to a plurality of P2P servers for storing includes:
- All of the cut data blocks, or the cut partial data blocks, are stored in each of the plurality of P2P servers.
- the step of cutting the merged file according to a preset size to obtain a plurality of data blocks, where the data block includes a sequence number corresponding to the data block, and sending the data block to multiple P2P servers for storing steps Also includes:
- Each data block is verified, verification information corresponding to each data block is generated, and the verification information is added to the data block.
- the method Before the step of performing the segmentation of the streaming media file according to the preset duration, the method further includes:
- the encoder Encoding the video, the encoder encodes the collected video data into a video of H.264 format, and encodes the collected audio data into audio of ACC format;
- the encoded video and audio are packaged into a streaming media file in MPEG format.
- an embodiment of the present invention provides a method for downloading and playing a streaming media file, where the method includes:
- the data block corresponding to the slice is obtained according to the size of the slice to be played, and the slice formed by the data block is sent to the player for playing.
- the method Before the step of transmitting the data block to the player playing step, the method further includes:
- the downloaded data block is verified according to the verification information included in the data block;
- the data block fails the verification, the data block is re-downloaded to the P2P server.
- the method further includes: before the step of downloading a data block from one or more P2P servers according to the data block number, the method further includes:
- the data block download task of the corresponding size is allocated to each P2P server.
- an embodiment of the present invention provides a streaming media file playing system, where the playing system includes:
- the P2P server is configured to store the cut data block, where the data block includes a sequence number corresponding to the data block, where the file to be cut is a segment after the segmentation of the streaming media file and an index corresponding to the segment a file after the file is merged, the index file includes an offset of the slice and a pointer to the slice;
- the P2P client is configured to obtain a data block from one or more P2P servers, obtain an index file according to the sequence number of the data block, parse the index file, and obtain a size of a fragment of the streaming media file to be played, and The data block to be read is sent, and the read data block is fragmented and sent to the player for playback.
- an embodiment of the present invention provides a storage device for streaming media files, where the device includes:
- a streaming media file dividing unit configured to obtain a streaming media file to be stored, and divide the streaming media file according to a preset duration, to obtain a plurality of fragments corresponding to the streaming media file, and a fragment that includes the fragment An index file of the offset and the pointer to the slice;
- a file merging unit configured to merge the index file with the shards of the stream media file to generate a merged file
- Cutting a storage unit configured to sequentially cut the merged file according to a preset size, to obtain a plurality of data blocks, where the data block includes a serial number corresponding to the data block, and send the data block to multiple P2Ps
- the server is storing.
- the cutting storage unit is further configured to:
- Each data block is verified, verification information corresponding to each data block is generated, and the verification information is added to the data block.
- the device further includes:
- a coding unit configured to encode the video, and encode the collected video data into a video of H.264 format, and encode the collected audio data into audio of ACC format;
- a packaging unit for encapsulating the encoded video and audio into a streaming media file in an MPEG format.
- the cutting storage unit is further configured to:
- All of the cut data blocks, or the cut partial data blocks, are stored in each of the plurality of P2P servers.
- an embodiment of the present invention provides a streaming media file download and playback device, where the device includes:
- a data block downloading module configured to download a data block from one or more P2P servers according to the data block number
- An index file parsing module is configured to parse the downloaded index file, and calculate the size of each shard and the shard play order according to the offset in the index file;
- the data block acquisition sending module is configured to acquire a data block corresponding to the fragment according to the size of the fragment to be played, and send the fragment formed by the data block to the player for playing.
- the device further includes:
- the verification module checks the downloaded data block according to the verification information included in the data block, and when the data block fails to pass the verification, the data block is re-downloaded to the P2P server.
- the device further includes:
- a communication speed information obtaining module configured to acquire communication speed information between the P2P client and the plurality of P2P servers
- the task assignment module is configured to allocate a data block download task of a corresponding size to each P2P server according to the communication speed information between the P2P client and the plurality of P2P servers.
- the streaming media file is divided into a plurality of fragments and indexed files according to a preset duration, and then the divided fragments are combined with the index file and then divided into a plurality of data blocks containing serial numbers according to a preset size. And sending the data block to each P2P server for storage. Since the data block size stored in the present invention is the same and each data block contains a serial number, the data block obtained after cutting can be conveniently stored in different servers. It can download data blocks in multiple servers at the same time, improve download speed, and manage more conveniently and consume less resources.
- FIG. 1 is a flowchart for implementing a method for storing a streaming media file according to a first embodiment of the present invention
- FIG. 2 is a flowchart showing an implementation process of a method for storing a streaming media file according to a second embodiment of the present invention
- FIG. 3 is a flowchart showing an implementation process of a method for storing a streaming media file according to a third embodiment of the present invention
- FIG. 4 is a flowchart for implementing a method for playing a streaming media file according to a fourth embodiment of the present invention.
- FIG. 5 is a flowchart for implementing a method for playing a streaming media file according to a fifth embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a storage device for streaming media files according to a seventh embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of a playback device for streaming media files according to an eighth embodiment of the present invention.
- the purpose of the embodiment of the present invention is to solve the problem that in the prior art, when the video is played by using the HLS technology, the video is segmented according to a predetermined length of time, for example, a length of 10 seconds is used to segment the video, and the obtained segmentation is performed.
- a predetermined length of time for example, a length of 10 seconds is used to segment the video, and the obtained segmentation is performed.
- indexing files because there are more shards, management is more troublesome. It is not convenient to send shards and index files to other servers for sharing, so that when streaming media files are played, only the video files of the shards can be downloaded from one server. , resulting in slower downloads.
- the streaming media file is divided into multiple fragments and indexed files according to a preset duration, and then the divided fragments and the index file are combined and divided into a plurality of data with serial numbers according to a preset size.
- Block and send the data block to each P2P server for storage. Since the data block size stored in the present invention is the same and each data block contains a serial number, the data block obtained after cutting can be conveniently stored in different servers. It can download data blocks in multiple servers at the same time, improve download speed, and manage more conveniently and consume less resources.
- the following describes the storage and playback of streaming media files from the perspective of the P2P server and the P2P client.
- Embodiment 1 is a diagrammatic representation of Embodiment 1:
- FIG. 1 is a flowchart showing an implementation process of a method for storing a streaming media file according to a first embodiment of the present invention, which is described in detail as follows:
- step S101 the streaming media file to be stored is obtained, and the streaming media file is segmented according to a preset duration to obtain a plurality of fragments corresponding to the streaming media file, and an offset including the fragment. And an index file pointing to the pointer of the shard.
- the current video source generally includes two categories: an on-demand VOD video data source and a live data source. If it is an on-demand VOD video data source, determine whether the format is MPEG. If not, the video data source needs to be performed. Format conversion.
- the existing video data source needs to be converted accordingly, and the conversion method can select an existing conversion tool according to the format to be converted and the MPEG format, and the user can call The existing tools are completed, and other formats and MPEG conversion algorithms can be integrated in the system. After the format of the source video data source is judged, the corresponding algorithm is called to complete the format conversion.
- the format conversion process may include a direct conversion algorithm, and may also include an indirect conversion algorithm, for example, a video data source of an MP4 format or a DVD format may be directly converted into video data of an MPEG format. It is also possible to convert the video data source of the DVD format into the video data of the MP4 format, and then convert the video data of the MP4 format into the video data of the MPEG format.
- the method includes the following steps:
- the encoder Encoding the video, the encoder encodes the collected video data into a video of H.264 format, and encodes the collected audio data into audio of ACC format;
- the encoding process of the collected live data source can be generally performed by an encoder.
- the encoder can be a hardware device or a software program.
- the encoder of the hardware device is connected to the satellite receiver or camera to encode the input signal to generate video and AAC conforming to the H.264 standard (English full name is Advanced) Audio Coding, the full name of Chinese: Advanced Audio Coding, standard audio format, and package it as an MPEG TS file.
- the preset duration of the segmentation of the streaming media file may be based on a different duration value according to the code rate. For example, the correspondence between different code rate ranges and durations can be set.
- the first duration and the second duration decrease as the code rate increases. That is, the file size of each slice is controlled. For example, for a streaming media file with a normal bit rate, you can use a preset duration of 10s for segmentation. .
- the streaming media can be divided into 540 fragments.
- Each shard is formatted as ts, usually with a suffix of '.ts' appended to each file.
- it also includes generating an index file corresponding to the shards, including an offset of each shard and a pointer to each shard in the index file.
- the offset of the slice can be understood as the offset of the time or size of each slice from the starting position. Taking the time offset as an example, for example, the offset of the Nth slice is a time. Point, the offset of the N+1th slice is the b time point, then the size of the N+1th slice is the video data within the duration of ba.
- the size of the slice can be directly obtained by subtracting the offset. For example, if the offset of the Nth slice is a, and the offset of the N+1th slice is b, then the size of the N+1th slice is b-a.
- the pointer to the slice is used to sequentially play the slice according to the pointer in the index file.
- the preset duration may be set in an index file, and multiple pointers included in the index file may be used to indicate the name and order of the play.
- the shard can be associated with a pointer in the index file, and the pointers are sequentially stored in chronological order.
- step S102 the index file is merged with the slice segmented by the streaming media file to generate a merged file.
- the index file and the shards are combined, so that a large number of shards can be collectively managed, for example, for one streaming media file, including hundreds of shards, in the prior art.
- a large number of shards can be collectively managed, for example, for one streaming media file, including hundreds of shards, in the prior art.
- the present application solves the problem of complicated file management by re-segmenting after packaging and combining, and will be further explained in step S103.
- the index file and the segmented slice of the streaming media file are merged, and the index file may be selected first, and the segmented slice of the streaming media file may be merged in a later manner. That is, in the merged file, the index file corresponding to the fragment of the streaming media file can be preferentially read. It can be understood that this is only a preferred combination, but it is not limited to this combination.
- the size information of the index file needs to be included to facilitate distinguishing from the fragmentation of the streaming media file in the merged file.
- step S103 the merged file is sequentially cut according to a preset size to obtain a plurality of data blocks, where the data block includes a sequence number corresponding to the data block, and the data block is sent to multiple P2P servers.
- the cut is required, and the cut object may be a set of fragments in the merged file, or the entire merged file may be cut, and the entire merged file is performed by Han.
- the cut object may be a set of fragments in the merged file, or the entire merged file may be cut, and the entire merged file is performed by Han.
- it is necessary to record the size information of the index file, so as to facilitate the subsequent calculation of the correspondence between the cut data block and the position of the slice.
- the merged file is cut to obtain a data block, and the preset size of the data block may be 1 KB or the like.
- the data block after the cutting is 1 KB.
- the sliced data block is much smaller than the slice, and therefore, one slice consists of a plurality of data blocks.
- the size and offset of each slice can be obtained, and the starting point of the data block included in each slice can be obtained by combining the sequence numbers of each data block. position.
- the cut object may be a set of fragments in the merged file, and the starting position of each slice is calculated according to the manner described in step S101. For example, for one of the fragments, the starting point of the data is 56.52M. The end position is 58.2M, then the size of the fragment can be calculated to be 1.68M, and the corresponding data includes 1680. If the sequence number of the first data block is 1, the corresponding data block of the fragment is the number 56520. A block of data between the serial numbers 58200.
- the object to be cut includes the index file, it is necessary to remove the data block number occupied by the index file, such as the size of the index file 5K, then if for one of the fragments, the starting point of the data is 56.52M, and the ending position is 58.2M. Then, the size of the slice can be calculated to be 1.68M, and the corresponding data includes 1680. If the sequence number of the first data block is 1, the data block corresponding to the slice is the sequence number 56520+50 to the serial number 58200+50. Data block between.
- the P2P server described in the embodiment of the present invention may be each terminal when performing streaming media file transmission and playback.
- the terminal where the user A is located can serve as a P2P server, and provides the downloaded data, which is downloaded by other P2P clients. That is, the terminal where the user is located can serve as both a P2P client and a P2P server.
- the serial number can be stored in an 8-byte space at a predetermined position in the data block. After the data block is cut and generated, the data block can be stored in a position in any P2P server, and the data block can be obtained from different P2P servers, and the combination of the serial numbers can be used to reassemble the generated fragments, thereby greatly improving the number of blocks.
- the convenience of management of streaming media files can be distributed to multiple P2P servers for sharing and downloading, which is beneficial to improving the convenience of downloading streaming media files and improving download speed.
- Embodiment 2 is a diagrammatic representation of Embodiment 1:
- FIG. 2 is a flowchart showing an implementation process of a method for storing a streaming media file according to a second embodiment of the present invention, which is described in detail as follows:
- step S201 the streaming media file to be stored is obtained, and the streaming media file is segmented according to a preset duration, and multiple fragments corresponding to the streaming media file are obtained, and an offset including the fragment is obtained. And an index file pointing to the pointer of the shard.
- step S202 the index file is merged with the slice segmented by the streaming media file to generate a merged file.
- the steps S201-S202 are substantially the same as the steps S101-S102 in the first embodiment, and are not described herein again.
- step S203 the merged file is sequentially cut according to a preset size to obtain a plurality of data blocks, where the data block includes a serial number corresponding to the data block, and each of the plurality of P2P servers All the data blocks after cutting are stored in the terminal, or some of the data blocks after cutting.
- the data stored in the P2P server is specifically limited in the embodiment of the present invention, including the following storage manners:
- all the data blocks cut by the streaming media file are stored in a plurality of P2P servers, and when the P2P client downloads and plays the streaming media file, the data block of any serial number can be downloaded from any P2P server.
- the advantage of this method is that when any one of the P2P servers fails, the impact on the P2P client is relatively small, but the P2P server requires a large space for data storage;
- each P2P server stores only a part of data blocks, for example, in the server 1, the data block numbers are 1-3, 10-12, and the server 2 stores 4-6. 13-15... Store 7-9, 16-18... in server 3.
- the server 1 stores only a part of data blocks, for example, in the server 1, the data block numbers are 1-3, 10-12, and the server 2 stores 4-6. 13-15... Store 7-9, 16-18... in server 3.
- P2P clients can be quickly accessed from different P2P servers. Download the data block to improve the smoothness of playback.
- the third method is a collection of the first mode and the second mode, that is, storing all the data blocks cut by the streaming media file in a part of the P2P server, and storing a part of the data blocks in another part of the P2P server, It can improve the download speed of P2P terminals, and can also reduce the impact on P2P clients when some P2P servers fail.
- the embodiment of the present invention specifically describes the storage of data, and according to specific needs, different data block storage modes may be selected, which may be beneficial to improve data download speed or save storage space.
- Embodiment 3 is a diagrammatic representation of Embodiment 3
- FIG. 3 is a flowchart showing an implementation process of a method for storing a streaming media file according to a third embodiment of the present invention, which is described in detail as follows:
- step S301 the streaming media file to be stored is obtained, and the streaming media file is segmented according to a preset duration, and multiple fragments corresponding to the streaming media file are obtained, and an offset including the fragment is obtained. And an index file pointing to the pointer of the shard.
- step S302 the index file is merged with the slice segmented by the streaming media file to generate a merged file.
- step S303 the merged file is sequentially cut according to a preset size to obtain a plurality of data blocks, where the data block includes a serial number corresponding to the data block, and the data block is sent to multiple P2P servers.
- the storage is performed, each data block is verified, the verification information corresponding to each data block is generated, and the verification information is added to the data block.
- CRC Cyclic Redundancy Check
- Chinese full name is the cyclic redundancy check
- the embodiment of the present invention is different in that the embodiment of the present invention further includes generating check information for each data block, for example, performing CRC check on each data block, and setting CRC check information.
- a data block for example, a space of 4 bytes can be allocated for storing CRC check information.
- the CRC check may be performed on the downloaded data block, that is, the other data in the data block from which the check information storage area is removed is verified, and the result value of the CRC check is obtained, and the school is
- the result value of the test is compared with the check information stored in the data block. If the check result value matches the stored check information, it means that the data block is not damaged. If it does not match, the data block is damaged, possibly A malfunction of the screen or other image or sound occurs during playback.
- the data block can be re-downloaded automatically.
- the integrity of the data block is verified, and the damaged data block is found in time, so that the damaged data can be updated or re-downloaded, thereby further improving the playback quality of the streaming media file.
- Embodiment 4 is a diagrammatic representation of Embodiment 4:
- FIG. 4 is a flowchart showing an implementation process of a streaming media file downloading and playing method according to a fourth embodiment of the present invention, which is described in detail as follows:
- step S401 the data block is downloaded from one or more P2P servers according to the data block number.
- the method for downloading and playing the streaming media file in the embodiment of the present invention corresponds to the method for storing the streaming media file according to the first to third embodiments, that is, the streaming media file playing method in the embodiment of the present invention is used.
- the files played are the streaming media files stored in Embodiments 1 to 3.
- the data block number is stored in the data block, and the data block is downloaded from one or more P2P servers according to the size of the serial number in the data block.
- a task of downloading a sequence number range of different P2P servers can be set, thereby realizing simultaneous downloading of required data blocks in a plurality of P2P servers, and the downloaded data blocks are not repeated.
- the downloaded data blocks need to be combined into slices, so the downloaded data blocks can be preferentially stored in the memory and quickly combined through the memory.
- the index file can be downloaded before the data block is downloaded.
- the index file may be obtained according to the serial number in the downloaded data and the size of the index file.
- step S402 the downloaded index file is parsed, and the size of each slice and the slice play order are calculated according to the offset in the index file.
- the index file in the downloaded data block is parsed. Since the index sequence of the slice is included in the index file, the play sequence of the slice can be obtained by the pointer sequence.
- the offset of each slice is included in the index file, and the size of the slice can be calculated according to the offset. The calculation of the slice size according to the offset has been specifically described in the first embodiment, and will not be repeated here.
- step S403 according to the size of the slice to be played, the data block corresponding to the slice is acquired, and the slice formed by the data block is sent to the player for playing.
- the sequence number range of the data block corresponding to each slice can be obtained.
- the fragment to be played can be obtained, and the corresponding data block number is searched according to the played fragment, and the request for acquiring the corresponding data block is sent to the P2P server, according to the data block returned by the P2P server.
- the piece to be played can be obtained, and the piece can be sent to the player to play the streaming file.
- the size of the downloaded task of the different P2P servers may be set, including:
- the data block download task of the corresponding size is allocated to each P2P server.
- the connection speed of the P2P server can be tested before downloading, the number of download tasks of the server with high transmission speed is set, and the number of servers with low transmission speed is set less. By downloading the amount of tasks, the download speed can be further improved, and the network resources of the P2P client can be fully utilized.
- the embodiment of the present invention corresponds to the method for storing a streaming media file according to the first embodiment.
- the P2P playback of the HLS based on the HTTP protocol can be realized, that is, the playback speed can be improved, and the data management is facilitated.
- fast switching of different code rates can be achieved.
- Embodiment 5 is a diagrammatic representation of Embodiment 5:
- FIG. 5 is a flowchart of implementing a method for downloading and playing a streaming media file according to an embodiment of the present invention, which is as follows:
- step S501 the data block is downloaded from one or more P2P servers according to the data block number.
- step S502 the downloaded index file is parsed, and the size of each slice and the slice play order are calculated according to the offset in the index file.
- the steps S501-S502 are substantially the same as the steps S401-S402 described in the fourth embodiment, and are not repeatedly described herein.
- step S503 the data block corresponding to the slice is acquired according to the size of the slice to be played, and the downloaded data block is verified according to the check information included in the data block.
- the present invention further includes verifying the downloaded data block, that is, verifying the data in the data block, obtaining a verification result, and comparing with the verification information stored in the data block.
- step S504 when the data block cannot pass the verification, the data block is re-downloaded to the P2P server.
- the data block may be damaged during transmission. If the damaged data block is played, the screen may be unclear or the sound may be unclear.
- the file is re-downloaded to the server according to the serial number of the data block until the downloaded file satisfies the requirement.
- the data block may be re-downloaded according to other servers other than the server that is currently downloaded and the damaged data block is present.
- step S505 when the data block passes the verification, the slice formed by the data block is sent to the player for playback.
- the embodiment of the invention can further improve the quality of video playback by verifying the data block.
- a sixth embodiment of the present invention provides a streaming media file playing system, where the system includes:
- the P2P server is configured to store the cut data block, where the data block includes a sequence number corresponding to the data block, where the file to be cut is a segment after the segmentation of the streaming media file and an index corresponding to the segment a file after the file is merged, the index file includes an offset of the slice and a pointer to the slice;
- the P2P client is configured to obtain a data block from one or more P2P servers, obtain an index file according to the sequence number of the data block, parse the index file, and obtain a size of a fragment of the streaming media file to be played, and The data block to be read is sent, and the read data block is fragmented and sent to the player for playback.
- the manner of the streaming media file stored in the P2P server in the embodiment of the present invention may be any one of the first to third embodiments.
- the P2P client may select any one of the fourth to fifth embodiments. I will not repeat them here.
- FIG. 6 is a schematic structural diagram of a storage device for streaming media files according to a seventh embodiment of the present invention, which is described in detail as follows:
- the streaming media file dividing unit 601 is configured to obtain a streaming media file to be stored, and divide the streaming media file according to a preset duration to obtain a plurality of fragments corresponding to the streaming media file, and include the fragment.
- a file merging unit 602 configured to merge the index file with the segmented segment of the streaming media file to generate a merged file
- the cutting storage unit 603 is configured to sequentially cut the merged file according to a preset size to obtain a plurality of data blocks, where the data block includes a serial number corresponding to the data block, and send the data block to multiple The P2P server is stored.
- the cutting storage unit is further configured to:
- Each data block is verified, verification information corresponding to each data block is generated, and the verification information is added to the data block.
- the device further comprises:
- a coding unit configured to encode the video, and encode the collected video data into a video of H.264 format, and encode the collected audio data into audio of ACC format;
- a packaging unit for encapsulating the encoded video and audio into a streaming media file in an MPEG format.
- the cutting storage unit is further specifically configured to:
- All of the cut data blocks, or the cut partial data blocks, are stored in each of the plurality of P2P servers.
- the storage device of the streaming media file in the embodiment of the present invention corresponds to the storage method of the streaming media file in the first embodiment to the third embodiment, and details are not described herein.
- the serial number can be stored in an 8-byte space at a predetermined position in the data block. After the data block is cut and generated, the data block can be stored in a position in any P2P server, and the data block can be obtained from different P2P servers, and the combination of the serial numbers can be used to reassemble the generated fragments, thereby greatly improving the number of blocks.
- the convenience of management of streaming media files can be distributed to multiple P2P servers for sharing and downloading, which is beneficial to improving the convenience of downloading streaming media files and improving download speed.
- FIG. 7 is a schematic structural diagram of a streaming media file download and playback apparatus according to an eighth embodiment of the present invention, which is described in detail as follows:
- a data block downloading module 701, configured to download a data block from one or more P2P servers according to the data block number;
- the index file parsing module 702 is configured to parse the downloaded index file, and calculate the size of each slice and the slice play order according to the offset in the index file;
- the data block acquisition and transmission module 703 is configured to acquire a data block corresponding to the fragment according to the size of the fragment to be played, and send the fragment formed by the data block to the player for playing.
- the device further comprises:
- the verification module checks the downloaded data block according to the verification information included in the data block, and when the data block fails to pass the verification, the data block is re-downloaded to the P2P server.
- the device further comprises:
- a communication speed information obtaining module configured to acquire communication speed information between the P2P client and the plurality of P2P servers
- the task assignment module is configured to allocate a data block download task of a corresponding size to each P2P server according to the communication speed information between the P2P client and the plurality of P2P servers.
- the device for playing a streaming media file according to the embodiment of the present invention corresponds to the method for playing the streaming media file according to the fourth to fifth embodiments, and details are not described herein.
- the merged files generated by combining the fragments and the index files are cut to obtain data blocks, and each data block includes a corresponding serial number, so that the P2P client can
- the P2P server downloads the data blocks and combines them to obtain the fragmentation, so that the P2P playback of the HLS based on the HTTP protocol can be realized, the playback speed can be improved, the data management can be facilitated, and the fast switching of different code rates can be realized.
- the disclosed apparatus and method may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or 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 an 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 technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read only memory (ROM, Read-Only) Memory, random access memory (RAM), disk or optical disk, and other media that can store program code.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention concerne un procédé pour stocker un fichier de contenu multimédia de diffusion en continu, qui consiste : à acquérir un fichier de contenu multimédia de diffusion en continu à stocker, et à segmenter le fichier de contenu multimédia de diffusion en continu selon une durée préréglée pour obtenir une pluralité de segments correspondant au contenu multimédia de diffusion en continu et à un fichier d'index comprenant des décalages des segments et des pointeurs visant les segments (S101) ; à combiner le fichier d'index avec les segments du fichier de contenu multimédia de diffusion en continu pour générer un fichier combiné (S102) ; à couper séquentiellement le fichier combiné selon une taille préréglée pour obtenir une pluralité de blocs de données, les blocs de données comprenant leurs numéros de série respectifs, et à transmettre les blocs de données à une pluralité de serveurs entre homologues (P2P) pour un stockage (S103). Au moyen de la solution, des blocs de données sont téléchargés à partir d'une pluralité de serveurs, de telle sorte que la vitesse de téléchargement est améliorée. En outre, la gestion devient plus commode, et moins de ressources sont occupées.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2015/088766 WO2017035787A1 (fr) | 2015-09-01 | 2015-09-01 | Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2015/088766 WO2017035787A1 (fr) | 2015-09-01 | 2015-09-01 | Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017035787A1 true WO2017035787A1 (fr) | 2017-03-09 |
Family
ID=58186527
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2015/088766 Ceased WO2017035787A1 (fr) | 2015-09-01 | 2015-09-01 | Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2017035787A1 (fr) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111405313A (zh) * | 2019-06-28 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 存储流媒体数据的方法和系统 |
| CN112287127A (zh) * | 2019-07-23 | 2021-01-29 | 上海哔哩哔哩科技有限公司 | 多媒体文件存储、读取方法 |
| CN112584155A (zh) * | 2020-12-11 | 2021-03-30 | 南京中兴力维软件有限公司 | 一种视频数据处理方法和装置 |
| CN113365084A (zh) * | 2021-05-12 | 2021-09-07 | 烽火通信科技股份有限公司 | 一种利用时间轮控制发送速度的方法及装置 |
| CN113992660A (zh) * | 2021-10-29 | 2022-01-28 | 维沃移动通信有限公司 | 文件传输方法、装置、电子设备及存储介质 |
| CN114679438A (zh) * | 2022-03-03 | 2022-06-28 | 上海艾策通讯科技股份有限公司 | 流媒体数据传输方法、装置、计算机设备和存储介质 |
| CN115941119A (zh) * | 2022-12-20 | 2023-04-07 | 中国有色金属长沙勘察设计研究院有限公司 | 一种信息传输方法、装置及介质 |
| CN117336311A (zh) * | 2023-11-30 | 2024-01-02 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
| CN119299449A (zh) * | 2024-12-09 | 2025-01-10 | 杭州优云科技股份有限公司 | 一种文件下载方法、装置、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101141627A (zh) * | 2007-10-23 | 2008-03-12 | 深圳市迅雷网络技术有限公司 | 一种流媒体文件的存储系统及方法 |
| CN101917388A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种流媒体数据存储方法及装置 |
| US20100332621A1 (en) * | 2008-02-22 | 2010-12-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Apparatus for Obtaining Media Over a Communications Network |
| CN101997890A (zh) * | 2009-08-28 | 2011-03-30 | 中国移动通信集团公司 | 一种p2p流媒体下载方法、系统及装置 |
| CN102255695A (zh) * | 2011-07-22 | 2011-11-23 | 乐视网信息技术(北京)股份有限公司 | 一种应用于p2p网络分发系统的数据校验方法与系统 |
-
2015
- 2015-09-01 WO PCT/CN2015/088766 patent/WO2017035787A1/fr not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101141627A (zh) * | 2007-10-23 | 2008-03-12 | 深圳市迅雷网络技术有限公司 | 一种流媒体文件的存储系统及方法 |
| US20100332621A1 (en) * | 2008-02-22 | 2010-12-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Apparatus for Obtaining Media Over a Communications Network |
| CN101997890A (zh) * | 2009-08-28 | 2011-03-30 | 中国移动通信集团公司 | 一种p2p流媒体下载方法、系统及装置 |
| CN101917388A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种流媒体数据存储方法及装置 |
| CN102255695A (zh) * | 2011-07-22 | 2011-11-23 | 乐视网信息技术(北京)股份有限公司 | 一种应用于p2p网络分发系统的数据校验方法与系统 |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111405313A (zh) * | 2019-06-28 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 存储流媒体数据的方法和系统 |
| CN111405313B (zh) * | 2019-06-28 | 2023-11-14 | 杭州海康威视系统技术有限公司 | 存储流媒体数据的方法和系统 |
| CN112287127B (zh) * | 2019-07-23 | 2022-10-14 | 上海哔哩哔哩科技有限公司 | 多媒体文件存储、读取方法 |
| CN112287127A (zh) * | 2019-07-23 | 2021-01-29 | 上海哔哩哔哩科技有限公司 | 多媒体文件存储、读取方法 |
| CN112584155A (zh) * | 2020-12-11 | 2021-03-30 | 南京中兴力维软件有限公司 | 一种视频数据处理方法和装置 |
| CN112584155B (zh) * | 2020-12-11 | 2022-11-04 | 南京中兴力维软件有限公司 | 一种视频数据处理方法和装置 |
| CN113365084A (zh) * | 2021-05-12 | 2021-09-07 | 烽火通信科技股份有限公司 | 一种利用时间轮控制发送速度的方法及装置 |
| CN113992660A (zh) * | 2021-10-29 | 2022-01-28 | 维沃移动通信有限公司 | 文件传输方法、装置、电子设备及存储介质 |
| CN114679438A (zh) * | 2022-03-03 | 2022-06-28 | 上海艾策通讯科技股份有限公司 | 流媒体数据传输方法、装置、计算机设备和存储介质 |
| CN114679438B (zh) * | 2022-03-03 | 2024-04-30 | 上海艾策通讯科技股份有限公司 | 流媒体数据传输方法、装置、计算机设备和存储介质 |
| CN115941119A (zh) * | 2022-12-20 | 2023-04-07 | 中国有色金属长沙勘察设计研究院有限公司 | 一种信息传输方法、装置及介质 |
| CN117336311A (zh) * | 2023-11-30 | 2024-01-02 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
| CN117336311B (zh) * | 2023-11-30 | 2024-03-12 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
| CN119299449A (zh) * | 2024-12-09 | 2025-01-10 | 杭州优云科技股份有限公司 | 一种文件下载方法、装置、设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2017035787A1 (fr) | Procédé, dispositif et système pour stocker un fichier de contenu multimédia de diffusion en continu | |
| WO2017035786A1 (fr) | Procédé, dispositif et système de lecture et de vérification d'un fichier multimédia de diffusion en continu | |
| WO2011059272A2 (fr) | Procédé et appareil permettant d'offrir un service trick play | |
| WO2012177041A2 (fr) | Procédé de transmission et de réception de contenu multimédia et appareil de transmission et de réception utilisant ce procédé | |
| WO2011108893A2 (fr) | Procédé et appareil de production et de reproduction d'un flux adaptatif sur la base d'un format de fichier, et son support d'enregistrement | |
| WO2011059273A2 (fr) | Procédé et appareil de diffusion adaptative en flux qui utilise la segmentation | |
| WO2013162312A1 (fr) | Procédé et appareil permettant l'émission-réception de données destinées à un système de transmission multimédia | |
| WO2013169084A1 (fr) | Procédé de transmission hybride par extension de format de paquets mmt | |
| WO2012060581A2 (fr) | Procédé d'émission/réception de contenu multimédia et dispositif d'émission/réception l'utilisant | |
| WO2011152675A2 (fr) | Procédé et appareil de transmission en continu adaptative sur la base de plusieurs éléments pour déterminer une qualité de contenu | |
| WO2015002406A1 (fr) | Procédé et appareil d'authentification de données | |
| WO2012011724A2 (fr) | Procédé de transmission/réception de fichiers multimédia et dispositif de transmission/réception correspondant | |
| WO2011059274A2 (fr) | Procédé et appareil de diffusion adaptative en flux | |
| WO2017035783A1 (fr) | Procédé de transmission et de lecture multimédias à diffusion en continu, et dispositif de transmission et de lecture | |
| WO2015034245A1 (fr) | Appareil d'émission, appareil de réception, et procédé de traitement de signal de ceux-ci | |
| WO2012011735A2 (fr) | Procédé et appareil permettant de transmettre et de recevoir un contenu basé sur un mécanisme de diffusion en flux adaptatif | |
| WO2013077698A1 (fr) | Procédé de liaison de média mmt et de média dash | |
| WO2012047028A2 (fr) | Appareil et procédé de fourniture de contenu multimédia en temps réel | |
| WO2012077982A2 (fr) | Emetteur et récepteur destinés à émettre et recevoir un contenu multimédia, et procédé de reproduction associé | |
| WO2013112027A1 (fr) | Procédé d'estimation de gigue de réseau dans un appareil de transmission de données multimédia codées | |
| WO2016195354A1 (fr) | Appareil de transmission, appareil de réception, et procédé de commande correspondant | |
| WO2015012605A1 (fr) | Procédé et appareil de codage de contenu tridimensionnel | |
| EP3017571A1 (fr) | Appareil d'émission, appareil de réception et procédé de traitement de signal associé | |
| WO2016111607A1 (fr) | Appareil émetteur et procédé de traitement de signal correspondant | |
| WO2016175564A1 (fr) | Procédé et dispositif de reconnaissance de contenu audio |
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: 15902594 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: 15902594 Country of ref document: EP Kind code of ref document: A1 |