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

Method and system for delayed live broadcast Download PDF

Info

Publication number
KR20200002771A
KR20200002771A KR1020190179345A KR20190179345A KR20200002771A KR 20200002771 A KR20200002771 A KR 20200002771A KR 1020190179345 A KR1020190179345 A KR 1020190179345A KR 20190179345 A KR20190179345 A KR 20190179345A KR 20200002771 A KR20200002771 A KR 20200002771A
Authority
KR
South Korea
Prior art keywords
file information
live broadcast
file
live
start time
Prior art date
Application number
KR1020190179345A
Other languages
Korean (ko)
Other versions
KR102085072B1 (en
Inventor
오재원
윤병조
박기영
노혜성
양승관
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020190179345A priority Critical patent/KR102085072B1/en
Publication of KR20200002771A publication Critical patent/KR20200002771A/en
Application granted granted Critical
Publication of KR102085072B1 publication Critical patent/KR102085072B1/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
    • H04N21/23605Creation or processing of packetized elementary streams [PES]

Abstract

Disclosed are a delayed live broadcasting method capable of providing live broadcasting at a time point delayed from a start time point of the live broadcasting and a system thereof. According to one embodiment of the present invention, the delayed live broadcasting method comprises the steps of: managing live broadcasting start time and delayed live broadcasting start time with respect to broadcasting of a transmitter; accumulating file information for indicating a generated transmission segment file in first playback file information in the order of creation of the transmission segment file based on the live broadcasting start time with respect to the transmission segment file generated by encoding streaming data transmitted from a terminal of the transmitter; extracting the file information accumulated in the first playback file information in the order of creation of the transmission segment file based on the delayed live broadcasting start time to add the extracted file information to second playback file information; and providing a delayed live broadcasting service with respect to broadcasting of the transmitter by using the second playback file information, wherein the delayed live broadcasting start time is preset to a time after the live broadcasting start time.

Description

지연 생중계를 위한 방법 및 시스템{METHOD AND SYSTEM FOR DELAYED LIVE BROADCAST}METHOD AND SYSTEM FOR DELAYED LIVE BROADCAST}

아래의 설명은 지연 생중계를 위한 방법 및 시스템에 관한 것으로, 보다 자세하게는 송출자가 송출한 생방송이 지정된 시간만큼 딜레이된 이후부터 시청할 수 있도록 지연 생중계 서비스를 제공할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.The following description relates to a method and a system for delayed live broadcast. More specifically, a delayed live broadcast method and a delayed live broadcast system capable of providing a delayed live broadcast service for viewing after a broadcaster has transmitted a broadcast live for a specified time, And a computer program stored in a computer readable recording medium for executing the delayed live relay method in combination with a computer and the recording medium.

생중계는 실황을 동시적으로 중계 방송하는 일로서, 예를 들어, 한국공개특허 제10-2014-0115661호는 복수의 사용자 단말기에 양방향 현장 생중계 서비스를 제공하는 방법, 서버 및 시스템을 개시하고 있다.Live broadcasting is to broadcast a live broadcast simultaneously, for example, Korean Patent Laid-Open No. 10-2014-0115661 discloses a method, a server, and a system for providing an interactive live broadcast service to a plurality of user terminals.

또한, 누구나 방송국이 되어 영상을 송출할 수 있는 개인 방송 생중계 서비스와 같이, 방송의 송출을 원하는 다양한 송출자들과 송출자들의 생중계 방송들을 시청하고자 하는 다양한 시청자들을 중계하기 위한 생중계 서비스들이 존재한다.In addition, there are live broadcast services for relaying various broadcasters who want to broadcast broadcasts and various viewers who want to watch live broadcasts of broadcasters, such as a personal broadcast live broadcast service that allows anyone to broadcast a video.

그러나, 종래기술의 생중계 서비스들에서는 실시간으로 방송을 제공하거나 또는 방송이 종료된 이후 방송의 스트리밍 데이터를 이용하여 VOD 컨텐츠를 생성하여 서비스할 뿐이다. 예를 들어, 방송이 시작된 후에 중간부터 방송을 시청하는 시청자들은 그대로 방송의 중간 부분부터 시청할 수 밖에 없으며, 방송이 완료된 후에야 VOD 컨텐츠를 통해 방송을 처음부터 시청할 수 있게 된다. However, in the live broadcast services of the prior art, only broadcasts are provided in real time, or after the broadcast is terminated, only VOD contents are generated using the streaming data of the broadcast. For example, viewers who watch the broadcast from the middle after the broadcast starts cannot but watch the middle part of the broadcast as it is, and can watch the broadcast from the beginning through the VOD content only after the broadcast is completed.

라이브 방송을 시작 시점 이후의 지연된 시점에 생중계할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공한다.A delay live broadcast method and a delay live broadcast system capable of live broadcasting at a delayed time after the start of a live broadcast, and a computer program stored in a computer readable recording medium combined with a computer for executing the delay live broadcast method on a computer and the recording medium thereof. To provide.

송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하는 단계 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -; 상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하는 단계; 상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하는 단계; 및 상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 단계를 포함하는 지연 생중계 방법을 제공한다.Managing a live broadcast start time and a delay live broadcast start time for a broadcaster of the sender, wherein the delayed live broadcast start time is preset to a time after the live broadcast start time; The transmission segment file generated by encoding streaming data transmitted from the terminal of the sender based on the live relay start time, file information for indicating the generated transmission segment file according to the order in which the transmission segment file is generated. Accumulating on the first play file information; Extracting file information accumulated in the first play file information based on the delayed live relay start time and adding the second play file information to the second play file information in the order of generation of the transmission segment file; And providing a delayed live broadcast service for the broadcaster of the sender using the second play file information.

컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.In combination with a computer there is provided a computer program stored on a computer readable recording medium for causing the computer to execute the delay live broadcast method.

상기 지연 생중계 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.Provided is a computer-readable recording medium, in which a program for causing the computer to execute the delayed live relay method is recorded.

지연 생중계 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하고 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -, 상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하고, 상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하고, 상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 동작들이 수행되는 것을 특징으로 하는 지연 생중계 시스템을 제공한다.A delayed live system, comprising: at least one processor implemented to execute computer readable instructions, wherein the at least one processor manages a live live start time and a delayed live start time for the broadcaster of the sender; The delayed live start time is preset to a time after the live start time-for the transport segment file generated by encoding streaming data transmitted from the terminal of the sender based on the live start time, the generated transport segment File information for indicating a file is accumulated in the first playback file information according to the order in which the transmission segment file is generated, and the file information accumulated in the first playback file information is based on the delayed live start time. Extract files in the order in which 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 delay live broadcast method and a delay live broadcast system capable of live broadcasting at a delayed time after the start of a live broadcast, and a computer program stored in a computer readable recording medium combined with a computer for executing the delay live broadcast method on a computer and the recording medium thereof. Can be provided.

도 1은 본 발명의 일실시예에 따른 지연 생중계를 설명하기 위한 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 지연 생중계 방법의 예를 도시한 흐름도이다.
도 3는 본 발명의 일실시예에 따른 제1 재생파일정보 및 제2 재생파일정보의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 물리적 머신의 예를 도시한 블록도이다.
도 5는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 전체 구성의 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 라이브 스트리밍 팜의 구성의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 L4 스위치의 로드 밸런싱 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 인코더 서버 풀의 구성의 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 VOD 팜의 구성의 예를 도시한 도면이다.
도 10 내지 도 12는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 동작 방법의 예를 도시한 도면들이다.
1 is a diagram illustrating an example for explaining a delay live broadcast according to an embodiment of the present invention.
2 is a flowchart illustrating an example of a delay live broadcast method according to an embodiment of the present invention.
3 is a diagram illustrating an example of first play file information and second play file information according to an embodiment of the present invention.
4 is a block diagram illustrating an example of a physical machine according to an embodiment of the present invention.
5 is a view showing an example of the overall configuration of an open live broadcast platform according to an embodiment of the present invention.
6 is a diagram illustrating an example of a 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.
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.
10 to 12 are diagrams showing an example of a method of operating an open live broadcast platform according to an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary 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'이 되면, 송출자의 단말은 방송을 위한 스트리밍 데이터를 송출할 수 있다. 이러한 생중계 시작 시각은 송출자의 단말로부터 스트리밍 데이터가 송출되는 시각에 대응될 수 있다. 이와 유사하게 생중계 종료 시각은 송출자의 단말로부터 스트리밍 데이터의 송출이 종료되는 시각에 대응될 수 있다.1 is a diagram illustrating an example for explaining a delay live broadcast according to an embodiment of the present invention. In FIG. 1, the first arrow 110 indicates the live broadcast start time 'AM 10:00' for the broadcaster's broadcast, and the second arrow 120 indicates the live broadcast end time 'AM 11:00' for the broadcaster's broadcast, respectively. have. For example, when the live broadcast start time is 'AM 10:00', the sender's terminal may transmit streaming data for broadcasting. This live broadcast start time may correspond to the time at which streaming data is transmitted from the sender's terminal. Similarly, the live relay end time may correspond to the time at which the streaming data is transmitted from the sender's terminal.

이 경우, 생중계를 위한 시스템에서는 송출자의 단말로부터 송출되는 스트리밍 데이터를 수신하고, 수신된 스트리밍 데이터를 인코더를 통해 인코딩하여 전송 세그먼트 파일들을 생성할 수 있으며, 생성된 전송 세그먼트 파일들을 시청자들의 단말로 제공함으로써 생중계가 진행될 수 있다.In this case, the system for live broadcasting may receive the streaming data transmitted from the sender's terminal, generate the transmission segment files by encoding the received streaming data through the encoder, and provide the generated transmission segment files to the viewer's terminal. By doing so, the live broadcast can proceed.

한편, 도 1의 제3 화살표(130)는 송출자의 방송에 대한 지연 생중계 시작 시각 'AM 10:30'을, 제4 화살표(140)는 송출자의 방송에 대한 지연 생중계 종료 시각 'AM 11:30'을 각각 나타내고 있다. 이때, 지연 생중계 시작 시각은 생중계 시작 시각 이후의 시각으로 기설정될 수 있으며, 바람직하게는 생중계 시작 시각과 생중계 종료 시각 사이의 시각으로 기설정될 수 있다. 실시예에 따라 지연 생중계 시작 시각은 생중계 시작 시각으로부터 30분 후와 같이 상대적인 시각으로 설정될 수도 있다.Meanwhile, the third arrow 130 of FIG. 1 indicates the delayed live broadcast start time 'AM 10:30' for the broadcaster's broadcast, and the fourth arrow 140 indicates the delayed live broadcast end time 'AM 11:30' for the broadcaster's broadcast. 'Respectively. In this case, the delayed live broadcast start time may be preset to a time after the live broadcast start time, and preferably, a time between the live broadcast start time and the live broadcast end time. According to an embodiment, the delayed live broadcast start time may be set to a relative time such as 30 minutes after the live broadcast start time.

이 경우, 시청자들은 생중계 도중에 방송을 중간부터 시청하는 것이 아니라, 지연 생중계를 통해 방송이 시작된 일정 시간 이후에도 방송을 처음부터 시청하는 것이 가능해진다.In this case, the viewers can watch the broadcast from the beginning even after a predetermined time when the broadcast is started through the delayed live broadcast, instead of watching the broadcast from the middle during the live broadcast.

도 2는 본 발명의 일실시예에 따른 지연 생중계 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 지연 생중계 방법은 본 실시예에 따른 지연 생중계 시스템에 의해 수행될 수 있다. 지연 생중계 시스템은 적어도 하나의 물리적 머신으로 구현될 수 있으며, 적어도 하나의 물리적 머신이 포함하는 적어도 하나의 프로세서에 의해 도 2의 지연 생중계 방법이 포함하는 단계들(단계 201 내지 단계 211)에 대응하는 동작들이 수행될 수 있다.2 is a flowchart illustrating an example of a delay live broadcast method according to an embodiment of the present invention. The delayed live relay method according to the present embodiment may be performed by the delayed live relay system according to the present embodiment. The delayed live system may be implemented as at least one physical machine, and corresponds to the steps (steps 201 to 211) included in the delayed live method of FIG. 2 by at least one processor included in the at least one physical machine. Operations may be performed.

단계(201)에서 지연 생중계 시스템은 송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리할 수 있다. 이러한 생중계 시작 시각과 지연 생중계 시작 시각에 대해서는 도 1을 통해 자세히 설명한 바 있다. 지연 생중계 시작 시각이 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 경우를 위해 지연 생중계 시스템은 단계(201)에서 송출자의 방송에 대한 생중계 종료 시각을 더 관리할 수도 있다.In step 201, the delayed live broadcast system may manage a live broadcast start time and a delayed live broadcast start time for the broadcaster. Such live broadcast start time and delayed live broadcast start time have been described in detail with reference to FIG. 1. For a case where the delayed live broadcast start time is preset as a time between the live broadcast start time and the live broadcast end time, the delayed live broadcast system may further manage the live broadcast end time for the broadcaster in step 201.

단계(202)에서 지연 생중계 시스템은 생중계의 시작 여부를 확인할 수 있다. 앞서 설명한 바와 같이, 생중계 시작 시각은 송출자의 단말로부터 스트리밍 데이터가 송출되는 시각에 대응될 수 있으며, 따라서 생중계의 시작은 생중계 시작 시각을 통해 확인될 수도 있으나, 실질적으로 송출자로부터 방송에 대한 스트리밍 데이터가 송출되는지 여부를 통해 확인될 수도 있다. 생중계가 시작된 경우 단계(203)이 수행될 수 있으며, 생중계가 시작되지 않은 경우 지연 생중계 시스템은 생중계가 시작될 때까지 대기할 수 있다. In step 202, the delayed live system may determine whether live broadcasts have begun. As described above, the live broadcast start time may correspond to the time at which streaming data is transmitted from the sender's terminal. Therefore, the start of live broadcast may be confirmed through the live broadcast start time, but the streaming data for the broadcast from the sender is substantially. It may be confirmed by whether or not is sent out. Step 203 may be performed if live broadcast has been initiated, and if no live broadcast has been initiated the delayed live relay system may wait until the live broadcast has begun.

단계(203)에서 지연 생중계 시스템은 생중계 시작 시각에 기반하여 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 전송 세그먼트 파일을 생성할 수 있다. 스트리밍 데이터의 인코딩은 인코더를 통해 이루어질 수 있으며, 일례로 HLS(HTTP Live Streaming) 알고리즘을 이용하여 스트리밍 데이터를 인코딩하는 경우, TS(Transport Stream) 포맷을 위한 파일들이 전송 세그먼트 파일로서 생성될 수 있다. 실시예에 따라 지연 생중계 시스템이 인코더를 포함하지 않는 경우, 지연 생중계 시스템은 별도의 인코더를 통해 인코딩되어 생성된 전송 세그먼트 파일들을 수신할 수 있으며 단계(203)은 생략될 수 있다.In step 203, the delayed live relay system may generate a transmission segment file by encoding streaming data transmitted from the sender's terminal based on the live relay start time. Encoding of the streaming data may be performed through an encoder. For example, when encoding streaming data using an HLS (HTTP Live Streaming) algorithm, files for a transport stream (TS) format may be generated as a transport segment file. In some embodiments, if the delayed live system does not include an encoder, the delayed live system may receive transport segment files generated by encoding through 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 relay system may update the live file reproduction file information to include file information for indicating the N or less transmission segment files most recently generated. For example, suppose N is three. In this case, when the first transmission segment file is generated, the delayed live relay system may generate the live file for reproduction, and add the first file information of the first transmission segment file to the live file for reproduction. Thereafter, when the second transmission segment file is generated, the delayed live relay system may add second file information of the second transmission segment file to the live file reproduction file information. Thereafter, when the third transmission segment file is generated, the delayed live relay system may add third file information of the third transmission segment file to the live file reproduction file information. Subsequently, when the fourth transmission segment file is generated, the delayed live relay system must include three or less file information of the most recently generated reproduction file information for the live broadcast. The fourth file information can be added to the live file reproduction file information. If the fifth transmission segment file is generated, it will be readily understood that the delayed live relay system may add the fifth file information of the fifth transmission segment file to the live file reproduction file information except for the second file information.

단계(205)에서 지연 생중계 시스템은 생중계용 재생파일정보를 이용하여 송출자의 방송에 대한 생중계 서비스를 제공할 수 있다. 예를 들어, 앞서 설명한 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함할 수 있다. 일례로 HLS(HTTP Live Streaming) 알고리즘을 이용하여 스트리밍 데이터를 인코딩하는 경우, 생중계용 재생파일정보는 m3u8 확장자의 파일로 구현될 수 있다.In step 205, the delayed live relay system may provide a live broadcast service for a broadcaster using a live broadcast play file information. For example, the file information described above may include address information for accessing a corresponding transport segment file through a network. For example, when streaming data is encoded using an HTTP Live Streaming (HLS) algorithm, the live file reproduction information may be implemented as a file having an m3u8 extension.

생중계용 재생파일정보는 가장 최근의 N개 이하의 전송 세그먼트 파일들에 대한 주소정보들을 포함할 수 있다. 이러한 생중계용 재생파일정보는 시청자의 단말로 제공될 수 있으며, 시청자의 단말에 설치 및 구동된 플레이어는 생중계용 재생파일정보가 포함하는 파일정보의 주소정보를 통해 가장 최근의 N개 이하의 전송 세그먼트 파일들을 다운로드 받도록 시청자의 단말을 제어할 수 있다. 이때, 플레이어는 다운로드되는 전송 세그먼트 파일들을 재생하여 송출자의 방송을 실시간으로 재생할 수 있게 된다.The live-playback file information may include address information of the most recent N transmission segment files or less. Such live broadcast play file information may be provided to a viewer's terminal, and a player installed and driven in the viewer's terminal may transmit or receive the most recent N or less transmission segments through address information of file information included in the live broadcast play file information. The viewer's terminal may be controlled to download the files. At this time, the player can play the broadcaster's broadcast in real time by playing the downloaded transmission segment files.

이미 설명한 바와 같이 전송 세그먼트 파일들이 생성될수록 생중계용 재생파일정보도 갱신될 수 있으며, 시청자의 단말에서 구동된 플레이어는 지속적으로 갱신되는 재생파일정보를 수신하고, 이전에 수신된 재생파일정보와 비교함으로써, 추가로 더 다운로드 받아야 할 전송 세그먼트 파일들을 식별할 수 있게 된다.As described above, as the transmission segment files are generated, the play file information for live broadcasting can be updated, and the player driven in the viewer's terminal receives the play file information continuously updated and compares it with the previously received play file information. In addition, it will be possible to identify transport segment files to be downloaded further.

이러한 단계(204) 및 단계(205)는 생중계 서비스를 위한 동작들로 실시예에 따라 지연 생중계 방법에서는 생략될 수도 있다.These steps 204 and 205 may be omitted in the delayed live method according to an embodiment as operations for a live broadcast service.

단계(206)에서 지연 생중계 시스템은 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 전송 세그먼트 파일이 생성된 순서에 따라 누적용 재생파일정보에 누적할 수 있다. 생중계의 특성상 일반적인 생중계 서비스에서는 이미 시청자들에게 제공된 방송 부분을 위한 전송 세그먼트 파일들의 파일정보들을 저장하지 않는다. 예를 들어, 전송 세그먼트 파일들은 생중계 서비스를 위해 어딘가에 저장되어 있더라도 이러한 전송 세그먼트 파일들의 순서와 주소정보를 제공하기 위한 별도의 재생파일정보는 생성되지 않는다. 본 실시예에서는 지연 생중계 서비스 및/또는 이후 설명될 생중계에 대한 타임머신 서비스를 제공하기 위해 송출자의 방송에 대한 전송 세그먼트 파일들의 파일정보들을 누적용 재생파일정보에 누적하여 저장할 수 있다.In step 206, the delayed live relay system may accumulate file information for indicating the generated transmission segment file in the accumulated playback file information according to the order in which the transmission segment file is generated. Due to the nature of live broadcasting, a general live broadcasting service does not store file information of transmission segment files for a broadcast portion already provided to viewers. For example, even if the transport segment files are stored somewhere for the live broadcast service, no separate play file information for providing the order and address information of the transport segment files is generated. In this embodiment, in order to provide a delay live broadcast service and / or a time machine service for live broadcast, which will be described later, file information of transmission segment files for a broadcaster's broadcast may be accumulated and stored in cumulative playback file information.

단계(207)에서 지연 생중계 시스템은 지연 생중계의 시작 여부를 확인할 수 있다. 일례로, 지연 생중계 시스템은 지연 생중계 시작 시각이 되었는지 여부를 확인할 수 있다. 지연 생중계 시작 시각이 되면 지연 생중계 시스템은 단계(208)을 수행할 수 있다. 반면, 지연 생중계 시작 시각이 되지 않았더라도 아직 생중계가 진행 중일 수 있기 때문에 지연 생중계가 시작되지 않은 경우 지연 생중계 시스템은 단계(203)을 다시 수행할 수 있다.In step 207, the delayed live system may check whether the delayed live broadcast is started. For example, the delayed live system may check whether the delayed live start time is reached. When the delayed live start time is reached, the delayed live system may perform step 208. On the other hand, even if the delayed live start time has not been reached, the live broadcast is still in progress, so if the delayed live broadcast is not started, the delayed live relay system may perform step 203 again.

단계(208)에서 지연 생중계 시스템은 누적용 재생파일정보에 누적된 파일정보를 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 지연 생중계용 재생파일정보에 추가할 수 있다. 예를 들어, 지연 생중계 시스템은 누적용 재생파일정보에 누적된 순서대로 파일정보를 주기적으로 추출하여 지연 생중계용 재생파일정보에 추가할 수 있다.In step 208, the delayed live system may extract the file information accumulated in the accumulated play file information according to the order in which the transmission segment file is generated and add the delayed live file to the delayed live file information. For example, the delayed live broadcast system may periodically extract the file information in the order accumulated in the accumulated play file information and add it to the delayed live play file information.

단계(209)에서 지연 생중계 시스템은 지연 생중계용 재생파일정보를 이용하여 송출자의 방송에 대한 지연 생중계 서비스를 제공할 수 있다. 예를 들어, 지연 생중계 시스템은 지연 생중계 서비스를 요청하는 시청자의 단말로 지연 생중계용 재생파일정보를 전송할 수 있다. 시청자의 단말에 설치 및 구동된 플레이어는 이러한 지연 생중계용 재생파일정보가 포함하는 파일정보를 통해 송출자의 방송을 시작부터 지연 생중계하기 위한 전송 세그먼트 파일들을 순차적으로 다운로드할 수 있게 된다. 지연 생중계용 재생파일정보에는 주기적으로 전송 세그먼트 파일의 파일정보가 추가되기 때문에 플레이어 역시 주기적으로 지연 생중계 시스템으로부터 지연 생중계용 재생파일정보를 수신하여 이전에 수신된 지연 생중계용 재생파일정보와 비교함으로써 다운로드해야 할(추가된) 전송 세그먼트 파일을 식별할 수 있게 된다. 따라서 시청자는 송출자의 방송의 시작 시점으로부터 일정 시간이 지난 후에도 처음부터 방송을 시청하는 것이 가능해진다.In step 209, the delayed live relay system may provide a delayed live broadcast service for the broadcaster using the delayed live broadcast play file information. For example, the delayed live broadcast system may transmit delayed live broadcast play file information to a terminal of a viewer requesting a delayed live broadcast service. The player installed and driven in the viewer's terminal can sequentially download the transmission segment files for delayed live broadcast from the start of the broadcaster through the file information included in the delayed live broadcast play file information. Since the file information of the transmission segment file is periodically added to the delayed live file information, the player also periodically receives the delayed live file information from the delayed live system and compares it with the previously received delayed live file information. This will allow you to identify the transport segment file to be (added). Therefore, the viewer can watch the broadcast from the beginning even after a certain time has elapsed from the start point of the broadcaster.

단계(210)에서 지연 생중계 시스템은 생중계의 종료 여부를 확인할 수 있다. 앞서 설명한 바와 같이, 생중계 종료 시각은 송출자의 단말로부터 스트리밍 데이터의 송출이 종료되는 시각에 대응될 수 있으며, 따라서 생중계의 종료는 생중계 종료 시각을 통해 확인될 수도 있으나, 실질적으로 송출자로부터 방송에 대한 스트리밍 데이터의 송출이 종료되는지 여부를 통해 확인될 수도 있다. 생중계가 종료된 경우 단계(211)이 수행될 수 있으며, 생중계가 종료되지 않은 경우 지연 생중계 시스템은 단계(203)을 수행하여 지속적으로 생중계 서비스와 지연 생중계 서비스를 제공할 수 있다.In step 210, the delayed live system may check whether the live broadcast is terminated. As described above, the live broadcast end time may correspond to the time at which the streaming data is transmitted from the sender's terminal. Therefore, the end of the live broadcast may be confirmed through the live broadcast end time. It may also be checked whether or not the transmission of the streaming data is terminated. If the live broadcast is terminated, step 211 may be performed. If the live broadcast is not terminated, the delayed live system may perform step 203 to continuously provide a live broadcast service and a delayed live broadcast service.

단계(211)에서 지연 생중계 시스템은 지연 생중계의 종료 여부를 확인할 수 있다. 단계(210)에서 생중계가 종료된 경우에도 지연 생중계는 지속될 수 있기 때문에 지연 생중계 시스템은 지연 생중계 종료 시각에 기반하여 지연 생중계의 종료 여부를 확인할 수 있다. 만약, 지연 생중계가 아직 종료되지 않은 경우, 지연 생중계 시스템은 단계(208)을 수행함으로써, 지속적으로 지연 생중계 서비스를 제공할 수 있다. 지연 생중계가 종료되는 경우에는 지연 생중계 방법은 종료될 수 있다.In step 211, the delayed live system may check whether the delayed live broadcast is terminated. Since the delayed live broadcast can be continued even when the live broadcast is terminated in step 210, the delayed live broadcast system may check whether the delayed live broadcast is terminated based on the delayed live broadcast end time. If the delayed live broadcast is not yet finished, the delayed live broadcast system may continuously provide a delayed live broadcast service by performing step 208. When the delay live broadcast is terminated, the delay live broadcast 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 diagram illustrating examples of cumulative play file information and delayed live play file information according to an embodiment of the present invention. 3 illustrates an example of a process in which file information managed through cumulative playback file information 310 and delayed live playback file information 320 changes with time. For example, the file information "AAAstore_10_00_0.ts" may mean the first ('0') transmission segment file generated at '10' hour '00' minutes stored in 'AAAstore'. In this case, the file information "AAAstore_10_00_0.ts" itself may be a file name of a corresponding transport segment file. The address information of the corresponding transport segment file may be obtained by, for example, adding "/AAAstore_10_00_0.ts" to the end of the preset address.

이때, 지연 생중계 시작 시간이 10시 30분이라 가정하자. 지연 생중계 시스템은 제1 점선박스(331)를 통해 표시된 첫 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제2 점선박스(332)는 이러한 첫 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.In this case, assume that the delayed live start time is 10:30. The delayed live system may extract the file information of the first transmission segment file displayed through the first dotted line box 331 from the accumulated play file information 310 and add it to the delayed live play file information 320. The second dotted line box 332 shows a state in which the file information of the first transmission segment file is added to the delayed live play file information 320.

단위 시간(일례로, 3분)이 지난 후, 제3 점선박스(341)는 10시 33분에 생성된 전송 세그먼트 파일의 파일정보가 누적용 재생파일정보(310)에 누적된 모습을 나타내고 있다. 이 경우, 지연 생중계 시스템은 제4 점선박스(342)를 통해 표시된 두 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제5 점선박스(343)는 이러한 두 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.After the unit time (for example, three minutes) has elapsed, the third dotted line box 341 shows the file information of the transmission segment file generated at 10:33 accumulated in the accumulated playback file information 310. . In this case, the delayed live system may extract the file information of the second transmission segment file displayed through the fourth dotted box 342 from the accumulated play file information 310 and add it to the delayed live play file information 320. have. The fifth dotted line box 343 shows a state in which the file information of the second transmission segment file is added to the delayed live play file information 320.

다시 단위 시간이 지난 후, 제6 점선박스(351)는 10시 36분에 생성된 전송 세그먼트 파일의 파일정보가 누적용 재생파일정보(310)에 누적된 모습을 나타내고 있다. 이 경우, 지연 생중계 시스템은 제7 점선박스(352)를 통해 표시된 세 번째 전송 세그먼트 파일의 파일정보를 누적용 재생파일정보(310)로부터 추출하여 지연 생중계용 재생파일정보(320)에 추가할 수 있다. 제8 점선박스(353)는 이러한 세 번째 전송 세그먼트 파일의 파일정보가 지연 생중계용 재생파일정보(320)에 추가된 모습을 나타내고 있다.After the unit time has elapsed again, the sixth dotted line box 351 shows the file information of the transmission segment file generated at 10:36 accumulated in the accumulated play file information 310. In this case, the delayed live system may extract the file information of the third transmission segment file displayed through the seventh dotted line box 352 from the accumulated play file information 310 and add it to the delayed live play file information 320. have. The eighth dotted line box 353 shows that the file information of the third transmission segment file has been added to the delayed live play 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 a reproduction time of one transport segment file. Also, similarly to the live file reproduction file information including file information for indicating the N or less transmission segment files most recently generated, the delayed file reproduction file information 320 may be the most recent. The file information may be updated to maintain file information of M added or less (where M is a natural number). For example, if M is 3, the file information of the transmission segment file generated at 10:39 is added to the delayed live file information 320 and the file information of the first transmission segment file (second dotted line box ( 332) may be removed from the delayed live file play file information 320. In the case of providing the delayed live play file information 320 accumulated with the file information, there is an advantage in that it can provide a time machine function, and the delayed live play file information 320 is updated to maintain M or less file information. In the case of providing, the capacity of the delayed live play file information 320 and the cost required for comparing the file information can be reduced.

시청자는 이러한 지연 생중계용 재생파일정보를 통해 지연 생중계를 위한 전송 세그먼트 파일들을 순차적으로 다운로드 받아 재생함으로써, 송출자의 방송이 일정한 시간(본 실시예에서는 30분) 지연된 상태로 처음부터 지연 생중계 서비스를 제공받을 수 있게 된다.The viewer sequentially downloads and plays the transmission segment files for delayed live broadcast through the delayed live file information, thereby providing a delayed live broadcast service from the beginning with the broadcaster delayed for a predetermined time (30 minutes in this embodiment). I can receive it.

도 4는 본 발명의 일실시예에 따른 물리적 머신의 예를 도시한 블록도이다. 본 실시예에 따른 물리적 머신은 도 4를 통해 도시된 컴퓨터 장치(400)에 의해 구현될 수 있으며, 일실시예에 따른 지연 생중계 방법은 이러한 컴퓨터 장치(400)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(400)에는 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치(400)는 구동된 컴퓨터 프로그램의 제어에 따라 지연 생중계 방법을 수행할 수 있다.4 is a block diagram illustrating an example of a physical machine according to an 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 delay live broadcast method according to the embodiment may be performed by the computer device 400. For example, a computer program according to an embodiment may be installed and run on the computer device 400, and the computer device 400 may perform a delayed live relay method under the control of the driven computer program.

이러한 컴퓨터 장치(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)에 로딩될 수 있다.As illustrated in FIG. 4, the computer device 400 may include a memory 410, a processor 420, a communication interface 430, and an input / output interface 440. The memory 410 is a computer-readable recording medium. The memory 410 may include a permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. In this case, the non-volatile mass storage device such as a ROM and a disk drive may be included in the computer device 400 as a separate permanent 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 separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, memory card, and the like. In other embodiments, the software components may be loaded into the memory 410 via the communication interface 430 rather than the computer readable recording medium. For example, software components may be loaded into memory 410 of computer device 400 based on a computer program installed by files received via 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 input / output operations. The instructions may be provided to the processor 420 by the memory 410 or the communication interface 430. For example, the processor 420 may be configured to execute a command received according to 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 a function for the computer device 400 to communicate with other devices (eg, storage devices described above) via the network 460. For example, a request, a command, data, a file, etc. generated by the processor 420 of the computer device 400 according to a program code stored in a recording device such as the memory 410 may be controlled according to the control of the communication interface 430. 460 may be passed to other devices. Conversely, signals, commands, data, files, and the like from other devices may be received by the computer device 400 via the network 460 via the communication interface 430 of the computer device 400. Signals, commands, data, and the like received through the communication interface 430 may be transmitted to the processor 420 or the memory 410, and the files and the like may be further included in the storage medium that the computer device 400 may further include. Persistent 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 the output device may include a device such as a display or a speaker. As another example, the input / output interface 440 may be a means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen. The input / output device 450 may be configured with the computer device 400 and one device.

또한, 다른 실시예들에서 컴퓨터 장치(400)는 도 4의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(400)는 상술한 입출력 장치(450) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, computer device 400 may include fewer or more components than the components of FIG. 4. However, it is not necessary to clearly show most of the 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, a database, and the like.

실시예에 따라 지연 생중계 방법은 복수의 컴퓨터 장치들의 결합을 통해 수행될 수도 있다. 이하에서는 지연 생중계 방법을 수행하는 지연 생중계 시스템의 일례로서 구현될 수 있는 오픈형 생중계 플랫폼의 구조를 설명한다.In some embodiments, the delay live broadcast method may be performed through a combination of a plurality of computer devices. Hereinafter, the structure of an open live broadcast platform that can be implemented as an example of a delay live broadcast system performing a delay live broadcast method will be described.

도 5는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 전체 구성의 예를 도시한 도면이고, 도 6은 본 발명의 일실시예에 따른 라이브 스트리밍 팜의 구성의 예를 도시한 도면이며, 도 7은 본 발명의 일실시예에 따른 L4 스위치의 로드 밸런싱 예를 도시한 도면이고, 도 8은 본 발명의 일실시예에 따른 인코더 서버 풀의 구성의 예를 도시한 도면이다. 또한, 도 9는 본 발명의 일실시예에 따른 VOD 팜의 구성의 예를 도시한 도면이다.5 is a view showing an example of the overall configuration of an open live broadcast platform according to an embodiment of the present invention, Figure 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)을 포함할 수 있다.As shown in FIG. 5, the open live broadcast platform 500 according to the present embodiment includes a live streaming farm 510, a coordinator 520, and a 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 streaming data transmitted from the sender 540 and relay the stream data to the viewer 550. To this end, as shown in FIG. 6, the live streaming farm 510 includes a first L4 switch 610, a publishing point server pool 620, an encoder server pool 630, The server may include a distributed file system 640, a proxy server pool 650, and a second L4 switch 660. In FIG. 5, one sender 540 and one viewer 550 are illustrated, but the sender 540 and the viewer 550 may mean a plurality of senders and a plurality of viewers. May mean a terminal of a sender for transmitting a broadcast and a terminal of a viewer receiving a broadcast.

제1 L4 스위치(610)는 도 7에 도시된 바와 같이, 퍼블리싱 포인트 서버 풀(620)에 포함되는 복수의 퍼블리싱 포인트 서버들(710)의 로드 밸런싱을 위해 이용될 수 있다. 예를 들어, 제1 L4 스위치(610)는 송출자(540)로부터 송출되는 스트리밍 데이터를 복수의 퍼블리싱 포인트 서버들(710) 중 어느 퍼블리싱 포인트 서버로 전달할 것인가를 결정할 수 있다.As illustrated in FIG. 7, the first L4 switch 610 may be used for load balancing of a plurality of publishing point servers 710 included in the publishing point server pool 620. For example, the first L4 switch 610 may determine which publishing point server of the plurality of publishing point servers 710 delivers streaming data transmitted from the sender 540.

퍼블리싱 포인트 서버 풀(620)은 도 7을 통해 설명한 바와 같이, 복수의 퍼블리싱 포인트 서버들(710)의 풀(pool)로서 퍼블리싱 포인트 서버 각각은 제1 L4 스위치(610)를 통해 전달되는 송출자(140)들의 송출 요청을 처리하고, 인코더 서버 풀(630)이 포함하는 인코더 서버에게 스트리밍 데이터를 전달할 수 있다. 이때, 하나의 퍼블리싱 포인트 서버가 다수의 송출 요청을 처리할 수 있다. 또한, 하나의 퍼블리싱 포인트 서버는 하나의 물리적인 머신으로 구현될 수도 있지만, 하나의 물리적인 머신상에 다수의 퍼블리싱 포인트 서버들이 구현될 수도 있다. 예를 들어, 세 개의 물리적인 머신에 각각 세 개의 퍼블리싱 포인트 서버들이 포함되도록 구현되는 경우, 총 9 개의 퍼블리싱 포인트 서버들이 퍼블리싱 포인트 서버 풀(620)에 포함될 수 있다. 도 3에서는 퍼블리싱 포인트 서버 풀(620)이 세 개의 퍼블리싱 포인트 서버를 포함하는 예를 나타내고 있으나, 퍼블리싱 포인트 서버는 필요에 따라 자유롭게 퍼블리싱 포인트 서버 풀(620)에 추가되거나 또는 퍼블리싱 포인트 서버 풀(620)에서 제외될 수 있다.As described with reference to FIG. 7, the publishing point server pool 620 is a pool of the plurality of publishing point servers 710, and each publishing point server is transmitted through the first L4 switch 610. The transmission request of the 140 may be processed, and streaming data may be delivered to an encoder server included in the encoder server pool 630. At this time, one publishing point server may process a plurality of transmission requests. In addition, 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, when the three physical machines are implemented to include three publishing point servers, a total of nine publishing point servers may be included in the publishing point server pool 620. Although FIG. 3 shows an example in which the publishing point server pool 620 includes three publishing point servers, the publishing point server may be freely added to the publishing point server pool 620 or the publishing point server pool 620 as needed. May be excluded.

인코더 서버 풀(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. Although the plurality of encoder servers 810 shows an example including three encoder servers as shown in FIG. 8, the encoder server may be freely added to the encoder server pool 630 or the encoder server pool 630 as necessary. ) May be excluded. 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 implemented to include four encoder servers each, a total of 12 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 to be described later may be implemented in the form of individual physical machines, or may be implemented in the form of a plurality of servers included on 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 illustrates 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 streaming data received from the publishing point server into a preset profile. For example, when providing a live broadcast to the viewer 550 using an HTTP Live Streaming (HLS) algorithm, the encoder server may generate a TS file by encoding streaming data received from the publishing point server. 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 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 illustrated in FIG. 9. can do. In addition, the uploader stores playback file information (for example, information on what media and how to play them) according to each service type as TS files generated, and m3u8 files in the HLS (HTTP Live Streaming) algorithm. It may be generated and uploaded 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 (eg, m3u8 file for time machine) for providing a time machine function, playback file information (eg, m3u8 file for live broadcast) for live broadcasting, and / or VOD broadcasting. May include playback file information (for example, m3u8 file for VOD).

이때, 타임머신 기능을 제공하기 위한 재생파일정보가 지연 생중계 서비스를 제공하기 위한 누적용 재생파일정보에 대응할 수 있다. 이미 설명한 바와 같이 지연 생중계용 재생파일정보는 지연 생중계의 시작 이후에 누적용 재생파일정보로부터 파일정보를 추출하여 생성 및 갱신될 수 있다.In this case, the playback file information for providing the time machine function may correspond to the accumulated playback file information for providing the delay live broadcast service. As described above, the delayed live broadcast play file information may be generated and updated by extracting file information from the accumulated play file information after the start of delayed live broadcast.

분산 파일 시스템(640)은 시청자(550)에게 스트리밍하기 위해 인코딩된 파일들(일례로, TS 파일들)과 재생파일정보들(일례로, m3u8 파일들)을 저장하고 제공할 수 있다.The distributed file system 640 may store and provide encoded files (eg, TS files) and playback file information (eg, m3u8 files) for streaming 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 it to the distributed file system 640. can do. In this case, the distributed file system 640 advances the stored files (encoded files (e.g., TS files) and playback file information (e.g., m3u8 files)) according to the external streaming request delivered. By providing through the selected proxy server, a live broadcast service can be provided to the viewer 550. The play file information for the delayed live broadcast may also be provided to viewers requesting the delayed live broadcast service in a similar manner.

코디네이터(520)는 오픈형 생중계 플랫폼(500)이 포함하는 서버들의 상태를 관리하고, 인코더 서버를 할당하며, 현재 송출 중인 채널의 정보 등 오픈형 생중계 플랫폼(500)의 전반적인 상태 및 설정들을 관리할 수 있다. 예를 들어, 오픈형 생중계 플랫폼(500)이 포함하는 서버들은 실행 시 코디네이터(520)에 자신을 등록하는 과정을 거칠 수 있으며, 코디네이터(520)는 등록된 서버들을 관리할 수 있다. 또한, 코디네이터(520)는 퍼블리싱 포인트 서버의 요청에 따라 인코더 서버를 할당할 수 있다. 이러한 코디네이터(520)는 일례로, 분산 환경에서 노드 간의 정보 공유, 락(Lock), 이벤트 등 보조 기능을 제공하는 프레임워크인 주키퍼(Zookeeper) 시스템을 이용하여 구현될 수 있다.The coordinator 520 may manage the state of the servers included in the open live platform 500, allocate an encoder server, and manage the overall state and settings of the open live platform 500, such as information on a channel currently being transmitted. . For example, the servers included in the open live platform 500 may undergo a process of registering themselves with the coordinator 520 when executed, and the coordinator 520 may manage registered servers. In addition, the coordinator 520 may allocate the encoder server according to the request of the publishing point server. The coordinator 520 may be implemented using, for example, a Zookeeper system, which is a framework that provides auxiliary functions such as information sharing, locks, and events among nodes in a distributed environment.

VOD 팜(530)은 생중계 영상의 VOD 파일을 생성 및 저장하고 VOD 서비스를 제공하는 기능을 담당할 수 있으며, 도 9에 도시된 바와 같이, VOD 생성 풀(910), 분산 파일 시스템(920), 프록시 서버 풀(930) 및 제3 L4 스위치(940)를 포함할 수 있다.The VOD farm 530 may be responsible for generating and storing a VOD file of a live broadcast image and providing a VOD service. As shown in FIG. 9, the VOD farm 530, the distributed file system 920, It may include 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 생성 서버를 포함할 수 있다.When the VOD generation pool 910 receives a VOD file generation request, the VOD generation pool 910 may download encoded files (eg, TS files) from the distributed file system 920 and generate a VOD file (eg, an MP4 file). have. In addition, the VOD generation pool 910 may upload the generated VOD file to the distributed file system 920 again. 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 encoded files for the VOD file and a 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 one proxy server among a plurality of proxy servers included in the proxy server pool 930 and transmit the 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 may provide the requested VOD file to the outside through a proxy server.

도 10 내지 도 12는 본 발명의 일실시예에 따른 오픈형 생중계 플랫폼의 동작 방법의 예를 도시한 도면들이다.10 to 12 are diagrams showing an example of a method of operating an open live broadcast platform according to an embodiment of the present invention.

도 10은 라이브 스트리밍을 위한 전체 과정들(과정(1-1) 내지 과정(1-10)) 중 과정(1-1) 내지 과정(1-6)을 도시하고 있다.FIG. 10 illustrates steps 1-1 to 1-6 of the entire processes (steps 1-1 to 1-10) for live streaming.

과정(1-1)은 송출자(540)가 제1 L4스위치(610)로 스트리밍 데이터를 송출하는 과정의 예일 수 있다.Process 1-1 may be an example of a process in which the sender 540 transmits streaming data to the first L4 switch 610.

과정(1-2)은 제1 L4 스위치(610)가 퍼블리싱 포인트 서버 풀(620)에 포함된 임의의 퍼블리싱 포인트 서버(1010)를 선택하고, 선택된 퍼블리싱 포인트 서버(1010)로 송출 요청을 전달하는 과정의 예일 수 있다.The process (1-2) is performed by the first L4 switch 610 to select any publishing point server 1010 included in the publishing point server pool 620, and forwards the transmission request to the selected publishing point server 1010. It may 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)로 전달하는 과정의 예일 수 있다.Steps 1-4 include that the coordinator 520 selects any encoder server 1020 to be used for streaming in the encoder server pool 630, and the information about the publishing point server 1010 with the streaming start event is selected. This may be an example of a process of transferring to the server 1020.

과정(1-5)은 코디네이터(520)에 의해 선택된 인코더 서버(1020)가 퍼블리싱 포인트 서버(1010)에 접속하여 스트리밍 데이터를 전달받고, 전달받은 스트리밍 데이터를 기 설정된 프로파일로 인코딩하는 과정의 예일 수 있다.Process (1-5) may be 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 encode the received streaming data into a preset profile. have.

과정(1-6)은 인코더 서버(1020)가 인코딩된 데이터(일례로, 인코딩에 따라 생성된 TS 파일들)를 지정된 경로(일례로, 도 10의 임시저장소(1030))에 저장하는 과정의 예일 수 있다.Processes 1-6 may be performed by the encoder server 1020 storing encoded data (eg, TS files generated according to encoding) in a designated path (eg, temporary storage 1030 of FIG. 10). It may be an example.

도 11은 라이브 스트리밍을 위한 전체 과정들(과정(1-1) 내지 과정(1-10)) 중 과정(1-7) 내지 과정(1-10)을 도시하고 있다. 과정(1-6)과 과정(1-7)은 도 10 및 도 11에 도시된 (A)를 통해 연결될 수 있다.FIG. 11 illustrates steps 1-7 to 1-10 of the entire processes (steps 1-1 to 1-10) for live streaming. Processes 1-6 and 1-7 may be connected via (A) shown in FIGS. 10 and 11.

과정(1-7)은 업로더(1110)가 도 10에 도시된 임시저장소(1030)로부터 인코딩된 데이터(TS 파일들)를 획득하고, 인코딩된 데이터에 대응하는 재생파일정보(일례로, m3u8 파일들)을 생성하는 과정의 예일 수 있다. 예를 들어, 앞서 설명한 생중계용 재생파일정보, 누적용 재생파일정보 및 지연 생중계용 재생파일정보가 생성될 수 있다. 이미 설명한 바와 같이 업로더(1110)는 인코더 서버(1020)와 하나의 쌍을 이룰 수 있다.In steps 1-7, the uploader 1110 obtains encoded data (TS files) from the temporary storage 1030 shown in FIG. 10, and reproduces file information (for example, m3u8) corresponding to the encoded data. Files). For example, the above-described live broadcast play file information, cumulative play file information, and delayed live play file information may be generated. As described above, the uploader 1110 may be paired with the encoder server 1020.

과정(1-8)은 업로더(1110)가 인코딩된 데이터를 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)과 VOD 팜(530)의 분산 파일 시스템(920)에 각각 업로드하고, 생성된 재생파일정보를 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)에 업로드하는 과정의 예일 수 있다. 이러한 업로드의 과정은 각각의 상황에 따라 생중계용 재생파일정보, 누적용 재생파일정보 및 지연 생중계용 재생파일정보에 전송 세그먼트 파일들을 갱신/누적하는 과정일 수 있다. 이때, 인코딩된 데이터를 VOD 팜(530)의 분산 파일 시스템(920)에 업로드하는 과정은 도 11 및 도 12에 도시된 (C)를 통해 연결될 수 있다.Processes 1-8 upload the uploader 1110 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. The playback file information may be an example of a process of uploading the distributed file system 640 of the live streaming farm 510. The uploading process may be a process of updating / accumulating transmission segment files in live broadcast play file information, cumulative play file information, and delayed live play file information according to respective situations. In this case, uploading the encoded data to the distributed file system 920 of the VOD farm 530 may be connected through (C) illustrated in FIGS. 11 and 12.

과정(1-9)은 프록시 서버 풀(650)에 포함된 프록시 서버들 중 선택된 하나인 프록시 서버(1120)가 라이브 스트리밍 팜(510)의 분산 파일 시스템(640)으로부터 인코딩된 데이터와 재생파일정보를 요청하여 전달받는 과정의 예일 수 있다.Steps 1-9 include data encoded and reproduced from the distributed file system 640 of the live streaming farm 510 by the proxy server 1120, which is one of the proxy servers included in the proxy server pool 650. This may be an example of a process of requesting and receiving.

과정(1-10)은 프록시 서버(1120)가 전달받은 인코딩된 데이터와 재생파일정보를 시청자(550)에게 전달하여 라이브 스트리밍을 진행하는 과정의 예일 수 있다. 이때, 생중계용 재생파일정보를 수신하는 시청자(550)는 송출자(540)의 방송을 생중계로 시청할 수 있게 되며, 지연 생중계용 재생파일정보를 수신하는 시청자(550)는 방송을 지연 생중계로 시청할 수 있게 된다. Process 1-10 may be an example of a process of performing live streaming by delivering the encoded data and the playback file information transmitted from the proxy server 1120 to the viewer 550. At this time, the viewer 550 receiving the live file playback information can watch the broadcast of the sender 540 by live broadcast, the viewer 550 receiving the delayed live file playback file information can be viewed by the delayed live broadcast It becomes possible.

도 12는 VOD 파일의 생성 및 VOD 서비스의 제공을 위한 전체 과정들(과정(2-1) 내지 과정(2-5))을 도시하고 있다. 이러한 도 12는 (B) 및 (C)를 통해 도 10 및 도 11과 연결될 수 있다.12 illustrates the entire processes (processes 2-1 to 2-5) for generating a VOD file and providing a VOD service. 12 may be connected to FIGS. 10 and 11 through (B) and (C).

과정(2-1)은 VOD 생성 풀(910)에 포함된 VOD 생성 서버들 중 하나인 VOD 생성 서버(1210)가 코디네이터(520)로부터 VOD 생성 요청을 수신하는 과정의 예일 수 있다.Process 2-1 may be an example of a process in which the VOD generation server 1210, which is one of the VOD generation servers included in the VOD generation pool 910, receives a VOD generation request from the coordinator 520.

과정(2-2)은 VOD 생성 서버(1210)가 VOD 팜(530)에 포함된 분산 파일 시스템(920)으로부터 VOD 파일을 생성하기 위해 인코딩된 데이터를 다운로드 받는 과정의 예일 수 있다. 여기서 인코딩된 데이터는 도 11의 과정(1-8)을 통해 업로더(1110)가 분산 파일 시스템(920)에 저장한 데이터일 수 있다.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 steps 1-8 of FIG. 11.

과정(2-3)은 VOD 생성 서버(1210)가 다운로드 받은 데이터를 이용하여 VOD 파일을 생성하여 분산 파일 시스템(920)에 업로드하는 과정의 예일 수 있다.Process 2-3 may be an example of a process of generating a VOD file using the downloaded data by the VOD generation server 1210 and uploading it to the distributed file system 920.

과정(2-4)는 프록시 서버 풀(930)에 포함된 프록시 서버들 중 하나인 프록시 서버(1220)가 VOD 요청자(1230)의 요청에 따라 VOD 파일을 분산 파일 시스템(920)으로부터 다운로드하는 과정의 예일 수 있다.In operation 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 according to a request of the VOD requester 1230. It may be an example of.

과정(2-5)는 프록시 서버(1220)가 VOD요청자(1230)에게 다운로드 받은 VOD 파일을 제공하는 과정의 예일 수 있다.Process 2-5 may be an example of a process in which the proxy server 1220 provides the downloaded VOD file to the VOD requester 1230.

이러한 과정(2-1) 내지 과정(2-5)를 통해 라이브 스트리밍된 방송을 위한 VOD 파일이 생성 및 제공될 수 있다.Through these processes 2-1 to 2-5, a VOD file for live streamed broadcast may be generated and provided.

도 5 내지 도 12를 통해 설명한 오픈형 생중계 플랫폼(500)은 본 발명의 일실시예에 따른 지연 생중계 시스템을 구현하기 위한 하나의 예시일 뿐, 지연 생중계 시스템의 구현이 이러한 오픈형 생중계 플랫폼(500)의 형태로 한정되는 것은 아니다.The open live platform 500 described with reference to FIGS. 5 to 12 is just one example for implementing a delayed live broadcast system according to an embodiment of the present invention, and the implementation of the delayed live broadcast system is an example of the open live platform 500. It is not limited to the form.

이처럼 본 발명의 실시예들에 따르면, 라이브 방송을 시작 시점 이후의 지연된 시점에 생중계할 수 있는 지연 생중계 방법 및 지연 생중계 시스템, 그리고 컴퓨터와 결합되어 상기 지연 생중계 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공할 수 있다.As described above, according to embodiments of the present invention, a delay live broadcast method and a delay live broadcast system capable of relaying a live broadcast at a delayed time after a start point and a computer readable computer for executing the delay live broadcast method in combination with a computer may be used. A computer program stored on a recording medium and the recording medium 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 devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as 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 the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(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 above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The medium may be to continue to store a computer executable program, or to temporarily store for execution or download. In addition, the medium may be a variety of recording means or storage means in the form of a single or several hardware combined, not limited to a medium directly connected to any computer system, it may be distributed on the network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And ROM, RAM, flash memory, and the like, configured to store program instructions. In addition, examples of another medium may include a recording medium or a storage medium managed by an app store that distributes an application, a site that supplies or distributes various software, a server, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the following claims.

Claims (11)

송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하는 단계 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -;
상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하는 단계;
상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하는 단계; 및
상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는 단계
를 포함하고,
상기 제2 재생파일정보는 상기 지연 생중계 시작 시각에 상기 송출자의 방송에 대한 첫 번째 전송 세그먼트 파일을 지시하기 위한 파일정보를 포함하는 것을 특징으로 하는 지연 생중계 방법.
Managing a live broadcast start time and a delay live broadcast start time for a broadcaster of the sender, wherein the delayed live broadcast start time is preset to a time after the live broadcast start time;
The transmission segment file generated by encoding streaming data transmitted from the terminal of the sender based on the live relay start time, file information for indicating the generated transmission segment file according to the order in which the transmission segment file is generated. Accumulating on the first play file information;
Extracting file information accumulated in the first play file information based on the delayed live broadcast start time and adding the second play file information to the second play file information in the order of generation of the transmission segment file; And
Providing a delayed live broadcast service for the broadcaster of the sender using the second play file information;
Including,
And the second play file information includes file information for indicating a first transmission segment file for the broadcaster of the sender at the start time of the live broadcast.
제1항에 있어서,
가장 최근에 생성된 N(상기 N은 자연수)개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하도록 제3 재생파일정보를 갱신하는 단계; 및
상기 제3 재생파일정보를 이용하여 상기 송출자의 방송에 대한 생중계 서비스를 제공하는 단계
를 더 포함하는 것을 특징으로 하는 지연 생중계 방법.
The method of claim 1,
Updating third playback file information to include file information for indicating up to N transmission segments files most recently generated (where N is a natural number); And
Providing a live broadcast service for the broadcaster of the sender using the third play file information;
Delay live relay method further comprises.
제1항에 있어서,
상기 관리하는 단계는,
상기 송출자의 방송에 대한 생중계 종료 시각을 더 관리하고,
상기 지연 생중계 시작 시각은 상기 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 것을 특징으로 하는 지연 생중계 방법.
The method of claim 1,
The managing step,
Further managing a live broadcast end time for the broadcaster of the sender;
And the delayed live relay start time is preset to a time between the live relay start time and the live relay end time.
제1항에 있어서,
상기 제2 재생파일정보는, 가장 최근에 추가된 M(상기 M은 자연수)개 이하의 파일정보를 유지하도록 갱신되는 것을 특징으로 하는 지연 생중계 방법.
The method of claim 1,
And the second playback file information is updated to maintain file information of M or more recently added (where M is a natural number).
제1항에 있어서,
상기 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함하고,
상기 지연 생중계 서비스를 제공하는 단계는,
시청자의 단말로 상기 제2 재생파일정보를 제공하고, 상기 제2 재생파일정보가 포함하는 파일정보의 상기 주소정보를 통해 요청되는 전송 세그먼트 파일을 상기 시청자의 단말로 전송하는 것을 특징으로 하는 지연 생중계 방법.
The method of claim 1,
The file information includes address information for accessing a corresponding transmission segment file through a network.
Providing the delayed live service,
Providing the second play file information to a viewer's terminal, and transmitting the transmission segment file requested through the address information of the file information included in the second play file information to the viewer's terminal. Way.
컴퓨터와 결합되어 제1항 내지 제5항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium in combination with a computer for causing the computer to execute the method of any one of claims 1 to 5. 제1항 내지 제5항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium in which a program for causing a computer to execute the method of any one of claims 1 to 5 is recorded. 지연 생중계 시스템에 있어서,
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서에 의해,
송출자의 방송에 대한 생중계 시작 시각과 지연 생중계 시작 시각을 관리하고 - 상기 지연 생중계 시작 시각은 상기 생중계 시작 시각 이후의 시각으로 기설정됨 -,
상기 생중계 시작 시각에 기반하여 상기 송출자의 단말로부터 송출되는 스트리밍 데이터를 인코딩하여 생성되는 전송 세그먼트 파일에 대해, 상기 생성된 전송 세그먼트 파일을 지시하기 위한 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 제1 재생파일정보에 누적하고,
상기 지연 생중계 시작 시각에 기반하여 상기 제1 재생파일정보에 누적된 파일정보를 상기 전송 세그먼트 파일이 생성된 순서에 따라 추출하여 제2 재생파일정보에 추가하고,
상기 제2 재생파일정보를 이용하여 상기 송출자의 방송에 대한 지연 생중계 서비스를 제공하는
동작들이 수행되고,
상기 제2 재생파일정보는 상기 지연 생중계 시작 시각에 상기 송출자의 방송에 대한 첫 번째 전송 세그먼트 파일을 지시하기 위한 파일정보를 포함하는 것을 특징으로 하는 것을 특징으로 하는 지연 생중계 시스템.
In the delay live broadcast system,
At least one processor implemented to execute computer-readable instructions
Including,
By the at least one processor,
Manage a live broadcast start time and a delay live broadcast start time for a broadcaster of the sender, wherein the delayed live broadcast start time is preset to a time after the live broadcast start time;
The transmission segment file generated by encoding streaming data transmitted from the terminal of the sender based on the live broadcast start time, file information for indicating the generated transmission segment file according to the order in which the transmission segment file is generated. Accumulate in the first play file information,
Based on the delayed live broadcast start time, the file information accumulated in the first play file information is extracted according to the order in which the transmission segment file is generated, and added to the second play file information;
Providing a delayed live broadcast service for the broadcaster of the sender using the second play file information.
Actions are performed,
And the second play file information comprises file information for indicating a first transmission segment file for the broadcaster of the sender at the start time of the live broadcast.
제8항에 있어서,
상기 적어도 하나의 프로세서에 의해,
가장 최근에 생성된 N(상기 N은 자연수)개 이하의 전송 세그먼트 파일들을 지시하기 위한 파일정보를 포함하도록 제3 재생파일정보를 갱신하고,
상기 제3 재생파일정보를 이용하여 상기 송출자의 방송에 대한 생중계 서비스를 제공하는
동작들이 더 수행되는 것을 특징으로 하는 지연 생중계 시스템.
The method of claim 8,
By the at least one processor,
Update the third playback file information to include file information for indicating the transmission segment files of N or less (N is a natural number) most recently generated;
Providing a live broadcast service for the broadcaster of the sender using the third playback file information
Delay live broadcast system, characterized in that further operations are performed.
제8항에 있어서,
상기 적어도 하나의 프로세서에 의해,
상기 송출자의 방송에 대한 생중계 종료 시각이 더 관리되고,
상기 지연 생중계 시작 시각은 상기 생중계 시작 시각과 상기 생중계 종료 시각 사이의 시각으로 기설정되는 것을 특징으로 하는 지연 생중계 시스템.
The method of claim 8,
By the at least one processor,
The live broadcast end time for the broadcaster of the sender is further managed,
The delayed live relay start time is a delay live relay system, characterized in that the predetermined time between the live relay start time and the live relay end time.
제8항에 있어서,
상기 파일정보는 네트워크를 통해 대응하는 전송 세그먼트 파일로 접근하기 위한 주소정보를 포함하고,
상기 적어도 하나의 프로세서에 의해,
시청자의 단말로 상기 제2 재생파일정보를 제공하고,
상기 제2 재생파일정보가 포함하는 파일정보의 상기 주소정보를 통해 요청되는 전송 세그먼트 파일을 상기 시청자의 단말로 전송하는
동작들이 상기 지연 생중계 서비스를 제공하기 위해 수행되는 것을 특징으로 하는 지연 생중계 시스템.
The method of claim 8,
The file information includes address information for accessing a corresponding transmission segment file through a network.
By the at least one processor,
Providing the second playback file information to a viewer's terminal;
Transmitting a transmission segment file requested through the address information of file information included in the second play file information to the viewer's terminal;
Delay live broadcast system, characterized in that operations are performed to provide the delay live broadcast service.
KR1020190179345A 2019-12-31 2019-12-31 Method and system for delayed live broadcast KR102085072B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190179345A KR102085072B1 (en) 2019-12-31 2019-12-31 Method and system for delayed live broadcast

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190179345A KR102085072B1 (en) 2019-12-31 2019-12-31 Method and system for delayed live broadcast

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20200002771A true KR20200002771A (en) 2020-01-08
KR102085072B1 KR102085072B1 (en) 2020-03-05

Family

ID=69154457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190179345A KR102085072B1 (en) 2019-12-31 2019-12-31 Method and system for delayed live broadcast

Country Status (1)

Country Link
KR (1) KR102085072B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070113650A (en) * 2006-05-25 2007-11-29 파이로웍스(주) Broadcasting system and method for time-delayed broadcasting contents
KR101233582B1 (en) * 2008-12-31 2013-02-15 애플 인크. Method for streaming multimedia data over a non-streaming protocol
KR101452345B1 (en) * 2013-04-29 2014-10-22 주식회사 엘지유플러스 System and method for providing a time shifted video, and streaming sever and mobile terminal therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070113650A (en) * 2006-05-25 2007-11-29 파이로웍스(주) Broadcasting system and method for time-delayed broadcasting contents
KR101233582B1 (en) * 2008-12-31 2013-02-15 애플 인크. Method for streaming multimedia data over a non-streaming protocol
KR101452345B1 (en) * 2013-04-29 2014-10-22 주식회사 엘지유플러스 System and method for providing a time shifted video, and streaming sever and mobile terminal therefor

Also Published As

Publication number Publication date
KR102085072B1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
KR101926018B1 (en) Method and system for video recording
US10602206B2 (en) Method and system for providing time machine function in live broadcast
JP5728736B2 (en) Audio splitting at codec applicable frame size
EP3598316B1 (en) Systems, methods, and media for delivery of content
US9473548B1 (en) Latency reduction in streamed content consumption
US20130185452A1 (en) Hypertext transfer protocol live streaming
US9843825B1 (en) Distributed and synchronized media switching
KR102063624B1 (en) Method and system for delayed live broadcast
KR102123593B1 (en) Method, system, and non-transitory computer readable record medium for synchronization of real-time live video and information data
US9819972B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
US11825148B2 (en) Expiring synchronized supplemental content in time-shifted media
US20210021655A1 (en) System and method for streaming music on mobile devices
US9942578B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
KR102484638B1 (en) Method and system for offsetting delay of guest broadcasting during live broadcasting and non-transitory computer readable recording medium
JP6342526B2 (en) Method and system for sharing live broadcast data
KR101998303B1 (en) Method and system for managing sliding window for time machine function
CN114143562A (en) Delay minimizing method, server, and computer-readable recording medium
US10958949B2 (en) Systems and methods for optimizing a set-top box to retrieve missed content
KR102134250B1 (en) Method and system for reproducing streaming content
KR102085072B1 (en) Method and system for delayed live broadcast
US9215267B2 (en) Adaptive streaming for content playback
KR102432376B1 (en) Method and system for reproducing contents
KR101537842B1 (en) Method of Storing and Encoding the Video Captured at Web Site using Toolbar and Providing Cloud Service
KR20230022063A (en) System For Streaming Video Including A Function of Recommending Personalized Broadcasting, Method And Computer Program of Operation Thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right