WO2019112360A1 - Method and system for delayed live broadcast - Google Patents

Method and system for delayed live broadcast Download PDF

Info

Publication number
WO2019112360A1
WO2019112360A1 PCT/KR2018/015481 KR2018015481W WO2019112360A1 WO 2019112360 A1 WO2019112360 A1 WO 2019112360A1 KR 2018015481 W KR2018015481 W KR 2018015481W WO 2019112360 A1 WO2019112360 A1 WO 2019112360A1
Authority
WO
WIPO (PCT)
Prior art keywords
live
file information
file
delayed
broadcast
Prior art date
Application number
PCT/KR2018/015481
Other languages
French (fr)
Korean (ko)
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 네이버 주식회사
Publication of WO2019112360A1 publication Critical patent/WO2019112360A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/2625Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Definitions

  • the following description relates to a method and system for delayed live streaming, and more particularly, to a delayed live streaming method and a delayed live streaming system capable of providing a delayed live streaming service so that a live broadcast transmitted by a sender can be viewed from a delayed time, And a computer program stored in a computer-readable recording medium for causing the computer to execute the delayed live-streaming method and a recording medium thereof.
  • Korean Patent Laid-Open Publication No. 10-2014-0115661 discloses a method, a server, and a system for providing a bi-directional live streaming service to a plurality of user terminals.
  • live broadcast services for relaying various viewers who wish to view live broadcasts of various senders and senders who desire to broadcast, such as a personal broadcast live broadcast service, in which anyone can broadcast a video.
  • VOD contents are generated and served by using the streaming data of the broadcasting after providing the broadcasting in real time.
  • viewers who watch broadcasts from the middle after the start of broadcasting can not watch broadcasts from the middle of the broadcasts, and can watch broadcasts from the beginning through VOD contents only after the broadcast is completed.
  • a delayed live-broadcast system and a delayed live-broadcast system capable of live-broadcasting a live broadcast at a delayed time after the start time, and a computer program stored in a computer-readable recording medium for causing the computer to execute the live- Lt; / RTI >
  • the delay live live start time is preset to a time after the live live start time;
  • the transmission segment file is generated by encoding the streaming data transmitted from the sender's terminal based on the live broadcast start time and the file information for indicating the generated transmission segment file is generated in accordance with the generation sequence of the transmission segment file Accumulating in the first reproduction file information; Extracting file information accumulated in the first playback file information based on the delayed live-broadcast start time according to the order in which the transport segment file is generated, and adding the extracted file information to the second playback file information; And providing a delayed live broadcast service for the sender's broadcast using the second play file information.
  • a computer program stored on a computer readable recording medium coupled to a computer to cause the computer to execute the delayed live-streaming method.
  • a computer readable recording medium having recorded thereon a program for causing a computer to execute the delayed live-streaming method.
  • a delayed live-broadcast system comprising: at least one processor configured to execute a computer-readable instruction, wherein the at least one processor manages a live broadcast start time and a delay live start time for a sender's broadcast; Wherein the delayed live-streaming start time is preset to a time after the live-stream start time, and for the transmitted segment file generated by encoding the streaming data transmitted from the sender's terminal based on the live- And accumulates the file information accumulated in the first reproduction file information on the basis of the delayed live broadcast start time in accordance with the sequence of generation of the transmission segment file, The files are extracted in the order they were created Added to the second reproduction information file, and the second provides a delay live system, characterized in that using the second reproduction information file operation performed by providing a delay live broadcast service for the broadcast of said transmission.
  • FIG. 1 is a diagram illustrating an example of a delayed live streaming according to an embodiment of the present invention. Referring to FIG. 1
  • FIG. 2 is a flowchart illustrating an example of a delayed live-streaming method according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of first playback file information and second playback file information according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating an example of a physical machine in accordance with one embodiment of the present invention.
  • FIG. 5 is a view showing an example of the overall configuration of an open type live broadcast platform according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example of a configuration of a live streaming farm according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an example of load balancing of the L4 switch according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an example of the configuration of an encoder server pool according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an example of the configuration of a VOD farm according to an embodiment of the present invention.
  • FIGS. 10 to 12 are views showing an example of a method of operating an open type live broadcasting platform according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating an example of a delayed live streaming according to an embodiment of the present invention.
  • the first arrow 110 indicates the live broadcast start time 'AM 10:00' for the sender's broadcast
  • the second arrow 120 indicates the live broadcast end time 'AM 11:00' for the sender's broadcast have.
  • the sender's terminal can transmit streaming data for broadcasting.
  • This live start time may correspond to the time at which the streaming data is transmitted from the sender's terminal.
  • the live end time may correspond to the time when the transmission of the streaming data from the sender's terminal ends.
  • streaming data transmitted from a sender terminal can be received, and the received streaming data can be encoded through an encoder to generate transmission segment files.
  • the generated transmission segment files are provided to viewers' terminals So that live broadcasting can proceed.
  • the third arrow 130 in FIG. 1 indicates the delayed live broadcast start time 'AM 10:30' for the sender's broadcast
  • the fourth arrow 140 indicates the delayed live broadcast end time 'AM 11:30 Respectively.
  • the delayed live-streaming start time may be set to a time after the live-streaming start time, preferably, between the live-stream start time and the live ending time.
  • the delayed live-streaming start time may be set to a relative time as 30 minutes after the live-stream start time.
  • the delayed live-streaming method according to this embodiment can be performed by the delayed live-streaming system according to this embodiment.
  • the delayed live-streaming system may be implemented in at least one physical machine and may be implemented by at least one processor included in at least one physical machine, such that the delayed live- Operations can be performed.
  • the delayed live streaming system can manage the live streaming start time and the delayed live streaming start time for the sender's broadcast.
  • the live start time and the delayed live start time have been described in detail with reference to FIG.
  • the delayed live streaming system may further manage the live streaming end time for the sender's broadcast in step 201 for the case where the delayed live streaming start time is preset as the time between the live streaming start time and the live ending time.
  • the delayed live streaming system can confirm the start of live streaming.
  • the live start time may correspond to the time at which the streaming data is transmitted from the sender's terminal, so that the start of the live streaming may be confirmed through the live streaming start time, but the streaming data May be confirmed by whether or not the data is transmitted.
  • Step 203 may be performed if the live feed is started, and the live live feed system may wait until the live feed is started if live feed is not started.
  • the delayed live streaming system may generate stream segment data by encoding the streaming data transmitted from the sender's terminal based on the live streaming start time.
  • the encoding of the streaming data may be performed by an encoder.
  • an encoder For example, when streaming data is encoded using an HLS (HTTP Live Streaming) algorithm, files for TS (Transport Stream) format may be generated as a transmission segment file.
  • HLS HTTP Live Streaming
  • TS Transport Stream
  • the delayed live-streaming system may receive the generated transmit segment files encoded over a separate encoder and step 203 may be omitted.
  • the delayed live streaming system may update the live file information for live streaming to include file information for indicating the most recently generated N or less transmission segment files. For example, suppose N is 3. At this time, if the first transmission segment file is generated, the delayed live streaming system can generate live playback file information and add the first file information of the first transmission segment file to the live playback file information. Thereafter, when the second transmission segment file is generated, the delayed live streaming system can add the second file information of the second transmission segment file to the live playback file information. Thereafter, when the third transmission segment file is generated, the delayed live streaming system can add the third file information of the third transmission segment file to the live playback file information.
  • the delayed live streaming system must include at least three pieces of file information that are most recently generated in the live playback file information. Therefore, The fourth file information can be added to the live file reproduction file information. If the fifth transmission segment file is generated, it can be easily understood that the delayed live streaming system can add the fifth file information of the fifth transmission segment file to the live playback file information except for the second file information.
  • the delayed live streaming system can provide a live streaming service for the sender's broadcast using the live streaming file information.
  • the file information described above may include address information for accessing the corresponding transmission segment file through the network.
  • live playback file information may be implemented as a file with the extension m3u8.
  • the live playback file information may include address information for the most recent N or fewer transmission segment files.
  • the live streaming playback file information can be provided to the viewer's terminal, and the player installed and driven in the terminal of the viewer can receive the most recent N or less transmission segments through the address information of the file information included in the live playback file information, The user of the viewer can be controlled to download the files. At this time, the player can play the broadcast of the sender in real time by reproducing the transmission segment files to be downloaded.
  • the playback file information for live broadcast can be updated.
  • the player driven on the viewer's terminal receives the playback file information continuously updated and compares the playback file information with the previously received playback file information , It is possible to identify transmission segment files to be further downloaded.
  • steps 204 and 205 are operations for the live service, which may be omitted in the delay live method according to an embodiment.
  • the delayed live streaming system may accumulate the file information for indicating the generated transmission segment file in the accumulation playback file information according to the order in which the transmission segment file is generated. Due to the nature of live streaming, general live streaming services do not store file information of transmission segment files for broadcast portions already provided to viewers. For example, even though the transmission segment files are stored somewhere for a live service, the order of these transmission segment files and separate reproduction file information for providing address information are not generated. In this embodiment, the file information of the transmission segment files for the broadcast of the sender may be accumulated and stored in the accumulation playback file information in order to provide the delayed live streaming service and / or the time machine service for the live stream which will be described later.
  • the delayed live streaming system can confirm whether or not delay live streaming is started. For example, the delayed live streaming system can confirm whether or not the delayed live streaming start time has come. When the delayed live-streaming start time comes, the delayed live-streaming system can perform step 208. [ On the other hand, if the delayed live-streaming has not been started yet because the live-streaming may still be in progress even though the delayed live-streaming start time has not been reached, the delayed live-streaming system can perform step 203 again.
  • the delayed live streaming system may extract the file information accumulated in the accumulation playback file information according to the order in which the transmission segment file is generated, and add the extracted file information to the delayed live streaming playback file information.
  • the delayed live streaming system can periodically extract the file information in the accumulative playback file information in the accumulated order and add it to the delayed live streaming playback file information.
  • the delayed live streaming system can provide a delayed live streaming service for the sender's broadcast using the delayed live streaming playback file information.
  • the delayed live streaming system can transmit delayed live streaming playback file information to a terminal of a viewer requesting a delayed live streaming service.
  • the player installed and driven in the terminal of the viewer can sequentially download the transmission segment files for delaying the broadcasting of the sender from the beginning through the file information included in the delayed live streaming reproduction file information. Since the file information of the transmission segment file is periodically added to the delayed live streaming playback file information, the player also periodically receives the delayed live streaming file information from the delayed live streaming system and compares it with the previously received delayed live streaming playback file information, It becomes possible to identify a transmission segment file to be added (added). Therefore, the viewer can watch the broadcast from the beginning even after a certain time has elapsed from the start time of the broadcast of the sender.
  • the delayed live streaming system can confirm whether the live streaming has ended.
  • the live end time may correspond to the end time of the transmission of the streaming data from the sender's terminal, so that the end of live streaming may be confirmed through the live stream end time, And may be confirmed through whether or not the transmission of the streaming data is ended.
  • Step 211 may be performed if the live streaming is terminated, and if the live streaming is not terminated, the delayed live streaming system may perform step 203 to continuously provide the live streaming service and the delayed live streaming service.
  • the delayed live streaming system can confirm whether or not the delayed live streaming has ended. Since the delayed live streaming can be continued even if the live streaming ends in step 210, the delayed live streaming system can confirm whether or not the delay live streaming is finished based on the delayed live stream end time. If the delayed live-streaming has not yet ended, the delayed live-streaming system can continue to provide delayed live-streaming services by performing step 208. [ If the delayed live-streaming is terminated, the delayed live-streaming method may be terminated.
  • FIG. 3 is a view showing an example of the accumulation playback file information and the delayed live-stream reproduction file information according to an embodiment of the present invention.
  • FIG. 3 shows an example of a process in which file information managed through the accumulative playback file information 310 and the delayed live-streaming playback file information 320 changes with the passage of time.
  • the file information "AAAstore_10_00_0.ts” may refer to the first ('0') transmission segment file generated at the time '00' stored at 'AAAstore' at '00'.
  • the file information "AAAstore_10_00_0.ts" itself may be the file name of the corresponding transmission segment file.
  • the address information of the corresponding transmission segment file can be obtained, for example, by adding "/AAAstore_10_00_0.ts" to the end of the predetermined address.
  • the delayed live streaming system can extract the file information of the first transmission segment file displayed through the first dotted line box 331 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320.
  • the second dotted line box 332 shows the file information of the first transmission segment file added to the delayed live streaming playback file information 320.
  • the third dotted line box 341 shows a state in which the file information of the transmission segment file generated at 10:33 is accumulated in the accumulation playback file information 310 .
  • the delayed live streaming system can extract the file information of the second transmission segment file displayed through the fourth dotted line box 342 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320 have.
  • the fifth dotted line box 343 shows the file information of the second transmission segment file added to the delayed live streaming playback file information 320.
  • the sixth dotted line box 351 shows the accumulation of the file information of the transmission segment file generated at 10:36 in the accumulation playback file information 310.
  • the delayed live streaming system can extract the file information of the third transmission segment file displayed through the seventh dotted line box 352 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320 have.
  • An eighth dotted line box 353 shows a state in which file information of the third transmission segment file is added to the delayed live streaming playback file information 320.
  • the unit time may correspond to the playback time of one transmission segment file.
  • the delay live live playback file information 320 is most recently May be updated so as to keep the added M (M is a natural number) file information or less. For example, when M is 3, the file information of the transmission segment file generated at 10:39 is added to the delayed live-streaming playback file information 320, and the file information of the first transmission segment file (the second dotted line box 332) may be removed from the delayed live-stream reproduction file information 320.
  • the delayed live-playing playback file information 320 which is accumulated so as to maintain M file information or less, is advantageous in that it provides time- It is possible to reduce the capacity of the delayed live-streaming playback file information 320 and the cost required for comparison of the file information.
  • the viewer sequentially downloads and reproduces the transmission segment files for the delayed live broadcasting through the delayed live streaming file information, and provides the delayed live streaming service from the beginning in a state where the sender's broadcast is delayed for a predetermined time (30 minutes in this embodiment) You will receive.
  • FIG. 4 is a block diagram illustrating an example of a physical machine in accordance with one embodiment of the present invention.
  • the physical machine according to the present embodiment may be implemented by the computer device 400 shown in FIG. 4, and the delayed live-streaming method according to one embodiment may be performed by such a computer device 400.
  • a computer program according to an embodiment may be installed and operated in the computer device 400, and the computer device 400 may perform a delayed live-broadcasting method under the control of a computer program that is driven.
  • the computer device 400 may include a memory 410, a processor 420, a communication interface 430, and an input / output interface 440, as shown in FIG.
  • the memory 410 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive.
  • the non-decaying mass storage device such as the ROM and the disk drive may be included in the computer device 400 as a separate persistent storage device separate from the memory 410.
  • the memory 410 may store an operating system and at least one program code. These software components may be loaded into the memory 410 from a computer readable recording medium separate from the memory 410.
  • Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card.
  • the software components may be loaded into the memory 410 via the communication interface 430 rather than from a computer readable recording medium.
  • the software components may be loaded into the memory 410 of the computer device 400 based on a computer program installed by the files received via the network 460.
  • the processor 420 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and I / O operations.
  • the instructions may be provided to the processor 420 by the memory 410 or communication interface 430.
  • the processor 420 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 410.
  • the communication interface 430 may provide functionality for the computer device 400 to communicate with another device (e.g., the storage devices described above) via the network 460.
  • another device e.g., the storage devices described above
  • signals, commands, data, files, etc., from other devices may be received by the computer device 400 via the communication interface 430 of the computer device 400 via the network 460.
  • Signals, data, and the like received through the communication interface 430 may be transferred to the processor 420 or the memory 410 and the files and the like may be transferred to a storage medium Permanent storage).
  • the input / output interface 440 may be a means for interfacing with the input / output device 450.
  • the input device may include a device such as a microphone, a keyboard or a mouse, and an output device may include a device such as a display, a speaker, and the like.
  • the input / output interface 440 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen.
  • the input / output device 450 may be composed of the computer device 400 and one device.
  • the computing device 400 may include fewer or more components than the components of FIG. However, there is no need to clearly illustrate most prior art components.
  • the computer device 400 may be implemented to include at least some of the input / output devices 450 described above, or may further include other components such as a transceiver, database, and the like.
  • the delayed live broadcasting method may be performed through a combination of a plurality of computer devices.
  • a structure of an open-type live streaming platform that can be implemented as an example of a delayed live streaming system performing a delayed live streaming method will be described.
  • FIG. 5 is a view showing an example of the overall configuration of an open type live broadcast platform according to an embodiment of the present invention
  • FIG. 6 is a view showing an example of the configuration of a live streaming farm according to an embodiment of the present invention
  • 7 is a diagram illustrating an example of load balancing of an L4 switch according to an embodiment of the present invention
  • FIG. 8 is a diagram illustrating an example of a configuration of an encoder server pool according to an embodiment of the present invention.
  • 9 is a diagram illustrating an example of a configuration of a VOD farm according to an embodiment of the present invention.
  • the open live streaming platform 500 includes a live streaming farm 510, a coordinator 520, and a VOD (video on demand) farm 530 can do.
  • the live streaming farm 510 may process the streaming data transmitted from the sender 540 and relay the streaming data to the viewer 550.
  • the live streaming farm 510 includes a first L4 switch 610, a publishing point server pool 620, an encoder server pool 630, A Distributed File System 640, a Proxy Server Pool 650, and a second L4 switch 660.
  • 5 shows one sender 540 and one viewer 550.
  • the sender 540 and the viewer 550 may refer to a plurality of senders and a plurality of viewers, Quot; may mean a terminal of a sender for transmitting a broadcast and a terminal of a viewer for receiving a broadcast.
  • the first L4 switch 610 may be utilized for load balancing of a plurality of publishing point servers 710 included in the publishing point server pool 620, as shown in FIG. For example, the first L4 switch 610 may determine which of the plurality of publishing point servers 710 transmits the streaming data sent from the sender 540 to the publishing point server.
  • the publishing point server pool 620 is a pool of a plurality of publishing point servers 710, and each of the publishing point servers is connected to a sender (not shown) through the first L4 switch 610 140 and may transmit streaming data to an encoder server included in the encoder server pool 630.
  • one publishing point server can process a plurality of transmission requests.
  • one publishing point server may be implemented as one physical machine, but a plurality of publishing point servers may be implemented on one physical machine. For example, if three physical machines are each implemented to include three publishing point servers, a total of nine publishing point servers may be included in the publishing point server pool 620.
  • 3 shows an example in which the publishing point server pool 620 includes three publishing point servers, the publishing point server can be freely added to the publishing point server pool 620 or the publishing point server pool 620, .
  • the encoder server pool 630 may be a pool including a plurality of encoder servers 810 as shown in FIG. 8, the encoder server may be freely added to the encoder server pool 630 as needed or may be added to the encoder server pool 630 ).
  • each of the plurality of encoder servers 810 may be implemented as one physical machine as described above, but may be implemented to include a plurality of encoder servers on one physical machine. For example, if the three physical machines are each implemented to include four encoder servers, a total of twelve encoder servers may be included in the encoder server pool 620.
  • one physical machine may be implemented to include at least one publishing point server and at least one encoder server.
  • the publishing point server, the encoder server, and the proxy server which will be described later, may be implemented in the form of separate physical machines, or a plurality of servers may be included in one physical machine .
  • Each of the plurality of encoder servers 810 may be implemented as a pair of one encoder server and one uploader.
  • FIG. 8 shows an example in which one encoder server is implemented as a pair of encoder server 1 811 and uploader 1 812.
  • the encoder server may encode the streaming data received from the publishing point server into a predetermined profile. For example, when a live broadcast is provided to the viewer 550 using an HLS (HTTP Live Streaming) algorithm, the encoder server may encode the streaming data received from the publishing point server to generate a Transport Stream (TS) file have.
  • HLS HTTP Live Streaming
  • the uploader uploads TS files generated as a result of the encoding to the distributed file system 640 included in the live streaming farm 510 and the distributed file system 1020 included in the VOD farm 530 shown in FIG. can do.
  • the uploader stores reproduced file information (for example, information on how to play back some media and how to play back), and m3u8 files in HLS (HTTP Live Streaming) And upload it to the distributed file system 640 included in the live streaming farm 510.
  • reproduced file information for example, information on how to play back some media and how to play back
  • HLS HTTP Live Streaming
  • the playback file information according to the service type includes playback file information (for example, m3u8 file for time machine) for providing a time machine function, playback file information (for example, m3u8 file for live) and / (For example, m3u8 file for VOD).
  • playback file information for example, m3u8 file for time machine
  • playback file information for example, m3u8 file for live
  • / For example, m3u8 file for VOD
  • the reproduction file information for providing the time machine function may correspond to the accumulation reproduction file information for providing the delayed live broadcasting service.
  • the delayed live-stream playback file information can be generated and updated by extracting the file information from the accumulated playback file information after the start of the delayed live-streaming.
  • the distributed file system 640 may store and provide the encoded files (e.g., TS files) and playback file information (e. G., M3u8 files) to stream to the viewer 550.
  • encoded files e.g., TS files
  • playback file information e.g., M3u8 files
  • the proxy server pool 650 may include a plurality of proxy servers, and the proxy server selected through the second L4 switch 660 receives an external streaming request and delivers the streaming request to the distributed file system 640 can do.
  • the distributed file system 640 distributes the stored files (encoded files (e.g., TS files) and playback file information (e. G., M3u8 files)) ahead of the delivered external streaming request
  • a live broadcast service can be provided to the viewer 550.
  • the delayed live file reproduction file information may also be provided to viewers requesting a delayed live streaming service in a similar manner.
  • the coordinator 520 manages the statuses of servers included in the open-type live-broadcast platform 500, allocates an encoder server, and manages the overall status and settings of the open-live live-platform 500, .
  • the servers included in the open type live broadcast platform 500 can register themselves in the runtime coordinator 520, and the coordinator 520 can manage the registered servers.
  • the coordinator 520 may allocate an encoder server at the request of the publishing point server.
  • the coordinator 520 may be implemented using a Zookeeper system, which is a framework for providing auxiliary functions such as information sharing, lock, and events among nodes in a distributed environment.
  • the VOD palm 530 may generate and store a VOD file of a live video image and provide a VOD service. As shown in FIG. 9, a VOD generation pool 910, a distributed file system 920, A proxy server pool 930 and a third L4 switch 940. [
  • the VOD generation pool 910 can download the encoded files (for example, TS files) from the distributed file system 920 and generate a VOD file (for example, an MP4 file) when receiving the VOD file creation request have. In addition, the VOD generation pool 910 may upload the generated VOD file back to the distributed file system 920. [ The VOD generation pool 910 may include a plurality of VOD generation servers.
  • the distributed file system 920 may store and provide the encoded files for the VOD file and the VOD file generated by the VOD generation pool 910.
  • the proxy server pool 930 may include a plurality of proxy servers.
  • the third L4 switch 940 may select a proxy server among a plurality of proxy servers included in the proxy server pool 930 to deliver an external VOD file request,
  • the proxy server may forward an external VOD file request to the distributed file system 920.
  • the distributed file system 920 can externally provide the requested VOD file through the proxy server.
  • FIGS. 10 to 12 are views showing an example of a method of operating an open type live broadcasting platform according to an embodiment of the present invention.
  • FIG. 10 shows steps (1-1) to (1-6) of the entire processes (processes (1-1) to (1-10)) for live streaming.
  • the process (1-1) may be an example of a process in which the sender 540 transmits the streaming data to the first L4 switch 610.
  • step 1-2 the first L4 switch 610 selects any of the publishing point servers 1010 included in the publishing point server pool 620 and transmits the transmission request to the selected publishing point server 1010 It can be an example of a process.
  • the process (1-3) may be an example of a process in which the publishing point server 1010 requests the coordinator 520 to allocate any one of the encoder servers included in the encoder server pool 630 for streaming.
  • Processes 1-4 illustrate that the coordinator 520 selects any encoder server 1020 to be used for streaming in the encoder server pool 630 and sends information about the publishing point server 1010 along with the streaming start event to the selected encoder To the server 1020.
  • FIG. 1 illustrates that the coordinator 520 selects any encoder server 1020 to be used for streaming in the encoder server pool 630 and sends information about the publishing point server 1010 along with the streaming start event to the selected encoder To the server 1020.
  • the process 1-5 is an example of a process in which the encoder server 1020 selected by the coordinator 520 accesses the publishing point server 1010 to receive streaming data and encodes the received streaming data into a predetermined profile have.
  • the process 1-6 is a process of storing the encoded data (for example, the TS files generated according to the encoding) in a specified path (for example, the temporary storage 1030 in FIG. 10) Yes.
  • FIG. 11 shows steps (1-7) to (1-10) of the entire processes (processes (1-1) to (1-10)) for live streaming. Steps (1-6) and (1-7) may be connected through (A) shown in FIGS. 10 and 11.
  • the process 1-7 is a process in which the uploader 1110 acquires the encoded data (TS files) from the temporary storage 1030 shown in Fig. 10 and reproduces the reproduction file information corresponding to the encoded data (for example, m3u8 Files) in the file system.
  • the live playback file information for accumulation, the accumulation playback file information, and the delayed live-stream playback file information described above can be generated.
  • the uploader 1110 may pair with the encoder server 1020.
  • the uploader 1110 uploads the encoded data to the distributed file system 640 of the live streaming farm 510 and the distributed file system 920 of the VOD farm 530, respectively, And may be an example of a process of uploading the playback file information to the distributed file system 640 of the live streaming farm 510.
  • Such a process of uploading may be a process of updating / accumulating transmission segment files in the live playback file information, the accumulative playback file information, and the delayed live streaming playback file information according to each situation.
  • the process of uploading the encoded data to the distributed file system 920 of the VOD farm 530 may be connected through (C) shown in FIG. 11 and FIG.
  • the proxy server 1120 which is a selected one of the proxy servers included in the proxy server pool 650, transmits data encoded from the distributed file system 640 of the live streaming farm 510, And receiving the request.
  • the process (1-10) may be an example of the process of delivering the encoded data and the playback file information received by the proxy server 1120 to the viewer 550 and proceeding with the live streaming.
  • the viewer (550) receiving the live file reproduction file information can view the live broadcast of the sender (540), and the viewer (550) receiving the delay live live file information can watch the broadcast live .
  • FIG. 12 shows the entire processes (processes (2-1) to (2-5)) for generating a VOD file and providing a VOD service.
  • This Fig. 12 can be connected to Figs. 10 and 11 through (B) and (C).
  • the VOD generation server 1210 which is one of the VOD generation servers included in the VOD generation pool 910, may receive a VOD generation request from the coordinator 520.
  • the process (2-2) may be an example of a process in which the VOD generation server 1210 downloads encoded data to generate a VOD file from the distributed file system 920 included in the VOD farm 530.
  • the encoded data may be data stored in the distributed file system 920 by the uploader 1110 through the process (1-8) of FIG.
  • the process (2-3) may be an example of a process of generating a VOD file using the downloaded data by the VOD creation server 1210 and uploading it to the distributed file system 920.
  • the proxy server 1220 which is one of the proxy servers included in the proxy server pool 930, downloads the VOD file from the distributed file system 920 at the request of the VOD requester 1230 .
  • the process (2-5) may be an example of a process in which the proxy server 1220 provides the VOD file downloaded to the VOD requester 1230.
  • a VOD file for live streaming broadcasting can be generated and provided through the processes (2-1) to (2-5).
  • 5 to 12 is merely an example for implementing the delayed live streaming system according to an embodiment of the present invention, and the implementation of the delayed live streaming system is not limited to that of the open live streaming platform 500 The present invention is not limited thereto.
  • a delayed live broadcasting system and a delayed live streaming system capable of live broadcasting at a delayed time after a start time of a live broadcast, and a computer readable recording medium for causing the computer to execute the delayed live streaming method
  • a computer program stored in a recording medium and a recording medium thereof can be provided.
  • the system or apparatus described above may be implemented as a hardware component, or a combination of hardware components and software components.
  • the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG.
  • the processing unit may comprise a plurality of processors or one processor and one controller.
  • Other processing configurations are also possible, such as a parallel processor.
  • the software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded.
  • the software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG.
  • the software may be distributed over a networked computer system and stored or executed in a distributed manner.
  • the software and data may be stored on one or more computer readable recording media.
  • the method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the medium may be one that continues to store computer executable programs, or temporarily store them for execution or download.
  • the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, and is not limited to a medium directly connected to a computer system, but may be dispersed on a network.
  • Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like.
  • a recording medium or a storage medium managed by a site or a server that supplies or distributes an application store or various other software to distribute the application may be mentioned.
  • Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

Abstract

A method and a system for a delayed live broadcast are provided. The delayed live broadcast method, according to embodiments of the present invention, can comprise the steps of: managing a live broadcast start time and a delayed live broadcast start time for a broadcast of a transmitter; accumulating, in first play file information according to the order in which transmission segment files are generated, file information for indicating generated transmission segment files with respect to the transmission segment files generated by encoding streaming data transmitted from a terminal of the transmitter on the basis of the live broadcast start time; extracting, according to the order in which the transmission segment files are generated, the file information accumulated in the first play file information on the basis of the delayed live broadcast start time, so as to add the extracted file information to second play file information; and providing a delayed live broadcast service for the broadcast of the transmitter by using the second play file information, wherein the delayed live broadcast start time can be preset as a time after the live broadcast start time.

Description

지연 생중계를 위한 방법 및 시스템Method and system for delayed live streaming
아래의 설명은 지연 생중계를 위한 방법 및 시스템에 관한 것으로, 보다 자세하게는 송출자가 송출한 생방송이 지정된 시간만큼 딜레이된 이후부터 시청할 수 있도록 지연 생중계 서비스를 제공할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.The following description relates to a method and system for delayed live streaming, and more particularly, to a delayed live streaming method and a delayed live streaming system capable of providing a delayed live streaming service so that a live broadcast transmitted by a sender can be viewed from a delayed time, And a computer program stored in a computer-readable recording medium for causing the computer to execute the delayed live-streaming method and a recording medium thereof.
생중계는 실황을 동시적으로 중계 방송하는 일로서, 예를 들어, 한국공개특허 제10-2014-0115661호는 복수의 사용자 단말기에 양방향 현장 생중계 서비스를 제공하는 방법, 서버 및 시스템을 개시하고 있다.For example, Korean Patent Laid-Open Publication No. 10-2014-0115661 discloses a method, a server, and a system for providing a bi-directional live streaming service to a plurality of user terminals.
또한, 누구나 방송국이 되어 영상을 송출할 수 있는 개인 방송 생중계 서비스와 같이, 방송의 송출을 원하는 다양한 송출자들과 송출자들의 생중계 방송들을 시청하고자 하는 다양한 시청자들을 중계하기 위한 생중계 서비스들이 존재한다.In addition, there are live broadcast services for relaying various viewers who wish to view live broadcasts of various senders and senders who desire to broadcast, such as a personal broadcast live broadcast service, in which anyone can broadcast a video.
그러나, 종래기술의 생중계 서비스들에서는 실시간으로 방송을 제공하거나 또는 방송이 종료된 이후 방송의 스트리밍 데이터를 이용하여 VOD 컨텐츠를 생성하여 서비스할 뿐이다. 예를 들어, 방송이 시작된 후에 중간부터 방송을 시청하는 시청자들은 그대로 방송의 중간 부분부터 시청할 수 밖에 없으며, 방송이 완료된 후에야 VOD 컨텐츠를 통해 방송을 처음부터 시청할 수 있게 된다. However, in the live streaming services of the related art, only the VOD contents are generated and served by using the streaming data of the broadcasting after providing the broadcasting in real time. For example, viewers who watch broadcasts from the middle after the start of broadcasting can not watch broadcasts from the middle of the broadcasts, and can watch broadcasts from the beginning through VOD contents only after the broadcast is completed.
라이브 방송을 시작 시점 이후의 지연된 시점에 생중계할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공한다.A delayed live-broadcast system and a delayed live-broadcast system capable of live-broadcasting a live broadcast at a delayed time after the start time, and a computer program stored in a computer-readable recording medium for causing the computer to execute the live- Lt; / RTI >
송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하는 단계 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -; 상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하는 단계; 상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하는 단계; 및 상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 단계를 포함하는 지연 생중계 방법을 제공한다.Managing a live broadcast start time and a delayed live broadcast start time for a broadcast of a sender, wherein the delay live live start time is preset to a time after the live live start time; Wherein the transmission segment file is generated by encoding the streaming data transmitted from the sender's terminal based on the live broadcast start time and the file information for indicating the generated transmission segment file is generated in accordance with the generation sequence of the transmission segment file Accumulating in the first reproduction file information; Extracting file information accumulated in the first playback file information based on the delayed live-broadcast start time according to the order in which the transport segment file is generated, and adding the extracted file information to the second playback file information; And providing a delayed live broadcast service for the sender's broadcast using the second play file information.
컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.There is provided a computer program stored on a computer readable recording medium coupled to a computer to cause the computer to execute the delayed live-streaming method.
상기 지연 생중계 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.There is provided a computer readable recording medium having recorded thereon a program for causing a computer to execute the delayed live-streaming method.
지연 생중계 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하고 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -, 상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하고, 상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하고, 상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 동작들이 수행되는 것을 특징으로 하는 지연 생중계 시스템을 제공한다.A delayed live-broadcast system, comprising: at least one processor configured to execute a computer-readable instruction, wherein the at least one processor manages a live broadcast start time and a delay live start time for a sender's broadcast; Wherein the delayed live-streaming start time is preset to a time after the live-stream start time, and for the transmitted segment file generated by encoding the streaming data transmitted from the sender's terminal based on the live- And accumulates the file information accumulated in the first reproduction file information on the basis of the delayed live broadcast start time in accordance with the sequence of generation of the transmission segment file, The files are extracted in the order they were created Added to the second reproduction information file, and the second provides a delay live system, characterized in that using the second reproduction information file operation performed by providing a delay live broadcast service for the broadcast of said transmission.
라이브 방송을 시작 시점 이후의 지연된 시점에 생중계할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공할 수 있다.A delayed live-broadcast system and a delayed live-broadcast system capable of live-broadcasting a live broadcast at a delayed time after the start time, and a computer program stored in a computer-readable recording medium for causing the computer to execute the live- Can be provided.
도 1은 본 발명의 일실시예에 따른 지연 생중계를 설명하기 위한 예를 도시한 도면이다.FIG. 1 is a diagram illustrating an example of a delayed live streaming according to an embodiment of the present invention. Referring to FIG.
도 2는 본 발명의 일실시예에 따른 지연 생중계 방법의 예를 도시한 흐름도이다.2 is a flowchart illustrating an example of a delayed live-streaming method according to an embodiment of the present invention.
도 3는 본 발명의 일실시예에 따른 제1 재생파일정보 및 제2 재생파일정보의 예를 도시한 도면이다.3 is a diagram illustrating an example of first playback file information and second playback file information according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 물리적 머신의 예를 도시한 블록도이다.4 is a block diagram illustrating an example of a physical machine in accordance with one embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 전체 구성의 예를 도시한 도면이다.5 is a view showing an example of the overall configuration of an open type live broadcast platform according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 라이브 스트리밍 팜의 구성의 예를 도시한 도면이다.6 is a diagram illustrating an example of a configuration of a live streaming farm according to an embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 L4 스위치의 로드 밸런싱 예를 도시한 도면이다.7 is a diagram illustrating an example of load balancing of the L4 switch according to an embodiment of the present invention.
도 8은 본 발명의 일실시예에 따른 인코더 서버 풀의 구성의 예를 도시한 도면이다.8 is a diagram illustrating an example of the configuration of an encoder server pool according to an embodiment of the present invention.
도 9는 본 발명의 일실시예에 따른 VOD 팜의 구성의 예를 도시한 도면이다.9 is a diagram illustrating an example of the configuration of a VOD farm according to an embodiment of the present invention.
도 10 내지 도 12는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 동작 방법의 예를 도시한 도면들이다.FIGS. 10 to 12 are views showing an example of a method of operating an open type live broadcasting platform according to an embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 지연 생중계를 설명하기 위한 예를 도시한 도면이다. 도 1에서 제1 화살표(110)는 송출자의 방송에 대한 생중계 시작 시각 'AM 10:00'을, 제2 화살표(120)는 송출자의 방송에 대한 생중계 종료 시각 'AM 11:00'를 각각 나타내고 있다. 예를 들어, 생중계 시작 시각 'AM 10:00'이 되면, 송출자의 단말은 방송을 위한 스트리밍 데이터를 송출할 수 있다. 이러한 생중계 시작 시각은 송출자의 단말로부터 스트리밍 데이터가 송출되는 시각에 대응될 수 있다. 이와 유사하게 생중계 종료 시각은 송출자의 단말로부터 스트리밍 데이터의 송출이 종료되는 시각에 대응될 수 있다.FIG. 1 is a diagram illustrating an example of a delayed live streaming according to an embodiment of the present invention. Referring to FIG. In FIG. 1, the first arrow 110 indicates the live broadcast start time 'AM 10:00' for the sender's broadcast, the second arrow 120 indicates the live broadcast end time 'AM 11:00' for the sender's broadcast have. For example, when the live broadcast start time is 'AM 10:00', the sender's terminal can transmit streaming data for broadcasting. This live start time may correspond to the time at which the streaming data is transmitted from the sender's terminal. Similarly, the live end time may correspond to the time when the transmission of the streaming data from the sender's terminal ends.
이 경우, 생중계를 위한 시스템에서는 송출자의 단말로부터 송출되는 스트리밍 데이터를 수신하고, 수신된 스트리밍 데이터를 인코더를 통해 인코딩하여 전송 세그먼트 파일들을 생성할 수 있으며, 생성된 전송 세그먼트 파일들을 시청자들의 단말로 제공함으로써 생중계가 진행될 수 있다.In this case, in the live streaming system, streaming data transmitted from a sender terminal can be received, and the received streaming data can be encoded through an encoder to generate transmission segment files. The generated transmission segment files are provided to viewers' terminals So that live broadcasting can proceed.
한편, 도 1의 제3 화살표(130)는 송출자의 방송에 대한 지연 생중계 시작 시각 'AM 10:30'을, 제4 화살표(140)는 송출자의 방송에 대한 지연 생중계 종료 시각 'AM 11:30'을 각각 나타내고 있다. 이때, 지연 생중계 시작 시각은 생중계 시작 시각 이후의 시각으로 기설정될 수 있으며, 바람직하게는 생중계 시작 시각과 생중계 종료 시각 사이의 시각으로 기설정될 수 있다. 실시예에 따라 지연 생중계 시작 시각은 생중계 시작 시각으로부터 30분 후와 같이 상대적인 시각으로 설정될 수도 있다.The third arrow 130 in FIG. 1 indicates the delayed live broadcast start time 'AM 10:30' for the sender's broadcast, the fourth arrow 140 indicates the delayed live broadcast end time 'AM 11:30 Respectively. At this time, the delayed live-streaming start time may be set to a time after the live-streaming start time, preferably, between the live-stream start time and the live ending time. According to the embodiment, the delayed live-streaming start time may be set to a relative time as 30 minutes after the live-stream start time.
이 경우, 시청자들은 생중계 도중에 방송을 중간부터 시청하는 것이 아니라, 지연 생중계를 통해 방송이 시작된 일정 시간 이후에도 방송을 처음부터 시청하는 것이 가능해진다.In this case, it is possible for the viewers to watch the broadcast from the beginning even after a certain time after the start of the broadcast through the delayed live-streaming, rather than watching the broadcast midway through the live broadcast.
도 2는 본 발명의 일실시예에 따른 지연 생중계 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 지연 생중계 방법은 본 실시예에 따른 지연 생중계 시스템에 의해 수행될 수 있다. 지연 생중계 시스템은 적어도 하나의 물리적 머신으로 구현될 수 있으며, 적어도 하나의 물리적 머신이 포함하는 적어도 하나의 프로세서에 의해 도 2의 지연 생중계 방법이 포함하는 단계들(단계 201 내지 단계 211)에 대응하는 동작들이 수행될 수 있다.2 is a flowchart illustrating an example of a delayed live-streaming method according to an embodiment of the present invention. The delayed live-streaming method according to this embodiment can be performed by the delayed live-streaming system according to this embodiment. The delayed live-streaming system may be implemented in at least one physical machine and may be implemented by at least one processor included in at least one physical machine, such that the delayed live- Operations can be performed.
단계(201)에서 지연 생중계 시스템은 송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리할 수 있다. 이러한 생중계 시작 시각과 지연 생중계 시작 시각에 대해서는 도 1을 통해 자세히 설명한 바 있다. 지연 생중계 시작 시각이 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 경우를 위해 지연 생중계 시스템은 단계(201)에서 송출자의 방송에 대한 생중계 종료 시각을 더 관리할 수도 있다.In step 201, the delayed live streaming system can manage the live streaming start time and the delayed live streaming start time for the sender's broadcast. The live start time and the delayed live start time have been described in detail with reference to FIG. The delayed live streaming system may further manage the live streaming end time for the sender's broadcast in step 201 for the case where the delayed live streaming start time is preset as the time between the live streaming start time and the live ending time.
단계(202)에서 지연 생중계 시스템은 생중계의 시작 여부를 확인할 수 있다. 앞서 설명한 바와 같이, 생중계 시작 시각은 송출자의 단말로부터 스트리밍 데이터가 송출되는 시각에 대응될 수 있으며, 따라서 생중계의 시작은 생중계 시작 시각을 통해 확인될 수도 있으나, 실질적으로 송출자로부터 방송에 대한 스트리밍 데이터가 송출되는지 여부를 통해 확인될 수도 있다. 생중계가 시작된 경우 단계(203)이 수행될 수 있으며, 생중계가 시작되지 않은 경우 지연 생중계 시스템은 생중계가 시작될 때까지 대기할 수 있다. In step 202, the delayed live streaming system can confirm the start of live streaming. As described above, the live start time may correspond to the time at which the streaming data is transmitted from the sender's terminal, so that the start of the live streaming may be confirmed through the live streaming start time, but the streaming data May be confirmed by whether or not the data is transmitted. Step 203 may be performed if the live feed is started, and the live live feed system may wait until the live feed is started if live feed is not started.
단계(203)에서 지연 생중계 시스템은 생중계 시작 시각에 기반하여 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 전송 세그먼트 파일을 생성할 수 있다. 스트리밍 데이터의 인코딩은 인코더를 통해 이루어질 수 있으며, 일례로 HLS(HTTP Live Streaming) 알고리즘을 이용하여 스트리밍 데이터를 인코딩하는 경우, TS(Transport Stream) 포맷을 위한 파일들이 전송 세그먼트 파일로서 생성될 수 있다. 실시예에 따라 지연 생중계 시스템이 인코더를 포함하지 않는 경우, 지연 생중계 시스템은 별도의 인코더를 통해 인코딩되어 생성된 전송 세그먼트 파일들을 수신할 수 있으며 단계(203)은 생략될 수 있다.In step 203, the delayed live streaming system may generate stream segment data by encoding the streaming data transmitted from the sender's terminal based on the live streaming start time. The encoding of the streaming data may be performed by an encoder. For example, when streaming data is encoded using an HLS (HTTP Live Streaming) algorithm, files for TS (Transport Stream) format may be generated as a transmission segment file. If the delayed live-motion system does not include an encoder in accordance with an embodiment, the delayed live-streaming system may receive the generated transmit segment files encoded over a separate encoder and step 203 may be omitted.
단계(204)에서 지연 생중계 시스템은 가장 최근에 생성된 N개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하도록 생중계용 재생파일정보를 갱신할 수 있다. 예를 들어, N이 3이라 가정하자. 이때, 제1 전송 세그먼트 파일이 생성되면, 지연 생중계 시스템은 생중계용 재생파일정보를 생성하여 제1 전송 세그먼트 파일의 제1 파일정보를 생중계용 재생파일정보에 추가할 수 있다. 이후 제2 전송 세그먼트 파일이 생성되면, 지연 생중계 시스템은 제2 전송 세그먼트 파일의 제2 파일정보를 생중계용 재생파일정보에 추가할 수 있다. 이후, 제3 전송 세그먼트 파일이 생성되면, 지연 생중계 시스템은 제3 전송 세그먼트 파일의 제3 파일정보를 생중계용 재생파일정보에 추가할 수 있다. 이후, 제4 전송 세그먼트 파일이 생성되면, 지연 생중계 시스템은 생중계용 재생파일정보가 가장 최근에 생성된 3개 이하의 파일정보를 포함해야 하기 때문에 제1 파일정보를 제외하고 제4 전송 세그먼트 파일의 제4 파일정보를 생중계용 재생파일정보에 추가할 수 있다. 만약, 제5 전송 세그먼트 파일이 생성되면, 지연 생중계 시스템이 제2 파일정보를 제외하고 제5 전송 세그먼트 파일의 제5 파일정보를 생중계용 재생파일정보에 추가할 수 있음을 쉽게 이해할 수 있을 것이다.In step 204, the delayed live streaming system may update the live file information for live streaming to include file information for indicating the most recently generated N or less transmission segment files. For example, suppose N is 3. At this time, if the first transmission segment file is generated, the delayed live streaming system can generate live playback file information and add the first file information of the first transmission segment file to the live playback file information. Thereafter, when the second transmission segment file is generated, the delayed live streaming system can add the second file information of the second transmission segment file to the live playback file information. Thereafter, when the third transmission segment file is generated, the delayed live streaming system can add the third file information of the third transmission segment file to the live playback file information. If the fourth transmission segment file is generated, the delayed live streaming system must include at least three pieces of file information that are most recently generated in the live playback file information. Therefore, The fourth file information can be added to the live file reproduction file information. If the fifth transmission segment file is generated, it can be easily understood that the delayed live streaming system can add the fifth file information of the fifth transmission segment file to the live playback file information except for the second file information.
단계(205)에서 지연 생중계 시스템은 생중계용 재생파일정보를 이용하여 송출자의 방송에 대한 생중계 서비스를 제공할 수 있다. 예를 들어, 앞서 설명한 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함할 수 있다. 일례로 HLS(HTTP Live Streaming) 알고리즘을 이용하여 스트리밍 데이터를 인코딩하는 경우, 생중계용 재생파일정보는 m3u8 확장자의 파일로 구현될 수 있다.In step 205, the delayed live streaming system can provide a live streaming service for the sender's broadcast using the live streaming file information. For example, the file information described above may include address information for accessing the corresponding transmission segment file through the network. For example, when streaming data is encoded using an HLS (HTTP Live Streaming) algorithm, live playback file information may be implemented as a file with the extension m3u8.
생중계용 재생파일정보는 가장 최근의 N개 이하의 전송 세그먼트 파일들에 대한 주소정보들을 포함할 수 있다. 이러한 생중계용 재생파일정보는 시청자의 단말로 제공될 수 있으며, 시청자의 단말에 설치 및 구동된 플레이어는 생중계용 재생파일정보가 포함하는 파일정보의 주소정보를 통해 가장 최근의 N개 이하의 전송 세그먼트 파일들을 다운로드 받도록 시청자의 단말을 제어할 수 있다. 이때, 플레이어는 다운로드되는 전송 세그먼트 파일들을 재생하여 송출자의 방송을 실시간으로 재생할 수 있게 된다.The live playback file information may include address information for the most recent N or fewer transmission segment files. The live streaming playback file information can be provided to the viewer's terminal, and the player installed and driven in the terminal of the viewer can receive the most recent N or less transmission segments through the address information of the file information included in the live playback file information, The user of the viewer can be controlled to download the files. At this time, the player can play the broadcast of the sender in real time by reproducing the transmission segment files to be downloaded.
이미 설명한 바와 같이 전송 세그먼트 파일들이 생성될수록 생중계용 재생파일정보도 갱신될 수 있으며, 시청자의 단말에서 구동된 플레이어는 지속적으로 갱신되는 재생파일정보를 수신하고, 이전에 수신된 재생파일정보와 비교함으로써, 추가로 더 다운로드 받아야 할 전송 세그먼트 파일들을 식별할 수 있게 된다.As described above, as the transmission segment files are generated, the playback file information for live broadcast can be updated. The player driven on the viewer's terminal receives the playback file information continuously updated and compares the playback file information with the previously received playback file information , It is possible to identify transmission segment files to be further downloaded.
이러한 단계(204) 및 단계(205)는 생중계 서비스를 위한 동작들로 실시예에 따라 지연 생중계 방법에서는 생략될 수도 있다.These steps 204 and 205 are operations for the live service, which may be omitted in the delay live method according to an embodiment.
단계(206)에서 지연 생중계 시스템은 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 전송 세그먼트 파일이 생성된 순서에 따라 누적용 재생파일정보에 누적할 수 있다. 생중계의 특성상 일반적인 생중계 서비스에서는 이미 시청자들에게 제공된 방송 부분을 위한 전송 세그먼트 파일들의 파일정보들을 저장하지 않는다. 예를 들어, 전송 세그먼트 파일들은 생중계 서비스를 위해 어딘가에 저장되어 있더라도 이러한 전송 세그먼트 파일들의 순서와 주소정보를 제공하기 위한 별도의 재생파일정보는 생성되지 않는다. 본 실시예에서는 지연 생중계 서비스 및/또는 이후 설명될 생중계에 대한 타임머신 서비스를 제공하기 위해 송출자의 방송에 대한 전송 세그먼트 파일들의 파일정보들을 누적용 재생파일정보에 누적하여 저장할 수 있다.In step 206, the delayed live streaming system may accumulate the file information for indicating the generated transmission segment file in the accumulation playback file information according to the order in which the transmission segment file is generated. Due to the nature of live streaming, general live streaming services do not store file information of transmission segment files for broadcast portions already provided to viewers. For example, even though the transmission segment files are stored somewhere for a live service, the order of these transmission segment files and separate reproduction file information for providing address information are not generated. In this embodiment, the file information of the transmission segment files for the broadcast of the sender may be accumulated and stored in the accumulation playback file information in order to provide the delayed live streaming service and / or the time machine service for the live stream which will be described later.
단계(207)에서 지연 생중계 시스템은 지연 생중계의 시작 여부를 확인할 수 있다. 일례로, 지연 생중계 시스템은 지연 생중계 시작 시각이 되었는지 여부를 확인할 수 있다. 지연 생중계 시작 시각이 되면 지연 생중계 시스템은 단계(208)을 수행할 수 있다. 반면, 지연 생중계 시작 시각이 되지 않았더라도 아직 생중계가 진행 중일 수 있기 때문에 지연 생중계가 시작되지 않은 경우 지연 생중계 시스템은 단계(203)을 다시 수행할 수 있다.In step 207, the delayed live streaming system can confirm whether or not delay live streaming is started. For example, the delayed live streaming system can confirm whether or not the delayed live streaming start time has come. When the delayed live-streaming start time comes, the delayed live-streaming system can perform step 208. [ On the other hand, if the delayed live-streaming has not been started yet because the live-streaming may still be in progress even though the delayed live-streaming start time has not been reached, the delayed live-streaming system can perform step 203 again.
단계(208)에서 지연 생중계 시스템은 누적용 재생파일정보에 누적된 파일정보를 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 지연 생중계용 재생파일정보에 추가할 수 있다. 예를 들어, 지연 생중계 시스템은 누적용 재생파일정보에 누적된 순서대로 파일정보를 주기적으로 추출하여 지연 생중계용 재생파일정보에 추가할 수 있다.In step 208, the delayed live streaming system may extract the file information accumulated in the accumulation playback file information according to the order in which the transmission segment file is generated, and add the extracted file information to the delayed live streaming playback file information. For example, the delayed live streaming system can periodically extract the file information in the accumulative playback file information in the accumulated order and add it to the delayed live streaming playback file information.
단계(209)에서 지연 생중계 시스템은 지연 생중계용 재생파일정보를 이용하여 송출자의 방송에 대한 지연 생중계 서비스를 제공할 수 있다. 예를 들어, 지연 생중계 시스템은 지연 생중계 서비스를 요청하는 시청자의 단말로 지연 생중계용 재생파일정보를 전송할 수 있다. 시청자의 단말에 설치 및 구동된 플레이어는 이러한 지연 생중계용 재생파일정보가 포함하는 파일정보를 통해 송출자의 방송을 시작부터 지연 생중계하기 위한 전송 세그먼트 파일들을 순차적으로 다운로드할 수 있게 된다. 지연 생중계용 재생파일정보에는 주기적으로 전송 세그먼트 파일의 파일정보가 추가되기 때문에 플레이어 역시 주기적으로 지연 생중계 시스템으로부터 지연 생중계용 재생파일정보를 수신하여 이전에 수신된 지연 생중계용 재생파일정보와 비교함으로써 다운로드해야 할(추가된) 전송 세그먼트 파일을 식별할 수 있게 된다. 따라서 시청자는 송출자의 방송의 시작 시점으로부터 일정 시간이 지난 후에도 처음부터 방송을 시청하는 것이 가능해진다.In step 209, the delayed live streaming system can provide a delayed live streaming service for the sender's broadcast using the delayed live streaming playback file information. For example, the delayed live streaming system can transmit delayed live streaming playback file information to a terminal of a viewer requesting a delayed live streaming service. The player installed and driven in the terminal of the viewer can sequentially download the transmission segment files for delaying the broadcasting of the sender from the beginning through the file information included in the delayed live streaming reproduction file information. Since the file information of the transmission segment file is periodically added to the delayed live streaming playback file information, the player also periodically receives the delayed live streaming file information from the delayed live streaming system and compares it with the previously received delayed live streaming playback file information, It becomes possible to identify a transmission segment file to be added (added). Therefore, the viewer can watch the broadcast from the beginning even after a certain time has elapsed from the start time of the broadcast of the sender.
단계(210)에서 지연 생중계 시스템은 생중계의 종료 여부를 확인할 수 있다. 앞서 설명한 바와 같이, 생중계 종료 시각은 송출자의 단말로부터 스트리밍 데이터의 송출이 종료되는 시각에 대응될 수 있으며, 따라서 생중계의 종료는 생중계 종료 시각을 통해 확인될 수도 있으나, 실질적으로 송출자로부터 방송에 대한 스트리밍 데이터의 송출이 종료되는지 여부를 통해 확인될 수도 있다. 생중계가 종료된 경우 단계(211)이 수행될 수 있으며, 생중계가 종료되지 않은 경우 지연 생중계 시스템은 단계(203)을 수행하여 지속적으로 생중계 서비스와 지연 생중계 서비스를 제공할 수 있다.In step 210, the delayed live streaming system can confirm whether the live streaming has ended. As described above, the live end time may correspond to the end time of the transmission of the streaming data from the sender's terminal, so that the end of live streaming may be confirmed through the live stream end time, And may be confirmed through whether or not the transmission of the streaming data is ended. Step 211 may be performed if the live streaming is terminated, and if the live streaming is not terminated, the delayed live streaming system may perform step 203 to continuously provide the live streaming service and the delayed live streaming service.
단계(211)에서 지연 생중계 시스템은 지연 생중계의 종료 여부를 확인할 수 있다. 단계(210)에서 생중계가 종료된 경우에도 지연 생중계는 지속될 수 있기 때문에 지연 생중계 시스템은 지연 생중계 종료 시각에 기반하여 지연 생중계의 종료 여부를 확인할 수 있다. 만약, 지연 생중계가 아직 종료되지 않은 경우, 지연 생중계 시스템은 단계(208)을 수행함으로써, 지속적으로 지연 생중계 서비스를 제공할 수 있다. 지연 생중계가 종료되는 경우에는 지연 생중계 방법은 종료될 수 있다.In step 211, the delayed live streaming system can confirm whether or not the delayed live streaming has ended. Since the delayed live streaming can be continued even if the live streaming ends in step 210, the delayed live streaming system can confirm whether or not the delay live streaming is finished based on the delayed live stream end time. If the delayed live-streaming has not yet ended, the delayed live-streaming system can continue to provide delayed live-streaming services by performing step 208. [ If the delayed live-streaming is terminated, the delayed live-streaming method may be terminated.
도 3는 본 발명의 일실시예에 따른 누적용 재생파일정보 및 지연 생중계용 재생파일정보의 예를 도시한 도면이다. 도 3은 누적용 재생파일정보(310)과 지연 생중계용 재생파일정보(320)를 통해 관리되는 파일정보가 시간의 흐름에 따라 변하는 과정의 예를 나타내고 있다. 예를 들어, 파일정보 "AAAstore_10_00_0.ts"는 'AAAstore'에 저장된 '10'시 '00'분에 생성된 첫 번째('0') 전송 세그먼트 파일을 의미할 수 있다. 이때, 파일정보 "AAAstore_10_00_0.ts" 자체가 해당하는 전송 세그먼트 파일의 파일명일 수 있다. 해당하는 전송 세그먼트 파일의 주소정보는 일례로, 기설정된 주소의 마지막에 "/AAAstore_10_00_0.ts"를 추가하는 형태로 얻어질 수 있다.3 is a view showing an example of the accumulation playback file information and the delayed live-stream reproduction file information according to an embodiment of the present invention. FIG. 3 shows an example of a process in which file information managed through the accumulative playback file information 310 and the delayed live-streaming playback file information 320 changes with the passage of time. For example, the file information "AAAstore_10_00_0.ts" may refer to the first ('0') transmission segment file generated at the time '00' stored at 'AAAstore' at '00'. At this time, the file information "AAAstore_10_00_0.ts" itself may be the file name of the corresponding transmission segment file. The address information of the corresponding transmission segment file can be obtained, for example, by adding "/AAAstore_10_00_0.ts" to the end of the predetermined address.
이때, 지연 생중계 시작 시간이 10시 30분이라 가정하자. 지연 생중계 시스템은 제1 점선박스(331)를 통해 표시된 첫 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제2 점선박스(332)는 이러한 첫 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.At this time, it is assumed that the delayed live-start time is 10:30. The delayed live streaming system can extract the file information of the first transmission segment file displayed through the first dotted line box 331 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320. [ The second dotted line box 332 shows the file information of the first transmission segment file added to the delayed live streaming playback file information 320.
단위 시간(일례로, 3분)이 지난 후, 제3 점선박스(341)는 10시 33분에 생성된 전송 세그먼트 파일의 파일정보가 누적용 재생파일정보(310)에 누적된 모습을 나타내고 있다. 이 경우, 지연 생중계 시스템은 제4 점선박스(342)를 통해 표시된 두 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제5 점선박스(343)는 이러한 두 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.After the unit time (for example, three minutes), the third dotted line box 341 shows a state in which the file information of the transmission segment file generated at 10:33 is accumulated in the accumulation playback file information 310 . In this case, the delayed live streaming system can extract the file information of the second transmission segment file displayed through the fourth dotted line box 342 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320 have. The fifth dotted line box 343 shows the file information of the second transmission segment file added to the delayed live streaming playback file information 320.
다시 단위 시간이 지난 후, 제6 점선박스(351)는 10시 36분에 생성된 전송 세그먼트 파일의 파일정보가 누적용 재생파일정보(310)에 누적된 모습을 나타내고 있다. 이 경우, 지연 생중계 시스템은 제7 점선박스(352)를 통해 표시된 세 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제8 점선박스(353)는 이러한 세 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.After the unit time elapses, the sixth dotted line box 351 shows the accumulation of the file information of the transmission segment file generated at 10:36 in the accumulation playback file information 310. In this case, the delayed live streaming system can extract the file information of the third transmission segment file displayed through the seventh dotted line box 352 from the accumulation playback file information 310 and add it to the delayed live streaming playback file information 320 have. An eighth dotted line box 353 shows a state in which file information of the third transmission segment file is added to the delayed live streaming playback file information 320.
실시예에 따라 단위 시간은 하나의 전송 세그먼트 파일의 재생 시간에 대응될 수 있다. 또한, 생중계용 재생파일정보가 가장 최근에 생성된 N개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하는 것과 유사하게, 실시예에 따라 지연 생중계용 재생파일정보(320)는 가장 최근에 추가된 M(상기 M은 자연수)개 이하의 파일정보를 유지하도록 갱신될 수도 있다. 예를 들어, M이 3인 경우, 10시 39분에 생성된 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가되면서 첫 번째 전송 세그먼트 파일의 파일정보(제2 점선박스(332) 참조)가 지연 생중계용 재생파일정보(320)에서 제거될 수 있다. 파일정보가 누적된 지연 생중계용 재생파일정보(320)를 제공하는 경우에는 타임머신 기능을 제공할 수 있다는 장점이 있으며, M개 이하의 파일정보를 유지하도록 갱신되는 지연 생중계용 재생파일정보(320)를 제공하는 경우에는 지연 생중계용 재생파일정보(320)의 용량이나 파일정보의 비교에 요구되는 비용 등을 줄일 수 있다.According to an embodiment, the unit time may correspond to the playback time of one transmission segment file. Also, similar to the fact that the live playback file information includes the file information for indicating the most recently generated N or less transmission segment files, according to the embodiment, the delay live live playback file information 320 is most recently May be updated so as to keep the added M (M is a natural number) file information or less. For example, when M is 3, the file information of the transmission segment file generated at 10:39 is added to the delayed live-streaming playback file information 320, and the file information of the first transmission segment file (the second dotted line box 332) may be removed from the delayed live-stream reproduction file information 320. [ The delayed live-playing playback file information 320, which is accumulated so as to maintain M file information or less, is advantageous in that it provides time- It is possible to reduce the capacity of the delayed live-streaming playback file information 320 and the cost required for comparison of the file information.
시청자는 이러한 지연 생중계용 재생파일정보를 통해 지연 생중계를 위한 전송 세그먼트 파일들을 순차적으로 다운로드 받아 재생함으로써, 송출자의 방송이 일정한 시간(본 실시예에서는 30분) 지연된 상태로 처음부터 지연 생중계 서비스를 제공받을 수 있게 된다.The viewer sequentially downloads and reproduces the transmission segment files for the delayed live broadcasting through the delayed live streaming file information, and provides the delayed live streaming service from the beginning in a state where the sender's broadcast is delayed for a predetermined time (30 minutes in this embodiment) You will receive.
도 4는 본 발명의 일실시예에 따른 물리적 머신의 예를 도시한 블록도이다. 본 실시예에 따른 물리적 머신은 도 4를 통해 도시된 컴퓨터 장치(400)에 의해 구현될 수 있으며, 일실시예에 따른 지연 생중계 방법은 이러한 컴퓨터 장치(400)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(400)에는 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치(400)는 구동된 컴퓨터 프로그램의 제어에 따라 지연 생중계 방법을 수행할 수 있다.4 is a block diagram illustrating an example of a physical machine in accordance with one embodiment of the present invention. The physical machine according to the present embodiment may be implemented by the computer device 400 shown in FIG. 4, and the delayed live-streaming method according to one embodiment may be performed by such a computer device 400. For example, a computer program according to an embodiment may be installed and operated in the computer device 400, and the computer device 400 may perform a delayed live-broadcasting method under the control of a computer program that is driven.
이러한 컴퓨터 장치(400)는 도 4에 도시된 바와 같이, 메모리(410), 프로세서(420), 통신 인터페이스(430) 그리고 입출력 인터페이스(440)를 포함할 수 있다. 메모리(410)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(410)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(400)에 포함될 수도 있다. 또한, 메모리(410)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(410)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(410)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(430)를 통해 메모리(410)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(460)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(400)의 메모리(410)에 로딩될 수 있다.The computer device 400 may include a memory 410, a processor 420, a communication interface 430, and an input / output interface 440, as shown in FIG. The memory 410 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. Herein, the non-decaying mass storage device such as the ROM and the disk drive may be included in the computer device 400 as a separate persistent storage device separate from the memory 410. [ In addition, the memory 410 may store an operating system and at least one program code. These software components may be loaded into the memory 410 from a computer readable recording medium separate from the memory 410. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into the memory 410 via the communication interface 430 rather than from a computer readable recording medium. For example, the software components may be loaded into the memory 410 of the computer device 400 based on a computer program installed by the files received via the network 460.
프로세서(420)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(410) 또는 통신 인터페이스(430)에 의해 프로세서(420)로 제공될 수 있다. 예를 들어 프로세서(420)는 메모리(410)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 420 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and I / O operations. The instructions may be provided to the processor 420 by the memory 410 or communication interface 430. [ For example, the processor 420 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 410.
통신 인터페이스(430)은 네트워크(460)를 통해 컴퓨터 장치(400)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(400)의 프로세서(420)가 메모리(410)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(430)의 제어에 따라 네트워크(460)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(460)를 거쳐 컴퓨터 장치(400)의 통신 인터페이스(430)를 통해 컴퓨터 장치(400)로 수신될 수 있다. 통신 인터페이스(430)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(420)나 메모리(410)로 전달될 수 있고, 파일 등은 컴퓨터 장치(400)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 430 may provide functionality for the computer device 400 to communicate with another device (e.g., the storage devices described above) via the network 460. [ For example, a request, command, data, file, or the like, generated by the processor 420 of the computer device 400 according to the program code stored in the recording device such as the memory 410, 460 to other devices. Conversely, signals, commands, data, files, etc., from other devices may be received by the computer device 400 via the communication interface 430 of the computer device 400 via the network 460. Signals, data, and the like received through the communication interface 430 may be transferred to the processor 420 or the memory 410 and the files and the like may be transferred to a storage medium Permanent storage).
입출력 인터페이스(440)는 입출력 장치(450)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(440)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(450)는 컴퓨터 장치(400)와 하나의 장치로 구성될 수도 있다.The input / output interface 440 may be a means for interfacing with the input / output device 450. For example, the input device may include a device such as a microphone, a keyboard or a mouse, and an output device may include a device such as a display, a speaker, and the like. As another example, the input / output interface 440 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen. The input / output device 450 may be composed of the computer device 400 and one device.
또한, 다른 실시예들에서 컴퓨터 장치(400)는 도 4의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(400)는 상술한 입출력 장치(450) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Also, in other embodiments, the computing device 400 may include fewer or more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the computer device 400 may be implemented to include at least some of the input / output devices 450 described above, or may further include other components such as a transceiver, database, and the like.
실시예에 따라 지연 생중계 방법은 복수의 컴퓨터 장치들의 결합을 통해 수행될 수도 있다. 이하에서는 지연 생중계 방법을 수행하는 지연 생중계 시스템의 일례로서 구현될 수 있는 오픈형 생중계 플랫폼의 구조를 설명한다.According to an embodiment, the delayed live broadcasting method may be performed through a combination of a plurality of computer devices. Hereinafter, a structure of an open-type live streaming platform that can be implemented as an example of a delayed live streaming system performing a delayed live streaming method will be described.
도 5는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 전체 구성의 예를 도시한 도면이고, 도 6은 본 발명의 일실시예에 따른 라이브 스트리밍 팜의 구성의 예를 도시한 도면이며, 도 7은 본 발명의 일실시예에 따른 L4 스위치의 로드 밸런싱 예를 도시한 도면이고, 도 8은 본 발명의 일실시예에 따른 인코더 서버 풀의 구성의 예를 도시한 도면이다. 또한, 도 9는 본 발명의 일실시예에 따른 VOD 팜의 구성의 예를 도시한 도면이다.FIG. 5 is a view showing an example of the overall configuration of an open type live broadcast platform according to an embodiment of the present invention, FIG. 6 is a view showing an example of the configuration of a live streaming farm according to an embodiment of the present invention, 7 is a diagram illustrating an example of load balancing of an L4 switch according to an embodiment of the present invention, and FIG. 8 is a diagram illustrating an example of a configuration of an encoder server pool according to an embodiment of the present invention. 9 is a diagram illustrating an example of a configuration of a VOD farm according to an embodiment of the present invention.
본 실시예에 따른 오픈형 생중계 플랫폼(500)은 도 5에 도시된 바와 같이, 라이브 스트리밍 팜(Live Streaming Farm, 510), 코디네이터(Coordinator, 520) 및 VOD(Video On Demand) 팜(530)을 포함할 수 있다.5, the open live streaming platform 500 according to the present embodiment includes a live streaming farm 510, a coordinator 520, and a VOD (video on demand) farm 530 can do.
라이브 스트리밍 팜(510)은 송출자(540)로부터 송출되는 스트리밍 데이터를 처리하여 시청자(550)에게 중계하는 역할을 수행할 수 있다. 이를 위해, 라이브 스트리밍 팜(510)은 도 6에 도시된 바와 같이, 제1 L4 스위치(610), 퍼블리싱 포인트 서버 풀(Publishing Point Server Pool, 620), 인코더 서버 풀(Encoder Server Pool, 630), 분산 파일 시스템(Distributed File System, 640), 프록시 서버 풀(Proxy Server Pool, 650) 및 제2 L4 스위치(660)를 포함할 수 있다. 도 5에서는 하나의 송출자(540)와 하나의 시청자(550)를 나타내고 있으나, 이러한 송출자(540)와 시청자(550)는 복수의 송출자들과 복수의 시청자들을 의미할 수 있으며, 실질적으로는 방송을 송출하는 송출자의 단말과 방송을 수신하는 시청자의 단말을 의미할 수 있다. The live streaming farm 510 may process the streaming data transmitted from the sender 540 and relay the streaming data to the viewer 550. [ To this end, the live streaming farm 510 includes a first L4 switch 610, a publishing point server pool 620, an encoder server pool 630, A Distributed File System 640, a Proxy Server Pool 650, and a second L4 switch 660. 5 shows one sender 540 and one viewer 550. The sender 540 and the viewer 550 may refer to a plurality of senders and a plurality of viewers, Quot; may mean a terminal of a sender for transmitting a broadcast and a terminal of a viewer for receiving a broadcast.
제1 L4 스위치(610)는 도 7에 도시된 바와 같이, 퍼블리싱 포인트 서버 풀(620)에 포함되는 복수의 퍼블리싱 포인트 서버들(710)의 로드 밸런싱을 위해 이용될 수 있다. 예를 들어, 제1 L4 스위치(610)는 송출자(540)로부터 송출되는 스트리밍 데이터를 복수의 퍼블리싱 포인트 서버들(710) 중 어느 퍼블리싱 포인트 서버로 전달할 것인가를 결정할 수 있다.The first L4 switch 610 may be utilized for load balancing of a plurality of publishing point servers 710 included in the publishing point server pool 620, as shown in FIG. For example, the first L4 switch 610 may determine which of the plurality of publishing point servers 710 transmits the streaming data sent from the sender 540 to the publishing point server.
퍼블리싱 포인트 서버 풀(620)은 도 7을 통해 설명한 바와 같이, 복수의 퍼블리싱 포인트 서버들(710)의 풀(pool)로서 퍼블리싱 포인트 서버 각각은 제1 L4 스위치(610)를 통해 전달되는 송출자(140)들의 송출 요청을 처리하고, 인코더 서버 풀(630)이 포함하는 인코더 서버에게 스트리밍 데이터를 전달할 수 있다. 이때, 하나의 퍼블리싱 포인트 서버가 다수의 송출 요청을 처리할 수 있다. 또한, 하나의 퍼블리싱 포인트 서버는 하나의 물리적인 머신으로 구현될 수도 있지만, 하나의 물리적인 머신상에 다수의 퍼블리싱 포인트 서버들이 구현될 수도 있다. 예를 들어, 세 개의 물리적인 머신에 각각 세 개의 퍼블리싱 포인트 서버들이 포함되도록 구현되는 경우, 총 9 개의 퍼블리싱 포인트 서버들이 퍼블리싱 포인트 서버 풀(620)에 포함될 수 있다. 도 3에서는 퍼블리싱 포인트 서버 풀(620)이 세 개의 퍼블리싱 포인트 서버를 포함하는 예를 나타내고 있으나, 퍼블리싱 포인트 서버는 필요에 따라 자유롭게 퍼블리싱 포인트 서버 풀(620)에 추가되거나 또는 퍼블리싱 포인트 서버 풀(620)에서 제외될 수 있다.7, the publishing point server pool 620 is a pool of a plurality of publishing point servers 710, and each of the publishing point servers is connected to a sender (not shown) through the first L4 switch 610 140 and may transmit streaming data to an encoder server included in the encoder server pool 630. [ At this time, one publishing point server can process a plurality of transmission requests. Also, one publishing point server may be implemented as one physical machine, but a plurality of publishing point servers may be implemented on one physical machine. For example, if three physical machines are each implemented to include three publishing point servers, a total of nine publishing point servers may be included in the publishing point server pool 620. 3 shows an example in which the publishing point server pool 620 includes three publishing point servers, the publishing point server can be freely added to the publishing point server pool 620 or the publishing point server pool 620, .
인코더 서버 풀(630)은 도 8에 도시된 바와 같이 복수의 인코더 서버들(810)을 포함하는 풀일 수 있다. 복수의 인코더 서버들(810)은 도 8에 도시된 바와 같이 세 개의 인코더 서버를 포함하는 예를 나타내고 있으나, 인코더 서버는 필요에 따라 자유롭게 인코더 서버 풀(630)에 추가되거나 또는 인코더 서버 풀(630)에서 제외될 수 있다. 또한, 복수의 인코더 서버들(810) 각각은 이미 설명한 바와 같이 하나의 물리적인 머신으로 구현될 수도 있으나, 하나의 물리적인 머신상에 다수의 인코더 서버들이 포함되도록 구현될 수도 있다. 예를 들어, 세 개의 물리적인 머신에 각각 네 개의 인코더 서버들이 포함되도록 구현되는 경우, 총 12 개의 인코더 서버들이 인코더 서버 풀(620)에 포함될 수 있다.The encoder server pool 630 may be a pool including a plurality of encoder servers 810 as shown in FIG. 8, the encoder server may be freely added to the encoder server pool 630 as needed or may be added to the encoder server pool 630 ). In addition, each of the plurality of encoder servers 810 may be implemented as one physical machine as described above, but may be implemented to include a plurality of encoder servers on one physical machine. For example, if the three physical machines are each implemented to include four encoder servers, a total of twelve encoder servers may be included in the encoder server pool 620.
또한, 하나의 물리적인 머신은 적어도 하나의 퍼블리싱 포인트 서버와 적어도 하나의 인코더 서버를 포함하도록 구현될 수도 있다. 다시 말해, 퍼블리싱 포인트 서버, 인코더 서버, 그리고 이후 설명될 프록시 서버 등은 각각 개별적인 물리적인 머신의 형태로 구현될 수도 있으나, 하나의 물리적인 머신상에 복수의 서버들이 포함되는 형태로 구현될 수도 있다.In addition, one physical machine may be implemented to include at least one publishing point server and at least one encoder server. In other words, the publishing point server, the encoder server, and the proxy server, which will be described later, may be implemented in the form of separate physical machines, or a plurality of servers may be included in one physical machine .
복수의 인코더 서버들(810) 각각은 하나의 인코더 서버와 하나의 업로더의 쌍으로 구현될 수 있다. 예를 들어, 도 8에서는 하나의 인코더 서버가 인코더 서버 1(811)과 업로더 1(812)의 쌍으로 구현된 예를 나타내고 있다.Each of the plurality of encoder servers 810 may be implemented as a pair of one encoder server and one uploader. For example, FIG. 8 shows an example in which one encoder server is implemented as a pair of encoder server 1 811 and uploader 1 812.
인코더 서버는 퍼블리싱 포인트 서버로부터 수신되는 스트리밍 데이터를 기 설정된 프로파일로 인코딩할 수 있다. 예를 들어, HLS(HTTP Live Streaming) 알고리즘을 이용하여 시청자(550)에게 생중계 방송을 제공하는 경우, 인코더 서버는 퍼블리싱 포인트 서버로부터 수신되는 스트리밍 데이터를 인코딩하여 TS(Transport Stream) 파일을 생성할 수 있다.The encoder server may encode the streaming data received from the publishing point server into a predetermined profile. For example, when a live broadcast is provided to the viewer 550 using an HLS (HTTP Live Streaming) algorithm, the encoder server may encode the streaming data received from the publishing point server to generate a Transport Stream (TS) file have.
업로더는 인코딩 결과로 생성된 TS 파일들을 라이브 스트리밍 팜(510)이 포함하는 분산 파일 시스템(640), 그리고 도 9에 도시된 VOD 팜(530)이 포함하는 분산 파일 시스템(1020)에 각각 업로드할 수 있다. 또한, 업로더는 생성된 TS 파일들로 각 서비스 형태에 따른 재생파일정보(일례로, 어떤 미디어를, 어떻게 재생할 건가에 대한 정보를 저장한 파일로 HLS(HTTP Live Streaming) 알고리즘에서는 m3u8 파일)들을 생성하여 라이브 스트리밍 팜(510)이 포함하는 분산 파일 시스템(640)에 업로드할 수 있다. 이때, 서비스 형태에 따른 재생파일정보는 타임머신 기능을 제공하기 위한 재생파일정보(일례로, 타임머신 용 m3u8 파일), 라이브 방송을 위한 재생파일정보(일례로, 라이브 용 m3u8 파일) 및/또는 VOD 방송을 위한 재생파일정보(일례로, VOD 용 m3u8 파일)를 포함할 수 있다.The uploader uploads TS files generated as a result of the encoding to the distributed file system 640 included in the live streaming farm 510 and the distributed file system 1020 included in the VOD farm 530 shown in FIG. can do. In addition, the uploader stores reproduced file information (for example, information on how to play back some media and how to play back), and m3u8 files in HLS (HTTP Live Streaming) And upload it to the distributed file system 640 included in the live streaming farm 510. At this time, the playback file information according to the service type includes playback file information (for example, m3u8 file for time machine) for providing a time machine function, playback file information (for example, m3u8 file for live) and / (For example, m3u8 file for VOD).
이때, 타임머신 기능을 제공하기 위한 재생파일정보가 지연 생중계 서비스를 제공하기 위한 누적용 재생파일정보에 대응할 수 있다. 이미 설명한 바와 같이 지연 생중계용 재생파일정보는 지연 생중계의 시작 이후에 누적용 재생파일정보로부터 파일정보를 추출하여 생성 및 갱신될 수 있다.At this time, the reproduction file information for providing the time machine function may correspond to the accumulation reproduction file information for providing the delayed live broadcasting service. As described above, the delayed live-stream playback file information can be generated and updated by extracting the file information from the accumulated playback file information after the start of the delayed live-streaming.
분산 파일 시스템(640)은 시청자(550)에게 스트리밍하기 위해 인코딩된 파일들(일례로, TS 파일들)과 재생파일정보들(일례로, m3u8 파일들)을 저장하고 제공할 수 있다.The distributed file system 640 may store and provide the encoded files (e.g., TS files) and playback file information (e. G., M3u8 files) to stream to the viewer 550. [
프록시 서버 풀(650)는 복수의 프록시 서버들을 포함할 수 있으며, 제2 L4 스위치(660)를 통해 선택되는 프록시 서버가 외부의 스트리밍 요청을 수신하여 분산 파일 시스템(640)에 전달하는 역할을 수행할 수 있다. 이 경우, 분산 파일 시스템(640)은 전달된 외부의 스트리밍 요청에 따라 저장된 파일들(인코딩된 파일들(일례로, TS 파일들)과 재생파일정보들(일례로, m3u8 파일들))을 앞서 선택된 프록시 서버를 통해 제공함으로써, 생중계 서비스가 시청자(550)에게 제공될 수 있다. 지연 생중계용 재생파일정보 역시 유사한 방법으로 지연 생중계 서비스를 요청하는 시청자들에게 제공될 수 있다.The proxy server pool 650 may include a plurality of proxy servers, and the proxy server selected through the second L4 switch 660 receives an external streaming request and delivers the streaming request to the distributed file system 640 can do. In this case, the distributed file system 640 distributes the stored files (encoded files (e.g., TS files) and playback file information (e. G., M3u8 files)) ahead of the delivered external streaming request By providing through the selected proxy server, a live broadcast service can be provided to the viewer 550. [ The delayed live file reproduction file information may also be provided to viewers requesting a delayed live streaming service in a similar manner.
코디네이터(520)는 오픈형 생중계 플랫폼(500)이 포함하는 서버들의 상태를 관리하고, 인코더 서버를 할당하며, 현재 송출 중인 채널의 정보 등 오픈형 생중계 플랫폼(500)의 전반적인 상태 및 설정들을 관리할 수 있다. 예를 들어, 오픈형 생중계 플랫폼(500)이 포함하는 서버들은 실행 시 코디네이터(520)에 자신을 등록하는 과정을 거칠 수 있으며, 코디네이터(520)는 등록된 서버들을 관리할 수 있다. 또한, 코디네이터(520)는 퍼블리싱 포인트 서버의 요청에 따라 인코더 서버를 할당할 수 있다. 이러한 코디네이터(520)는 일례로, 분산 환경에서 노드 간의 정보 공유, 락(Lock), 이벤트 등 보조 기능을 제공하는 프레임워크인 주키퍼(Zookeeper) 시스템을 이용하여 구현될 수 있다.The coordinator 520 manages the statuses of servers included in the open-type live-broadcast platform 500, allocates an encoder server, and manages the overall status and settings of the open-live live-platform 500, . For example, the servers included in the open type live broadcast platform 500 can register themselves in the runtime coordinator 520, and the coordinator 520 can manage the registered servers. In addition, the coordinator 520 may allocate an encoder server at the request of the publishing point server. The coordinator 520 may be implemented using a Zookeeper system, which is a framework for providing auxiliary functions such as information sharing, lock, and events among nodes in a distributed environment.
VOD 팜(530)은 생중계 영상의 VOD 파일을 생성 및 저장하고 VOD 서비스를 제공하는 기능을 담당할 수 있으며, 도 9에 도시된 바와 같이, VOD 생성 풀(910), 분산 파일 시스템(920), 프록시 서버 풀(930) 및 제3 L4 스위치(940)를 포함할 수 있다.The VOD palm 530 may generate and store a VOD file of a live video image and provide a VOD service. As shown in FIG. 9, a VOD generation pool 910, a distributed file system 920, A proxy server pool 930 and a third L4 switch 940. [
VOD 생성 풀(910)은 VOD 파일 생성 요청을 받는 경우, 분산 파일 시스템(920)에서 인코딩된 파일들(일례로, TS 파일들)을 다운로드 받아 VOD 파일(일례로, MP4 파일)을 생성할 수 있다. 또한, VOD 생성 풀(910)은 생성된 VOD 파일을 다시 분산 파일 시스템(920)에 업로드할 수 있다. VOD 생성 풀(910)은 복수의 VOD 생성 서버를 포함할 수 있다.The VOD generation pool 910 can download the encoded files (for example, TS files) from the distributed file system 920 and generate a VOD file (for example, an MP4 file) when receiving the VOD file creation request have. In addition, the VOD generation pool 910 may upload the generated VOD file back to the distributed file system 920. [ The VOD generation pool 910 may include a plurality of VOD generation servers.
분산 파일 시스템(920)은 VOD 파일을 위한 인코딩된 파일들과 VOD 생성 풀(910)에 의해 생성된 VOD 파일을 저장 및 제공할 수 있다.The distributed file system 920 may store and provide the encoded files for the VOD file and the VOD file generated by the VOD generation pool 910. [
프록시 서버 풀(930)은 복수의 프록시 서버들을 포함할 수 있다. 제3 L4 스위치(940)는 외부의 VOD 파일 요청이 수신되면, 프록시 서버 풀(930)이 포함하는 복수의 프록시 서버들 중 하나의 프록시 서버를 선택하여 외부의 VOD 파일 요청을 전달할 수 있으며, 선택된 프록시 서버는 외부의 VOD 파일 요청을 분산 파일 시스템(920)으로 전달할 수 있다. 이 경우, 분산 파일 시스템(920)은 요청된 VOD 파일을 프록시 서버를 통해 외부로 제공할 수 있다.The proxy server pool 930 may include a plurality of proxy servers. When an external VOD file request is received, the third L4 switch 940 may select a proxy server among a plurality of proxy servers included in the proxy server pool 930 to deliver an external VOD file request, The proxy server may forward an external VOD file request to the distributed file system 920. [ In this case, the distributed file system 920 can externally provide the requested VOD file through the proxy server.
도 10 내지 도 12는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 동작 방법의 예를 도시한 도면들이다.FIGS. 10 to 12 are views showing an example of a method of operating an open type live broadcasting platform according to an embodiment of the present invention.
도 10은 라이브 스트리밍을 위한 전체 과정들(과정(1-1) 내지 과정(1-10)) 중 과정(1-1) 내지 과정(1-6)을 도시하고 있다.FIG. 10 shows steps (1-1) to (1-6) of the entire processes (processes (1-1) to (1-10)) for live streaming.
과정(1-1)은 송출자(540)가 제1 L4스위치(610)로 스트리밍 데이터를 송출하는 과정의 예일 수 있다.The process (1-1) may be an example of a process in which the sender 540 transmits the streaming data to the first L4 switch 610. [
과정(1-2)은 제1 L4 스위치(610)가 퍼블리싱 포인트 서버 풀(620)에 포함된 임의의 퍼블리싱 포인트 서버(1010)를 선택하고, 선택된 퍼블리싱 포인트 서버(1010)로 송출 요청을 전달하는 과정의 예일 수 있다.In step 1-2, the first L4 switch 610 selects any of the publishing point servers 1010 included in the publishing point server pool 620 and transmits the transmission request to the selected publishing point server 1010 It can be an example of a process.
과정(1-3)은 퍼블리싱 포인트 서버(1010)가 코디네이터(520)에게 스트리밍을 위한 인코더 서버 풀(630)에 포함된 인코더 서버들 중 어느 하나의 할당을 요청하는 과정의 예일 수 있다.The process (1-3) may be an example of a process in which the publishing point server 1010 requests the coordinator 520 to allocate any one of the encoder servers included in the encoder server pool 630 for streaming.
과정(1-4)은 코디네이터(520)가 인코더 서버 풀(630)에서 스트리밍에 사용될 임의의 인코더 서버(1020)를 선택하고, 스트리밍 시작 이벤트와 함께 퍼블리싱 포인트 서버(1010)에 대한 정보를 선택된 인코더 서버(1020)로 전달하는 과정의 예일 수 있다.Processes 1-4 illustrate that the coordinator 520 selects any encoder server 1020 to be used for streaming in the encoder server pool 630 and sends information about the publishing point server 1010 along with the streaming start event to the selected encoder To the server 1020. FIG.
과정(1-5)은 코디네이터(520)에 의해 선택된 인코더 서버(1020)가 퍼블리싱 포인트 서버(1010)에 접속하여 스트리밍 데이터를 전달받고, 전달받은 스트리밍 데이터를 기 설정된 프로파일로 인코딩하는 과정의 예일 수 있다.The process 1-5 is an example of a process in which the encoder server 1020 selected by the coordinator 520 accesses the publishing point server 1010 to receive streaming data and encodes the received streaming data into a predetermined profile have.
과정(1-6)은 인코더 서버(1020)가 인코딩된 데이터(일례로, 인코딩에 따라 생성된 TS 파일들)를 지정된 경로(일례로, 도 10의 임시저장소(1030))에 저장하는 과정의 예일 수 있다.The process 1-6 is a process of storing the encoded data (for example, the TS files generated according to the encoding) in a specified path (for example, the temporary storage 1030 in FIG. 10) Yes.
도 11은 라이브 스트리밍을 위한 전체 과정들(과정(1-1) 내지 과정(1-10)) 중 과정(1-7) 내지 과정(1-10)을 도시하고 있다. 과정(1-6)과 과정(1-7)은 도 10 및 도 11에 도시된 (A)를 통해 연결될 수 있다.FIG. 11 shows steps (1-7) to (1-10) of the entire processes (processes (1-1) to (1-10)) for live streaming. Steps (1-6) and (1-7) may be connected through (A) shown in FIGS. 10 and 11.
과정(1-7)은 업로더(1110)가 도 10에 도시된 임시저장소(1030)로부터 인코딩된 데이터(TS 파일들)를 획득하고, 인코딩된 데이터에 대응하는 재생파일정보(일례로, m3u8 파일들)을 생성하는 과정의 예일 수 있다. 예를 들어, 앞서 설명한 생중계용 재생파일정보, 누적용 재생파일정보 및 지연 생중계용 재생파일정보가 생성될 수 있다. 이미 설명한 바와 같이 업로더(1110)는 인코더 서버(1020)와 하나의 쌍을 이룰 수 있다.The process 1-7 is a process in which the uploader 1110 acquires the encoded data (TS files) from the temporary storage 1030 shown in Fig. 10 and reproduces the reproduction file information corresponding to the encoded data (for example, m3u8 Files) in the file system. For example, the live playback file information for accumulation, the accumulation playback file information, and the delayed live-stream playback file information described above can be generated. As already described, the uploader 1110 may pair with the encoder server 1020. [
과정(1-8)은 업로더(1110)가 인코딩된 데이터를 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)과 VOD 팜(530)의 분산 파일 시스템(920)에 각각 업로드하고, 생성된 재생파일정보를 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)에 업로드하는 과정의 예일 수 있다. 이러한 업로드의 과정은 각각의 상황에 따라 생중계용 재생파일정보, 누적용 재생파일정보 및 지연 생중계용 재생파일정보에 전송 세그먼트 파일들을 갱신/누적하는 과정일 수 있다. 이때, 인코딩된 데이터를 VOD 팜(530)의 분산 파일 시스템(920)에 업로드하는 과정은 도 11 및 도 12에 도시된 (C)를 통해 연결될 수 있다.In step 1-8, the uploader 1110 uploads the encoded data to the distributed file system 640 of the live streaming farm 510 and the distributed file system 920 of the VOD farm 530, respectively, And may be an example of a process of uploading the playback file information to the distributed file system 640 of the live streaming farm 510. [ Such a process of uploading may be a process of updating / accumulating transmission segment files in the live playback file information, the accumulative playback file information, and the delayed live streaming playback file information according to each situation. At this time, the process of uploading the encoded data to the distributed file system 920 of the VOD farm 530 may be connected through (C) shown in FIG. 11 and FIG.
과정(1-9)은 프록시 서버 풀(650)에 포함된 프록시 서버들 중 선택된 하나인 프록시 서버(1120)가 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)으로부터 인코딩된 데이터와 재생파일정보를 요청하여 전달받는 과정의 예일 수 있다.In step 1-9, the proxy server 1120, which is a selected one of the proxy servers included in the proxy server pool 650, transmits data encoded from the distributed file system 640 of the live streaming farm 510, And receiving the request.
과정(1-10)은 프록시 서버(1120)가 전달받은 인코딩된 데이터와 재생파일정보를 시청자(550)에게 전달하여 라이브 스트리밍을 진행하는 과정의 예일 수 있다. 이때, 생중계용 재생파일정보를 수신하는 시청자(550)는 송출자(540)의 방송을 생중계로 시청할 수 있게 되며, 지연 생중계용 재생파일정보를 수신하는 시청자(550)는 방송을 지연 생중계로 시청할 수 있게 된다. The process (1-10) may be an example of the process of delivering the encoded data and the playback file information received by the proxy server 1120 to the viewer 550 and proceeding with the live streaming. At this time, the viewer (550) receiving the live file reproduction file information can view the live broadcast of the sender (540), and the viewer (550) receiving the delay live live file information can watch the broadcast live .
도 12는 VOD 파일의 생성 및 VOD 서비스의 제공을 위한 전체 과정들(과정(2-1) 내지 과정(2-5))을 도시하고 있다. 이러한 도 12는 (B) 및 (C)를 통해 도 10 및 도 11과 연결될 수 있다.FIG. 12 shows the entire processes (processes (2-1) to (2-5)) for generating a VOD file and providing a VOD service. This Fig. 12 can be connected to Figs. 10 and 11 through (B) and (C).
과정(2-1)은 VOD 생성 풀(910)에 포함된 VOD 생성 서버들 중 하나인 VOD 생성 서버(1210)가 코디네이터(520)로부터 VOD 생성 요청을 수신하는 과정의 예일 수 있다.In step (2-1), the VOD generation server 1210, which is one of the VOD generation servers included in the VOD generation pool 910, may receive a VOD generation request from the coordinator 520.
과정(2-2)은 VOD 생성 서버(1210)가 VOD 팜(530)에 포함된 분산 파일 시스템(920)으로부터 VOD 파일을 생성하기 위해 인코딩된 데이터를 다운로드 받는 과정의 예일 수 있다. 여기서 인코딩된 데이터는 도 11의 과정(1-8)을 통해 업로더(1110)가 분산 파일 시스템(920)에 저장한 데이터일 수 있다.The process (2-2) may be an example of a process in which the VOD generation server 1210 downloads encoded data to generate a VOD file from the distributed file system 920 included in the VOD farm 530. [ The encoded data may be data stored in the distributed file system 920 by the uploader 1110 through the process (1-8) of FIG.
과정(2-3)은 VOD 생성 서버(1210)가 다운로드 받은 데이터를 이용하여 VOD 파일을 생성하여 분산 파일 시스템(920)에 업로드하는 과정의 예일 수 있다.The process (2-3) may be an example of a process of generating a VOD file using the downloaded data by the VOD creation server 1210 and uploading it to the distributed file system 920.
과정(2-4)는 프록시 서버 풀(930)에 포함된 프록시 서버들 중 하나인 프록시 서버(1220)가 VOD 요청자(1230)의 요청에 따라 VOD 파일을 분산 파일 시스템(920)으로부터 다운로드하는 과정의 예일 수 있다.In step 2-4, the proxy server 1220, which is one of the proxy servers included in the proxy server pool 930, downloads the VOD file from the distributed file system 920 at the request of the VOD requester 1230 .
과정(2-5)는 프록시 서버(1220)가 VOD요청자(1230)에게 다운로드 받은 VOD 파일을 제공하는 과정의 예일 수 있다.The process (2-5) may be an example of a process in which the proxy server 1220 provides the VOD file downloaded to the VOD requester 1230.
이러한 과정(2-1) 내지 과정(2-5)를 통해 라이브 스트리밍된 방송을 위한 VOD 파일이 생성 및 제공될 수 있다.A VOD file for live streaming broadcasting can be generated and provided through the processes (2-1) to (2-5).
도 5 내지 도 12를 통해 설명한 오픈형 생중계 플랫폼(500)은 본 발명의 일실시예에 따른 지연 생중계 시스템을 구현하기 위한 하나의 예시일 뿐, 지연 생중계 시스템의 구현이 이러한 오픈형 생중계 플랫폼(500)의 형태로 한정되는 것은 아니다.5 to 12 is merely an example for implementing the delayed live streaming system according to an embodiment of the present invention, and the implementation of the delayed live streaming system is not limited to that of the open live streaming platform 500 The present invention is not limited thereto.
이처럼 본 발명의 실시예들에 따르면, 라이브 방송을 시작 시점 이후의 지연된 시점에 생중계할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공할 수 있다.According to embodiments of the present invention, there is provided a delayed live broadcasting system and a delayed live streaming system capable of live broadcasting at a delayed time after a start time of a live broadcast, and a computer readable recording medium for causing the computer to execute the delayed live streaming method, A computer program stored in a recording medium and a recording medium thereof can be provided.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The medium may be one that continues to store computer executable programs, or temporarily store them for execution or download. In addition, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, and is not limited to a medium directly connected to a computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium managed by a site or a server that supplies or distributes an application store or various other software to distribute the application may be mentioned. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (11)

  1. 송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하는 단계 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -;Managing a live broadcast start time and a delayed live broadcast start time for a broadcast of a sender, wherein the delay live live start time is preset to a time after the live live start time;
    상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하는 단계;Wherein the transmission segment file is generated by encoding the streaming data transmitted from the sender's terminal based on the live broadcast start time and the file information for indicating the generated transmission segment file is generated in accordance with the generation sequence of the transmission segment file Accumulating in the first reproduction file information;
    상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하는 단계; 및Extracting file information accumulated in the first playback file information based on the delayed live-broadcast start time according to the order in which the transport segment file is generated, and adding the extracted file information to the second playback file information; And
    상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 단계Providing a delayed live broadcast service for the sender's broadcast using the second play file information
    를 포함하는 지연 생중계 방법.Lt; / RTI >
  2. 제1항에 있어서,The method according to claim 1,
    가장 최근에 생성된 N(상기 N은 자연수)개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하도록 제3 재생파일정보를 갱신하는 단계; 및Updating third playback file information to include file information for indicating transmission segment files that are less than or equal to the most recently generated N (N is a natural number); And
    상기 제3 재생파일정보를 이용하여 상기 송출자의 방송에 대한 생중계 서비스를 제공하는 단계Providing a live broadcast service for the sender's broadcast using the third play file information
    를 더 포함하는 것을 특징으로 하는 지연 생중계 방법.Lt; RTI ID = 0.0 > 1, < / RTI >
  3. 제1항에 있어서,The method according to claim 1,
    상기 관리하는 단계는,Wherein the managing comprises:
    상기 송출자의 방송에 대한 생중계 종료 시각을 더 관리하고,Further managing the live end time of the sender's broadcast,
    상기 지연 생중계 시작 시각은 상기 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 것을 특징으로 하는 지연 생중계 방법.Wherein the delayed live-streaming start time is previously set as a time between the live-streaming start time and the live-stream ending time.
  4. 제1항에 있어서,The method according to claim 1,
    상기 제2 재생파일정보는, 가장 최근에 추가된 M(상기 M은 자연수)개 이하의 파일정보를 유지하도록 갱신되는 것을 특징으로 하는 지연 생중계 방법.Wherein the second playback file information is updated so as to hold file information of the most recently added M (M is a natural number) or less.
  5. 제1항에 있어서,The method according to claim 1,
    상기 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함하고,Wherein the file information includes address information for accessing a corresponding transmission segment file through a network,
    상기 지연 생중계 서비스를 제공하는 단계는,Wherein providing the delayed live streaming service comprises:
    시청자의 단말로 상기 제2 재생파일정보를 제공하고, 상기 제2 재생파일정보가 포함하는 파일정보의 상기 주소정보를 통해 요청되는 전송 세그먼트 파일을 상기 시청자의 단말로 전송하는 것을 특징으로 하는 지연 생중계 방법.Wherein the second playback file information is provided to the terminal of the viewer and the transmission segment file requested through the address information of the file information included in the second playback file information is transmitted to the terminal of the viewer Way.
  6. 컴퓨터와 결합되어 제1항 내지 제5항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable medium for causing a computer to execute the method of any one of claims 1 to 5 in combination with a computer.
  7. 제1항 내지 제5항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 5.
  8. 지연 생중계 시스템에 있어서,In a delayed live-broadcast system,
    컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서At least one processor configured to execute computer readable instructions,
    를 포함하고,Lt; / RTI >
    상기 적어도 하나의 프로세서에 의해,By said at least one processor,
    송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하고 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -,The live broadcast start time and the delay live live start time of the sender are managed; and the delay live live start time is set to the time after the live live start time,
    상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하고, Wherein the transmission segment file is generated by encoding the streaming data transmitted from the sender's terminal based on the live broadcast start time and the file information for indicating the generated transmission segment file is generated in accordance with the generation sequence of the transmission segment file Accumulates in the first reproduction file information,
    상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하고,Extracting file information accumulated in the first reproduction file information based on the delayed live-broadcast start time according to the order in which the transmission segment file is generated, adding the extracted file information to the second playback file information,
    상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 And providing a delayed live-broadcast service for the sender's broadcast using the second play file information
    동작들이 수행되는 것을 특징으로 하는 지연 생중계 시스템.Wherein operations are performed.
  9. 제8항에 있어서,9. The method of claim 8,
    상기 적어도 하나의 프로세서에 의해,By said at least one processor,
    가장 최근에 생성된 N(상기 N은 자연수)개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하도록 제3 재생파일정보를 갱신하고,Updates the third reproduction file information so as to include file information for indicating transmission segment files of the most recently generated N (N is a natural number) or less,
    상기 제3 재생파일정보를 이용하여 상기 송출자의 방송에 대한 생중계 서비스를 제공하는 And provides a live broadcast service for the sender's broadcast using the third play file information
    동작들이 더 수행되는 것을 특징으로 하는 지연 생중계 시스템.Wherein further operations are performed.
  10. 제8항에 있어서,9. The method of claim 8,
    상기 적어도 하나의 프로세서에 의해,By said at least one processor,
    상기 송출자의 방송에 대한 생중계 종료 시각이 더 관리되고,The live end time for the broadcast of the sender is further managed,
    상기 지연 생중계 시작 시각은 상기 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 것을 특징으로 하는 지연 생중계 시스템.Wherein the delayed live-streaming start time is set as a time between the live-stream start time and the live end time.
  11. 제8항에 있어서,9. The method of claim 8,
    상기 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함하고,Wherein the file information includes address information for accessing a corresponding transmission segment file through a network,
    상기 적어도 하나의 프로세서에 의해,By said at least one processor,
    시청자의 단말로 상기 제2 재생파일정보를 제공하고,Providing the second playback file information to a terminal of the viewer,
    상기 제2 재생파일정보가 포함하는 파일정보의 상기 주소정보를 통해 요청되는 전송 세그먼트 파일을 상기 시청자의 단말로 전송하는 동작들이 상기 지연 생중계 서비스를 제공하기 위해 수행되는 것을 특징으로 하는 지연 생중계 시스템.And transmitting transmission segment files requested through the address information of the file information included in the second reproduction file information to the terminal of the viewer are performed to provide the delayed live streaming service.
PCT/KR2018/015481 2017-12-07 2018-12-07 Method and system for delayed live broadcast WO2019112360A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170167617A KR102063624B1 (en) 2017-12-07 2017-12-07 Method and system for delayed live broadcast
KR10-2017-0167617 2017-12-07

Publications (1)

Publication Number Publication Date
WO2019112360A1 true WO2019112360A1 (en) 2019-06-13

Family

ID=66751542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015481 WO2019112360A1 (en) 2017-12-07 2018-12-07 Method and system for delayed live broadcast

Country Status (2)

Country Link
KR (1) KR102063624B1 (en)
WO (1) WO2019112360A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113283696A (en) * 2021-04-20 2021-08-20 福建大娱号信息科技股份有限公司 Examination method and terminal for live broadcast competition
CN114860370A (en) * 2022-05-17 2022-08-05 聚好看科技股份有限公司 Display device, server and software development kit switching method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102287429B1 (en) * 2020-02-03 2021-08-06 주식회사 엘지유플러스 Method and apparatus for outputting video through streaming service

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045051A (en) * 1999-07-27 2001-02-16 Victor Co Of Japan Ltd Server client type system
US20050208979A1 (en) * 2004-03-22 2005-09-22 Lg Electronics Inc. System and method for verifying delay time using mobile image terminal
KR20070113650A (en) * 2006-05-25 2007-11-29 파이로웍스(주) Broadcasting system and method for time-delayed broadcasting contents
KR101172263B1 (en) * 2005-03-16 2012-08-08 에스케이텔레콤 주식회사 Delay viewing method of real-time broadcasting
KR101452345B1 (en) * 2013-04-29 2014-10-22 주식회사 엘지유플러스 System and method for providing a time shifted video, and streaming sever and mobile terminal therefor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233582B1 (en) * 2008-12-31 2013-02-15 애플 인크. Method for streaming multimedia data over a non-streaming protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045051A (en) * 1999-07-27 2001-02-16 Victor Co Of Japan Ltd Server client type system
US20050208979A1 (en) * 2004-03-22 2005-09-22 Lg Electronics Inc. System and method for verifying delay time using mobile image terminal
KR101172263B1 (en) * 2005-03-16 2012-08-08 에스케이텔레콤 주식회사 Delay viewing method of real-time broadcasting
KR20070113650A (en) * 2006-05-25 2007-11-29 파이로웍스(주) Broadcasting system and method for time-delayed broadcasting contents
KR101452345B1 (en) * 2013-04-29 2014-10-22 주식회사 엘지유플러스 System and method for providing a time shifted video, and streaming sever and mobile terminal therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113283696A (en) * 2021-04-20 2021-08-20 福建大娱号信息科技股份有限公司 Examination method and terminal for live broadcast competition
CN114860370A (en) * 2022-05-17 2022-08-05 聚好看科技股份有限公司 Display device, server and software development kit switching method
CN114860370B (en) * 2022-05-17 2024-03-29 聚好看科技股份有限公司 Display equipment, server and software development kit switching method

Also Published As

Publication number Publication date
KR20190067557A (en) 2019-06-17
KR102063624B1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
WO2019112360A1 (en) Method and system for delayed live broadcast
US10645466B2 (en) Video file universal identifier for metadata resolution
WO2011136496A2 (en) Method and apparatus for playing live content
KR102123593B1 (en) Method, system, and non-transitory computer readable record medium for synchronization of real-time live video and information data
WO2016052845A1 (en) Cloud streaming service system, cloud streaming service method using optimal gpu, and apparatus for same
WO2015190893A1 (en) Method and device for managing multimedia data
US20210289255A1 (en) Synchronization of media content across multiple participant devices
WO2019189959A1 (en) Method, system, and non-transitory computer-readable recording medium for offsetting delay of guest broadcast at live broadcast
JP2009182629A (en) Data providing system
WO2019088721A1 (en) Open live broadcasting platform
WO2021029671A1 (en) Method and system for playing streaming content
WO2019107955A1 (en) Optimization method for shortening time for distributed transcoding and system therefor
JP2022042997A (en) Method, server, and computer-readable recording medium for minimizing delay in real time live streaming
WO2021045473A1 (en) Loudness normalization method and system
WO2011129623A2 (en) Method for providing a widget service streaming through a broadcast network, and apparatus for same
WO2010110605A2 (en) Iptv receiver, and content-downloading method for same
WO2013154364A1 (en) Streaming playback method and computing apparatus using same
WO2016018102A1 (en) System for cloud streaming-based broadcast-associated service, client apparatus for broadcast-associated service, trigger content provision server and method utilizing same
EP3292697A1 (en) Operating method of client for streaming service
WO2015005613A1 (en) Apparatus and method for providing vod content based on network load distribution
WO2022055198A1 (en) Method, system, and computer-readable recording medium for implementing fast switching mode between channels in multi-live transmission environment
WO2022050625A1 (en) Method, system, and computer-readable recording medium for implementing seamless transition mode between channels in live multi-transmission environment
WO2019172469A1 (en) Method and system for sharing streaming content in real time
WO2015130062A1 (en) Method for providing image data based on cloud streaming, apparatus and system therefor
WO2011160549A1 (en) Electronic program guide system and file downloading method

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: 18884923

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: 18884923

Country of ref document: EP

Kind code of ref document: A1