KR101397183B1 - Method and apparatus for managing playlist file in streaming service - Google Patents

Method and apparatus for managing playlist file in streaming service Download PDF

Info

Publication number
KR101397183B1
KR101397183B1 KR1020130062028A KR20130062028A KR101397183B1 KR 101397183 B1 KR101397183 B1 KR 101397183B1 KR 1020130062028 A KR1020130062028 A KR 1020130062028A KR 20130062028 A KR20130062028 A KR 20130062028A KR 101397183 B1 KR101397183 B1 KR 101397183B1
Authority
KR
South Korea
Prior art keywords
file
request
playlist
response
playlist file
Prior art date
Application number
KR1020130062028A
Other languages
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 주식회사 솔박스
Priority to KR1020130062028A priority Critical patent/KR101397183B1/en
Application granted granted Critical
Publication of KR101397183B1 publication Critical patent/KR101397183B1/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/26258Content 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 generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2323Content retrieval operation locally within server, e.g. reading video streams from disk arrays using file mapping
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Abstract

For a live streaming service, a playlist file is requested to and received from a streaming server. Update of the playlist file is determined via the streaming server based on the first image file name piece or the last image file name piece among the playlists included in the received playlist file. The received playlist file is changed based on the determination result.

Description

스트리밍 서비스에서의 재생 목록 파일 관리 방법 및 그 장치{Method and apparatus for managing playlist file in streaming service}TECHNICAL FIELD The present invention relates to a method and apparatus for managing a playlist file in a streaming service,

본 발명은 스트리밍 서비스에 관한 것으로, 더욱 상세하게 말하자면 라이브 스트리밍(live streaming service) 서비스에서 재생 목록 파일을 요청하고 관리하는 방법 및 그 장치에 관한 것이다. The present invention relates to a streaming service, and more particularly, to a method and apparatus for requesting and managing a playlist file in a live streaming service.

인터넷을 통하여 멀티미디어 데이터를 실시간으로 재생해 주는 스트리밍(streaming) 서비스가 활성화되고 있으며, 최근에는 RTMP(Real Time Messaging Protocol)/RTSP(Real Time Streaming Protocol)와 같은 전통적인 서버 주도형 프로토콜이 아니라, 표준 HTTP(hyper text transfer protocol) 프로토콜을 사용해서 스트리밍 서비스가 제공되고 있다. 표준 HTTP 프로토콜을 사용하여 스트리밍 서비스를 제공하는 방식으로는 HTTP 순차 다운로드(Progressive Download) 방식과, HTTP 라이브 스트리밍(HTTP Live Streaming, 이하 HLS라고 명명함) 방식이 주로 많이 사용되고 있다.Recently, streaming service which plays multimedia data in real time through the Internet has been activated. In recent years, it has been used not only a traditional server-oriented protocol such as RTMP (real time messaging protocol) / RTSP (real time streaming protocol) streaming service is provided using hyper text transfer protocol. Progressive download method and HTTP live streaming (hereinafter referred to as HLS) are widely used as a method of providing a streaming service using the standard HTTP protocol.

HLS 방식은 미디어 파일을 예를 들어, 10초(일반적으로 5초~15초 사용) 정도의 작은 길이를 가지는 파일(예를 들어, MPEG-2 Transport Stream 파일)로 조각화하고, 파일 조각들의 메타 정보인 재생 목록 파일을 클라이언트로 제공한다. 재생 목록 파일은 XML (Extensible Markup Language)의 일종인 SMIL(Synchronized Multimedia Integration Language) 문법을 사용하는 M3U8(HLS2)파일을 사용한다. 이에 따라 파일명의 형태는 ".M3U8" 또는 ".M3U"로 이루어진다. 여기서 ".M3U" 파일은 오디오만 있는 컨텐츠에 사용된다. The HLS scheme fragment a media file into a file having a small length (for example, MPEG-2 Transport Stream file) of 10 seconds (typically, 5 seconds to 15 seconds) Lt; / RTI > file to the client. The playlist file uses an M3U8 (HLS2) file that uses SMIL (Synchronized Multimedia Integration Language) syntax, which is a type of XML (Extensible Markup Language). Accordingly, the file name format is ".M3U8" or ".M3U". Here, the ".M3U" file is used for audio-only content.

파일 조각들 즉, 영상 조각 파일들은 MPEG2-TS 포맷으로 구성되어 있으며 파일의 확장자는 "ts"로 되어 있다. 파일의 이름은 순차적인 순서를 나타내므로 다음 파일명을 유추할 수 있도록 생성된다. 주로 십진수 형태의 수를 이용하지만, 다른 방식의 표기법으로 나타내기도 한다. 재생 목록 파일은 확장 기능으로 영상 조각 파일들의 재생 순서와 다양한 재생 관련 기능에 관해 설정할 수 있는 태그들을 제공할 수 있다. The file fragments, that is, image fragment files, are structured in the MPEG2-TS format and the extension of the file is "ts". The names of the files indicate sequential order, so they are generated so that the next file name can be inferred. It mainly uses numbers in decimal form, but may also be expressed in other notation. The playlist file may provide tags that can be set with respect to the playback order of the video clip files and various playback related functions with the extension function.

클라이언트는 재생 목록 파일을 HTTP 프로토콜을 이용하여 서버로부터 다운로드 받고, 재생 목록 파일에서 지정된 영상 조각 파일들을 서버로부터 다운로드 받아서 순차적으로 이어서 재생을 한다. The client downloads the playlist file from the server using the HTTP protocol, downloads the specified image fragment files from the playlist file, and sequentially plays back the files sequentially.

HLS 서비스에서는 보통 3개나 그 이상의 영상 조각 파일들에 대한 재생 순서를 가진 재생 목록 파일이 클라이언트에게 전달된다. 만약 새로이 전달된 재생 목록 파일의 파일 목록 중 마지막에서 세 번째 영상 조각 파일 이후부터 재생을 시작한다면, 클라이언트는 새로이 재생 목록 파일을 요청한다. 그 외에 클라이언트는 서버에서 재생 목록 파일을 받고 갱신된 목록을 발견했다면, 최소 재생 목록의 마지막 영상 조각 파일의 길이만큼 대기한 다음에 갱신된 재생 목록에 해당하는 파일들을 요청한다. 만약 재생 목록이 갱신되지 않았다면, 목표 길이의 0.5배 대기한 다음에 다시 재생 목록 파일을 요청한다. In the HLS service, a playlist file is usually sent to the client with a play order for three or more image slice files. If the playback starts from the end of the third video clip file in the file list of the newly delivered playlist file, the client newly requests the playlist file. In addition, if the client receives a playlist file from the server and finds an updated list, the client waits for the length of the last image fragment file of the minimum playlist, and then requests files corresponding to the updated playlist. If the playlist has not been updated, it waits 0.5 times the target length and then requests the playlist file again.

한편, 라이브 스트림 타임 시프팅(time shifting)은 실시간으로 네트워크를 통해 전달되는 미디어 스트리밍을 저장하여, 실시간 방송을 녹화 방송(VOD)처럼 일시 정지, 탐색 등을 할 수 있는 기술을 나타낸다. 이렇게 네트워크 상에서 방송을 저장 또는 녹화하는 기법을 다른 용어로 "nDVR"이라고 한다. 라이브 스트림 타임 시프팅의 구체적인 예를 들면, 현재 라이브로 방송 중인 뉴스를 보다가 20분 전에 나온 내용을 보고자 하는 경우, 재생 위치를 20분전 위치로 옮겨서 그 시점부터 뉴스를 볼 수 있다. On the other hand, the live stream time shifting represents a technique for storing media streaming transmitted through a network in real time and pausing and searching for a real time broadcast like a video broadcast (VOD). In other words, the technique of storing or recording broadcasts on the network is called "nDVR ". As a specific example of live stream time shifting, if you want to watch the news that was broadcast 20 minutes ago, you can move the playback position to the position 20 minutes ago and view the news from that point.

그러나, 라이브 스트림 타임 시프팅 기능에서 과거 시점으로 돌릴 수 있는 범위가 커질수록 재생 목록 파일의 크기 또한 증가하게 되는 단점이 있다. 또한 실시간 방송되는 컨텐츠의 경우, 실시간 방송이므로 일정한 시간 간격으로 새롭게 갱신된 재생 목록 파일을 요청하고 받게 됨으로써, 파일 전송시 방대한 전송량이 소요되어 트래픽이 증가하게 된다. 특히 타임 시프팅 서비스가 가능한 과거 시점의 범위가 증가할수록 재생 목록 파일의 전송량이 기하급수적으로 증가하게 된다. 예를 들어, 과거 시점의 범위를 24 시간으로 하여 타임 시프팅 서비스를 제공하고자 하면, 네트워크 비용이 많이 요구되어서 서비스 제공이 어렵다. However, there is a disadvantage in that the size of the playlist file increases as the range of the live stream time shifting function is increased. In addition, in the case of contents to be broadcasted in real-time, because it is a real-time broadcast, a newly updated playlist file is requested and received at a predetermined time interval. Especially, as the range of the past time when the time shifting service is available increases, the transmission amount of the play list file increases exponentially. For example, if it is desired to provide a time shifting service with a range of the past time as 24 hours, it is difficult to provide a service because a large network cost is required.

본 발명이 해결하고자 하는 과제는 라이브 스트리밍 서비스에서 타임 시프팅 기능을 사용할 경우, 메타 데이터 파일의 전송량을 감소시킬 수 있는 재생 목록 파일 관리 방법 및 그 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for managing a playlist file that can reduce the amount of data to be transmitted when a time-shifting function is used in a live streaming service.

위의 과제를 위한 보 발명의 특징에 따른 방법은, 라이브 스트리밍 서비스 제공에 따른 재생 목록 파일을 관리하는 방법이며, 스트리밍 서버로 재생 목록 파일을 요청하고 수신하는 단계; 상기 수신된 재생 목록 파일에 포함된 재생 목록들 중에서 마지막 영상 조각 파일명을 토대로 하는 다음번 순서의 영상 조각 파일명을 상기 스트리밍 서버로 전송하면서 해당하는 영상 조각 파일을 요청하는 제1 요청 단계; 첫번째 영상 조각 파일명을 상기 스트리밍 서버로 전송하면서 해당하는 영상 조각 파일을 요청하는 제2 요청 단계; 상기 스트리밍 서버로부터 상기 제1 요청 단계 또는 상기 제2 요청 단계에 대응하는 응답을 수신하는 단계; 상기 제1 요청 단계의 요청에 대한 응답으로, 대응하는 영상 조각 파일의 존재를 나타내는 응답이 수신된 경우, 상기 다음번 순서의 영상 조각 파일명을 상기 수신된 재생 목록 파일에 추가하는 단계; 및 상기 제2 요청 단계의 요청에 대한 응답으로, 대응하는 영상 조각 파일이 존재하지 않음을 나타내는 응답이 수신된 경우, 상기 수신된 재생 목록 파일에서 재생 순서를 변경하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method of managing a playlist file by providing a live streaming service, the method comprising: requesting and receiving a playlist file by a streaming server; A first requesting step of requesting a corresponding video fragment file while transmitting the next video fragment file name based on the last video fragment file name among the play lists included in the received play list file to the streaming server; A second requesting step of requesting a corresponding image fragment file while transmitting a first image fragment file name to the streaming server; Receiving a response corresponding to the first requesting step or the second requesting step from the streaming server; Adding, in response to the request of the first requesting step, a video piece file name of the next order to the received playlist file when a response indicating the existence of a corresponding video fragment file is received; And changing a playback order in the received playlist file when a response indicating that a corresponding video fragment file does not exist is received in response to the request of the second requesting step.

여기서, 상기 제1 요청 단계의 요청에 대한 응답으로 대응하는 파일이 존재하지 않음을 나타내는 응답이 수신된 경우, 상기 제1 요청 단계를 반복 수행하고, 상기 제2 요청 단계의 요청에 대한 응답으로 대응하는 파일이 존재함을 나타내는 응답이 수신된 수신한 경우, 상기 제2 요청 단계를 반복 수행할 수 있다. If a response indicating that a corresponding file does not exist is received in response to the request of the first requesting step, the first requesting step is repeatedly performed, and a response is made in response to the request of the second requesting step The second requesting step may be repeatedly performed if a response is received indicating that a file exists.

상기 재생 목록 파일이 재생할 영상 조각 파일명들, 각 파일의 최대 재생 시간을 나타내는 지시어, 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어를 포함할 수 있다. 이 경우, 상기 재생 순서를 변경하는 단계는, 상기 재생 목록 파일에 포함된 상기 일련 번호를 나타내는 지시어를 +1 증가시킬 수 있다. An indicator indicating a maximum playback time of each file, and a directive indicating a serial number of a file to be played back first. In this case, the step of changing the reproduction order may increase the directive indicating the serial number included in the playlist file by +1.

또한 상기 재생 순서를 변경하는 단계는 상기 재생 목록 파일에서 상기 첫번째 영상 조각 파일명을 삭제하는 단계를 더 포함할 수 있다. The step of changing the playback order may further include deleting the first image fragment file name from the playlist file.

한편 상기 제1 요청 단계 및 상기 제2 요청 단계는 병렬적으로 수행될 수 있다. Meanwhile, the first requesting step and the second requesting step may be performed in parallel.

또한 상기 제1 요청 단계 및 제2 요청 단계는 실제적인 파일을 받지 않고 HTTP(hyper text transfer protocol) 헤더(header) 응답 만을 받는 헤드(HEAD) 요청 방법을 이용하여 요청을 수행할 수 있다. In addition, the first requesting step and the second requesting step may perform a request using a HEAD request method that receives only a hypertext transfer protocol (HTTP) header response without receiving an actual file.

본 발명의 실시 예에 따르면, 라이브 스트리밍(Live Streaming, HLS) 서비스에서, 재생 목록 파일을 요청하고 수신하는 과정을 반복적으로 수행하지 않고, 재생 목록 파일의 갱신 여부에 따라 이미 수신된 재생 목록 파일을 변경하는 과정을 통하여, 재생 목록 파일의 요청 및 전송에 따라 발생되는 전송량을 감소시킬 수 있다. According to the embodiment of the present invention, in a live streaming (HLS) service, a process of requesting and receiving a playlist file is not repeated, Through the changing process, it is possible to reduce the amount of transmission generated according to the request and transmission of the playlist file.

특히 타임 시프팅 기능을 제공하는 경우에도 방대한 재생 목록을 포함하는 재생 목록 파일의 요청 및 전송이 반복적으로 수행되지 않음으로써, 파일 전송량을 현저하게 감소시킬 수 있다. 또한 타임 시프팅 기능을 제공하는 스트리밍 서비스에서 타임 시프팅의 시간 범위에 상관없이 재생목록파일의 전송량을 보통의 라이브 방송에서 사용하는 정도의 수준으로 유지 및 절약할 수 있다. 따라서 네트워크 비용이 감소되어 타임 시프팅 기능을 지원하는 서비스 제공이 원활하게 이루어질 수 있다. In particular, even when the time shifting function is provided, the request and transmission of the playlist file including the vast playlist are not repeatedly performed, so that the amount of file transfer can be significantly reduced. In a streaming service that provides time shifting, the amount of playlist file transfer can be maintained and reduced to the level used in normal live broadcasting, regardless of the time-shifting time range. Therefore, the network cost is reduced, and the service providing the time shifting function can be smoothly provided.

도 1은 HTTP((Hypertext Transfer Protocol) 라이브 스트리밍(Live Streaming) 서비스에서의 파일 송수신을 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 메타 데이터 파일의 구조를 나타낸 예시도이다.
도 3은 HLS 프로토콜을 이용하는 라이브 스트리밍 서비스에서의 일반적인 메타 데이터 파일을 나타낸 예시도이고, 도 4는 타임 시프팅을 지원하는 라이브 스트리밍 서비스에서의 메타 데이터 파일을 나타낸 예시도이다.
도 5는 본 발명의 실시 예에 따른 재생 목록 파일 관리 장치의 구조를 나타낸 도이다.
도 6은 본 발명의 실시 예에 따른 타임 시프팅을 지원하는 라이브 스트리밍 서비스에서의 재생 목록 파일 관리 방법의 흐름도이다.
도 7은 본 발명의 실시 예에 따른 파일 요청 및 그에 따른 응답을 나타낸 예시도이다.
1 is a diagram illustrating transmission / reception of a file in an HTTP (Hypertext Transfer Protocol) live streaming service.
2 is a diagram illustrating a structure of a metadata file according to an embodiment of the present invention.
FIG. 3 is an exemplary view showing a general metadata file in a live streaming service using the HLS protocol, and FIG. 4 is an exemplary view showing a metadata file in a live streaming service supporting time shifting.
5 is a diagram illustrating a structure of a playlist file management apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a method of managing a playlist file in a live streaming service supporting time shifting according to an embodiment of the present invention.
7 is an exemplary view illustrating a file request and a response according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조하여 본 발명의 실시 예에 따른 스트리밍 서비스에서의 재생 목록 파일 관리 방법 및 그 장치에 대하여 설명한다. Hereinafter, a method and apparatus for managing a playlist file in a streaming service according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 HTTP((Hypertext Transfer Protocol) 라이브 스트리밍(Live Streaming)(이하, HLS라고 함) 서비스에서의 파일 송수신을 나타낸 도이다. 1 is a diagram showing file transmission / reception in HTTP (Hypertext Transfer Protocol) live streaming (hereinafter referred to as HLS) service.

클라이언트(1)가 스트리밍 서버(2)로부터 HLS를 기반으로 하는 라이브 스트리밍 서비스를 제공받는 경우, 스트리밍 서버(2)는 서비스하고자 하는 동영상 데이터를 인코딩하고 인코딩된 동영상 데이터를 조각화하여 복수의 영상 조각 파일들을 생성하고, 또한 생성된 영상 조각 파일들에 접근할 수 있는 메타 데이터를 생성한다. 영상 조각 파일들은 TS(transport stream) 형태로 서비스되며, 이러한 영상 조각 파일들에 대한 메타 데이터는 클라이언트(1)에게 어떠한 파일들을 재생해야 하는지에 대한 정보 즉, 재생 파일 목록을 제공한다. 재생 파일 목록을 포함하는 메타 데이터 파일은 M3U8 파일 형태로 클라이언트(1)에게 제공된다. 클라이언트(1)는 메타 데이터 파일에 포함되는 재생 파일 목록을 토대로 스트리밍 서버(2)로 재생할 파일들을 요청하며, 스트리밍 서버(2)는 요청에 응답하여 해당하는 영상 조각 파일들을 제공한다. When the client 1 receives a live streaming service based on the HLS from the streaming server 2, the streaming server 2 encodes the video data to be served and segments the encoded video data into a plurality of video fragment files And generates metadata that can access the generated image fragment files. The image fragment files are provided in the form of a transport stream (TS). The metadata of the image fragment files provide information about which files should be reproduced to the client 1, that is, a reproduction file list. A metadata file including a playback file list is provided to the client 1 in the form of an M3U8 file. The client 1 requests files to be played back on the streaming server 2 based on the play file list included in the meta data file, and the streaming server 2 provides corresponding video file files in response to the request.

이러한 스트리밍 서버(2)로부터 클라이언트(1)로 전송되는 재생할 동영상에 대한 정보인 메타 데이터 파일(M3U8파일)에는 영상 조각 파일들 즉, TS 파일들의 이름이 포함되며, TS 파일들의 이름은 실행 순서에 따라 순차적으로 증가하는 음이 아닌 정수를 포함해서 구성될 수 있다. The metadata file (M3U8 file), which is the information on the moving picture to be played back, transmitted from the streaming server 2 to the client 1 includes the names of video fragment files, i.e. TS files, And may comprise a non-negative integer that increases sequentially.

도 2는 본 발명의 실시 예에 따른 메타 데이터 파일의 구조를 나타낸 예시도이다. 2 is a diagram illustrating a structure of a metadata file according to an embodiment of the present invention.

메타 데이터 파일 즉, 재생 목록 파일은 일반적으로 도 2에서와 같이, 해당 파일이 M3U8 포맷을 사용한다는 것을 나타내는 지시어(#EXTM3U), 목록 파일에 나열되는 각 파일의 최대 재생 시간 즉, 목표 길이를 나타내는 지시어(#EXT-X_TARGETDURATION), 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어(#EXT-X-MEDIA-SEQUENCE), 해당 지시어의 다음에 나오는 TS 파일의 재생 시간을 나타내는 지시어(#EXTINF)를 포함한다. As shown in FIG. 2, the metadata file, that is, the playlist file, generally includes a directive (#EXTM3U) indicating that the file uses the M3U8 format, a maximum playback time of each file listed in the list file, A directive (# EXT-X-MEDIA-SEQUENCE) indicating a sequence number of a file to be played back first, a directive (#EXTINF) indicating a playback time of a TS file next to the directive .

도 3은 HLS 프로토콜을 이용하는 라이브 스트리밍 서비스에서의 일반적인 메타 데이터 파일을 나타낸 예시도이고, 도 4는 타임 시프팅을 지원하는 라이브 스트리밍 서비스에서의 메타 데이터 파일을 나타낸 예시도이다. FIG. 3 is an exemplary view showing a general metadata file in a live streaming service using the HLS protocol, and FIG. 4 is an exemplary view showing a metadata file in a live streaming service supporting time shifting.

HLS 프로토콜을 이용하는 라이브 스트링밍 서비스에서, 재생 목록 파일은 일반적으로 도 3에서와 같이, 3개의 영상 조각 파일(예: 2680.ts, 2681.ts, 2682.ts)을 포함하고 있으며, 최대 재생 시간(G01)이 "10초"를 나타낸다. In a live stringing service using the HLS protocol, the playlist file typically includes three video fragment files (e.g., 2680.ts, 2681.ts, 2682.ts), as in FIG. 3, (G01) indicates "10 seconds ".

이러한 일반적인 HLS 라이브 스트리밍 서비스에서의 재생 목록 파일과는 달리, 타임 시프팅 기능을 제공하는 스트리밍 서비스에서의 재생 목록 파일은 더 많은 영상 조각 파일을 가진다. .Unlike a playlist file in this general HLS live streaming service, a playlist file in a streaming service that provides time shifting functionality has more image fragment files. .

예를 들어, 목표 길이 "10초"이고, 각각의 영상 조각 파일의 길이가 10초인 재생 목록 파일을 이용한 라이브 스트리밍 서비스에, 타임 시프팅 기능을 추가하여 과거 24시간 전의 방송까지 볼 수 있도록 설정한 경우, 도 4와 같은 재생 목록 파일이 획득된다. For example, a time-shifting function is added to a live streaming service using a playlist file in which the target length is "10 seconds " and the length of each video fragment file is 10 seconds, , A playlist file as shown in Fig. 4 is obtained.

도 4에서와 같이, 재생 목록 파일은 복수의 영상 조각 파일들을 포함하고 있는데, 재생할 영상 조각 파일이 시작하는 번호(L01, L02)는 "2680"이고, 영상 조각 파일이 끝나는 번호는 "11132"이다(L03). 즉, 재생할 영상 조각 파일들이 총 8642개로서, 일반적인 라이브 스트리밍 서비스를 위한 재생 목록 파일(도 3의 파일) 보다 약 2800배 많은 파일들 목록을 포함한다. As shown in Fig. 4, the playlist file includes a plurality of video fragment files. The number (L01, L02) at which the video fragment files to be reproduced start is "2680" and the end number of the video fragment files is "11132" (L03). That is, a total of 8642 pieces of image fragment files to be played back include a list of files about 2,800 times larger than a playlist file (a file of FIG. 3) for a general live streaming service.

HLS 서비스 특성상 새로운 영상 조각 파일 생성시 새롭게 생성된 재생 목록 파일들이 일정 시간 간격(예를 들어, 재생 목록 파일에서 마지막 영상 조각 파일 길이 또는 목표 길이의 0.5배)으로 요청되고 획득된다. 이로 인하여 통상적인 라이브 서비스에서 발생되지 않았던 추가적인 많은 트래픽이 유발된다. 타임 시프팅을 제공하지 않는 HLS 서비스에서도 파일 요청 및 획득에 따라 많은 트래픽이 유발되는데, 타임 시프팅을 제공하는 HLS 서비스에서는 위에서 살펴본 바와 같이, 재생 목록 파일이 매우 많은 파일 목록들을 포함함에 따라, 파일 요청 및 획득에 따른 트래픽이 기하급수적으로 증가될 수 있다. 즉, 타임 시프팅 제공에 따라, 과거 시점으로 돌릴 수 있는 범위가 커질수록 재생 목록 파일의 크기 또한 증가하게 되고, 실시간 방송이므로 일정한 시간 간격으로 새롭게 갱신된 재생 목록 파일을 요청하고 획득하는데 따라 엄청난 트래픽이 유발된다. Due to the nature of the HLS service, newly created playlist files are requested and obtained at a certain time interval (for example, 0.5 times the length of the final image fragment file or the target length in the playlist file) when a new image fragment file is created. This results in an additional amount of traffic that has not been generated in conventional live services. In the HLS service that does not provide time shifting, a lot of traffic is generated in response to file request and acquisition. As described above, in the HLS service providing time shifting, as the playlist file includes a large number of file lists, Traffic due to requests and acquisitions can be exponentially increased. That is, according to provision of time shifting, the size of the playlist file increases as the range that can be turned to the past viewpoint increases, and since the live play is broadcast, requesting and acquiring a newly updated playlist file at a predetermined time interval, .

예를 들어, 도 3에서와 같이, 3개의 영상 조각 파일들을 포함하는 재생 목록 파일의 크기는 대략 250 Byte이고 총 재생 시간은 30초이다. 이러한 재생 목록 파일을 기준으로 타임 시프팅에 따른 과거 재생 시간이 24시간인 재생 목록 파일의 크기는 대략 24×60×60×250Byte/30=720000 Byte로, 대략 "703 Kbyte" 임을 알 수 있다. 이러한 타임 시프팅을 지원하는 재생 목록 파일을 10초 내지 5초에 한 번씩 받는다고 할 때, 약 563Kbps~1.10Mbps의 트래픽이 요구된다. 현재 주로 사용되는 영상의 전송 크기는 600Kbps~2 Mbps이다. 이를 바탕으로 본다면, 최소 현재의 전송 크기의 1.3배~3.2배의 전송량을 필요하게 된다. 하지만 위의 계산은 심플한 재생 목록 파일을 기준으로 계산한 것이며, 실제 서비스 제공시, 타임 시프팅을 가지는 라이브 스트리밍 서비스 제공시 재생 목록 파일 송수신을 위하여 위의 계산보다도 훨씬 많은 전송량이 요구된다. For example, as shown in FIG. 3, the size of the playlist file including three video fragment files is approximately 250 Bytes and the total playback time is 30 seconds. The size of the playlist file having a past play time of 24 hours according to time shifting based on the playlist file is approximately " 703 Kbytes ", approximately 24 x 60 x 60 x 250 Bytes / 30 = 720000 Bytes. When a playlist file supporting such time shifting is received every 10 to 5 seconds, traffic of about 563 Kbps to 1.10 Mbps is required. Currently, the transmission size of image is 600Kbps ~ 2Mbps. Based on this, it is necessary to transmit 1.3 to 3.2 times the minimum current transmission size. However, the above calculation is based on a simple playlist file. In case of providing a live streaming service having a time shifting when a real service is provided, a much larger transmission amount is required for transmitting / receiving the playlist file.

이에 따라, 본 발명의 실시 예에서는 타임 시프팅 기능을 제공하는 라이브 스트리밍 서비스에서, 재생 목록 파일을 보다 효율적으로 요청하고 획득할 수 있는 장치 및 방법을 제공한다. Accordingly, an embodiment of the present invention provides an apparatus and method for efficiently requesting and acquiring a playlist file in a live streaming service providing a time shifting function.

이하의 실시 예에서는 재생 목록 파일에 포함되는 영상 조각 파일들(TS 파일들)의 이름이 순차적으로 증가하는 것을 예로 들어서 설명하지만, 본 발명은 이에 한정되지 않는다. In the following embodiments, the names of the image fragment files (TS files) included in the playlist file are sequentially increased. However, the present invention is not limited thereto.

도 5는 본 발명의 실시 예에 따른 재생 목록 파일 관리 장치의 구조를 나타낸 도이다. 5 is a diagram illustrating a structure of a playlist file management apparatus according to an embodiment of the present invention.

첨부한 도 5에서와 같이, 본 발명의 실시 예에 따른 재생 목록 파일 관리 장치(100)는 재생 목록 파일 획득부(110), 영상 조각 파일 감시부(120), 재생 목록 파일 수정부(130), 재생 목록 파일 전송부(140)를 포함한다. 5, the playlist file management apparatus 100 according to the embodiment of the present invention includes a playlist file acquisition unit 110, a video fragment file monitoring unit 120, a playlist file management unit 130, And a playlist file transfer unit 140. [

재생 목록 파일 획득부(110)는 스트리밍 서버(2)로 재생 목록 파일을 요청하고 해당하는 재생 목록 파일을 획득한다. 재생 목록 파일은 도 4와 같은 구조로 이루어지며, 재생할 영상 조각 파일들의 이름 즉, 영상 조각 파일명들로 이루어진 재생 목록을 포함한다. The playlist file obtaining unit 110 requests the streaming server 2 to play the playlist file and obtains the corresponding playlist file. The playlist file has a structure as shown in FIG. 4, and includes a playlist composed of the names of video fragment files to be played, that is, image fragment file names.

영상 조각 파일 감시부(120)는 획득한 재생 목록 파일에 포함된 영상 조각 파일들을 감시하며, 재생 목록 파일에 포함된 영상 조각 파일명들로부터 처음 재생할 영상 조각 파일명과 마지막으로 재생할 영상 조각 파일명을 확인한다. 그리고 처음 재생할 영상 조각 파일명과 마지막으로 재생할 영상 조각 파일명을 토대로 각각 영상 조각 파일을 감시하는 동작을 병렬적으로 수행한다. The video sculpting file monitoring unit 120 monitors the video sculpting files included in the acquired playlist file and identifies the video sculpting filename to be played back first from the video sculpting filenames included in the playlist file and the video sculpting filename to be played last . In addition, the image sculpting file is monitored in parallel based on the image sculpting filename to be reproduced first and the image sculpting filename to be reproduced last.

이를 위하여, 영상 조각 파일 감시부(120)는 제1 조각 파일 감시부(121)와 제2 조각 파일 감시부(122)를 포함한다. To this end, the video fragment file monitoring unit 120 includes a first fragment file monitoring unit 121 and a second fragment file monitoring unit 122.

제1 조각 파일 감시부(121)는 재생 목록 파일로부터 획득한 마지막으로 재생할 영상 조각 파일명 즉, 마지막 영상 조각 파일명을 그 다음 순서에 해당하는 영상 조각 파일명으로 변경하고, 변경된 영상 조각 파일명으로 스트리밍 서버(2)로 재생할 영상 조각 파일을 요청한다. The first fragment file monitoring unit 121 changes the image fragment file name to be reproduced last obtained from the playlist file to the image fragment file name corresponding to the next sequence, and outputs the changed image fragment file name to the streaming server 2) request a video fragment file to be reproduced.

제2 조각 파일 감시부(122)는 재생 목록 파일로부터 획득한 처음으로 재생할 영상 조각 파일명 즉, 첫번째 영상 조각 파일명으로 스트리밍 서버(2)로 재생할 영상 조각 파일을 요청한다. The second fragment file monitoring unit 122 requests a video fragment file to be reproduced by the streaming server 2 with the first video fragment file name to be reproduced first obtained from the play list file.

제1 및 제2 조각 파일 감시부(121, 122)는 파일명으로 스트리밍 서버(2)로 재생할 영상 조각 파일을 요청할 때, 헤드(HEAD) 요청 방법을 사용할 수 있다. 헤드 요청은 실제적인 파일을 받지 않고 HTTP 헤더(header) 응답만을 받는 방식이다. 만약 스트리밍 서버(2)의 특성상 헤드 요청이 되지 않는 경우에는 GET 명령어를 사용하여 헤더 부분만 수신하는 방법을 사용할 수도 있다. The first and second fragment file monitoring units 121 and 122 can use a HEAD request method when requesting a video fragment file to be played back by the streaming server 2 as a file name. A head request is one that receives only an HTTP header (header) response without actually receiving the file. If a head request can not be made due to the characteristics of the streaming server 2, a method of receiving only a header portion using a GET command may be used.

제1 조각 파일 감시부(121)는 마지막 영상 조각 파일명의 다음 순서에 해당하는 영상 조각 파일명 즉, 변경 영상 조각 파일명으로 영상 조각 파일을 요청한 다음에, 스트리밍 서버(2)로부터 파일이 존재하는 것을 나타내는 응답을 받으면, 변경 영상 조각 파일명을 재생 목록에 추가한다. 그리고 스트리밍 서버(2)로부터 파일이 존재하지 않는 것으로 응답을 받으면 동일한 파일명 즉, 변경 영상 조각 파일명으로 스트리밍 서버(2)로 파일을 요청하는 동작을 반복한다. The first fragment file monitoring unit 121 requests the image fragment file with the image fragment file name corresponding to the next sequence of the last image fragment file name, that is, the changed image fragment file name, and then displays the file from the streaming server 2 When a response is received, the changed video image file name is added to the play list. When a response is received from the streaming server 2 that the file does not exist, the streaming server 2 repeats the operation of requesting the streaming server 2 with the same file name, that is, the changed video fragment file name.

제2 조각 파일 감시부(122)는 첫번째 영상 조각 파일명으로 영상 조각 파일을 요청한 다음에 스트리밍 서버(2)로부터 파일이 존재하는 것으로 응답을 받으면, 다시 동일한 파일명 즉, 첫번째 영상 조각 파일명으로 스트리밍 서버(2)로 영상 조각 파일명을 요청하는 동작을 반복한다. 반면, 첫번째 영상 조각 파일명으로 영상 조각 파일을 요청한 다음에 스트리밍 서버(2)로부터 파일이 존재하지 않는 것으로 응답을 받으면, 재생 목록에서 해당 파일명 즉, 첫번째 영상 조각 파일명을 삭제하고, 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어(#EXT-X-MEDIA-SEQUENCE)를 일정값(예를 들어, +1) 증가시킨다. When the second fragment file monitoring unit 122 receives a response from the streaming server 2 that the file exists, after requesting the image fragment file with the first image fragment file name, the second fragment file monitoring unit 122 re- 2) to repeat the operation of requesting the image segment file name. On the other hand, if a response is received that the file does not exist from the streaming server 2 after requesting the video fragment file with the first video fragment file name, the corresponding file name, i.e., the first video fragment file name is deleted from the play list, (# EXT-X-MEDIA-SEQUENCE) indicating the serial number of the file is incremented by a predetermined value (for example, +1).

재생 목록 파일 수정부(130)는 제1 및 제2 조각 파일 감시부(121, 122)의 감시 결과에 따라 재생 목록을 수정한다. 즉, 제1 조각 파일 감시부(121)의 제어에 따라 변경 영상 조각 파일명을 재생 목록에 추가한다. 또는 제2 조각 파일 감시부(122)의 제어에 따라 재생 목록에서 첫번째 영상 조각 파일명을 삭제하고, 지시어(#EXT-X-MEDIA-SEQUENCE)를 일정값(예를 들어, +1) 증가시킨다.The playlist file modification unit 130 modifies the playlist according to the monitoring results of the first and second fragmented file monitoring units 121 and 122. That is, under the control of the first fragment file monitoring unit 121, the changed image fragment file name is added to the reproduction list. (# EXT-X-MEDIA-SEQUENCE) is increased by a predetermined value (for example, +1) in accordance with the control of the first fragment file monitoring unit 122 or the second fragment file monitoring unit 122.

재생 목록 파일 전송부(140)는 재생 목록을 도시하지 않은 재생 장치로 제공하며, 특히 재생 목록 파일 수정부(130)에서 수정된 재생 목록을 재생 장치로 제공한다. 여기서 재생 장치는 클라이언트에서 동영상 데이터를 재생하는 장치를 나타낸다. The playlist file transfer unit 140 provides the playlist to a playback apparatus not shown, and in particular, the playlist file modification unit 130 provides the playlist modified to the playback apparatus. Here, the playback apparatus represents a device that plays video data on the client.

이러한 구조로 이루어지는 재생 목록 파일 관리 장치(100)는 클라이언트(1)에 위치하는 형태로 구현될 수 있다. The playlist file management apparatus 100 having such a structure can be implemented in a form located in the client 1. [

다음에는 이러한 구조를 토대로 본 발명의 실시 예에 따른 타임 시프팅을 지원하는 라이브 스트리밍 서비스에서의 재생 목록 파일을 요청하는 방법에 대하여 설명한다. A method of requesting a playlist file in a live streaming service supporting time shifting according to an embodiment of the present invention will now be described based on such a structure.

도 6은 본 발명의 실시 예에 따른 타임 시프팅을 지원하는 라이브 스트리밍 서비스에서의 재생 목록 파일 관리 방법의 흐름도이다.6 is a flowchart illustrating a method of managing a playlist file in a live streaming service supporting time shifting according to an embodiment of the present invention.

재생 목록 파일 관리 장치(100)는 획득한 재생 목록 파일을 재생 장치(도시하지 않음)로 전송하여 재생 목록 파일에 포함된 영상 조각 파일이 재생되도록 한다. The playlist file management device 100 transmits the acquired playlist file to a playback device (not shown) so that the video slice file included in the playlist file is played back.

라이브 스트리밍 서비스의 특성상 새로운 영상 조각 파일 생성하면서 새로이 재생 목록 파일이 생성된다. 본 발명의 실시 예서는 타임 시프팅 기능에 따라 라이브 스트리밍 서비스가 제공되는 경우에 방대한 파일 목록들이 포함되는 재생 목록 파일의 빈번한 요청 및 전송에 따른 전송량 증가를 방지하기 위하여, 재생 목록 파일 관리 장치(100)가 수신한 재생 목록 파일에 포함된 파일 목록들 중에서 첫번째 영상 조각 파일명과 마지막 영상 조각 파일명을 이용하여, 스트리밍 서버(2)로부터 새로이 생성되는 영상 조각 파일에 따른 재생 목록 파일의 변경 여부를 판단하고, 변경이 발생한 경우에는 추가적으로 재생 목록 파일을 수신하지 않고 관리하는 재생 목록 파일을 자체적으로 변경 처리하여 재생 장치가 새로이 생성된 영상 조각 파일을 수신하여 재생할 수 있도록 한다. Due to the nature of the live streaming service, a new playlist file is created while creating a new video slice file. In an embodiment of the present invention, when a live streaming service is provided according to the time shifting function, in order to prevent an increase in transmission amount due to frequent requests and transmission of a playlist file including a large number of file lists, , It is determined whether or not the playlist file according to the video piece file newly generated from the streaming server 2 has been changed using the first video fragment file name and the last video fragment file name among the file lists included in the play list file received by the streaming server 2 If a change has occurred, the playlist file managed without receiving the playlist file is changed, and the playback apparatus can receive and reproduce the newly created video slice file.

첨부한 도 6에서와 같이, 재생 목록 파일 관리 장치(100)는 재생 목록 파일을 스트리밍 서버(2)로 요청하고, 스트리밍 서버(2)로부터 재생 목록 파일(예를 들어, 도 4와 같은 재생 목록 파일)을 획득한다(S100, S110).6, the playlist file management apparatus 100 requests the playlist file from the streaming server 2 and transmits a playlist file (for example, a playlist file File) (S100, S110).

재생 목록 파일 관리 장치(100)는 획득된 재생 목록 파일에 포함된 영상 조각의 파일명들 중에서, 첫번째 영상 조각 파일명과, 마지막 영상 조각 파일명을 획득한다(S120). 그리고 재생 목록 파일 관리 장치(100)는 첫번째 영상 조각 파일명과, 마지막 영상 조각 파일명을 토대로 라이브 스트리밍 서비스되고 있는 영상 조각 파일들을 감시하고 감시 결과에 따라 재생 목록 파일을 수정하여 재생 장치로 전달한다. The playlist file management apparatus 100 obtains the first video fragment file name and the last video fragment file name among the file names of the video fragments included in the obtained play list file (S120). Then, the playlist file management apparatus 100 monitors video image files being live streamed on the basis of the first video fragment file name and the last video fragment file name, modifies the play list file according to the monitoring result, and transmits the modified play list file to the playback apparatus.

구체적으로, 재생 목록 파일 관리 장치(100)는 마지막 영상 조각 파일명을 그 다음 순서에 해당하는 파일명으로 변경한다(S130). 여기서는 영상 조각 파일명이 순차적으로 증가하고 있는 것으로 가정하고 있으므로, 도 4와 같은 구조의 재생 목록 파일이 획득된 경우, 마지막 영상 조각 파일명 "11322.ts"를 +1 증가시켜, "11323.ts"로 변경한다. Specifically, the playlist file management apparatus 100 changes the last image fragment file name to a file name corresponding to the next sequence (S130). In this case, it is assumed that the image piece file names are sequentially increasing. Therefore, when the play list file having the structure as shown in FIG. 4 is acquired, the last image piece file name "11322.ts" is incremented by one to "11323.ts" Change it.

그리고 재생 목록 파일 관리 장치(100)는 마지막 영상 조각 파일명을 변경한 변경 영상 조각 파일명(11323.ts)을 스트리밍 서버(2)로 전송하면서 영상 조각 파일을 요청한다(S140). 이러한 요청에 따라 스트리밍 서버(2)로부터 응답이 수신된다. Then, the playlist file management apparatus 100 requests the image sculpting file while transmitting the changed image sculpting filename 11323.ts to the streaming server 2 (S140). A response is received from the streaming server 2 in response to such a request.

도 7은 본 발명의 실시 예에 따른 파일 요청 및 그에 따른 응답을 나타낸 예시도이다. 7 is an exemplary view illustrating a file request and a response according to an embodiment of the present invention.

재생 목록 파일 관리 장치(100)는 도 7에서와 같이, "11323.ts"를 포함하는 헤드 요청을 스트리밍 서버(2)로 전송한다. 이에 따라 스트리밍 서버(2)로부터 요청에 대응하는 파일이 존재하지 않음을 나타내는 응답(Res.1)이 수신되거나, 요청에 대응하는 파일이 존재함을 나타내는 응답(Res. 2)이 수신된다. The playlist file management apparatus 100 transmits a head request including "11323.ts" to the streaming server 2, as in Fig. Accordingly, a response Res.1 indicating that the file corresponding to the request does not exist is received from the streaming server 2, or a response (Res. 2) indicating that the file corresponding to the request exists is received.

재생 목록 파일 관리 장치(100)는 파일이 존재하지 않음을 나타내는 응답(예: Res.1)을 수신하면, 아직 새로운 영상 조각 파일이 생성되지 않은 상태로 판단하고 동일한 변경 영상 조각 파일명(예: 11323.ts)을 토대로 스트리밍 서버(2)로 영상 조각 파일을 요청하는 것을 반복 수행한다(S150). When receiving a response (e.g., Res.1) indicating that the file does not exist, the playlist file management apparatus 100 determines that a new video fragment file has not yet been generated and stores the same changed video fragment file name (e.g., 11323 (S150), the streaming server 2 repeatedly requests the image sculpting file.

그러나 요청에 대응하는 파일이 존재함을 나타내는 응답(예: Res. 2)이 수신되면, 재생 목록 파일 관리 장치(100)는 새로운 영상 조각 파일이 생성된 상태로 판단하고 재생 목록 파일에 파일명 즉, 변경 영상 조각 파일명(예: 11323.ts)을 추가한다(S160).However, if a response indicating that a file corresponding to the request exists (e.g., Res. 2) is received, the playlist file management apparatus 100 determines that a new video fragment file has been created, A modified image fragment file name (e.g., 11323.ts) is added (S160).

한편, 재생 목록 파일 관리 장치(100)는 마지막 영상 조각 파일명을 토대로 한 영상 조각 파일 생성 여부를 감시하는 동작을 수행하면서, 첫번째 영상 조각 파일명을 토대로 하는 감시 동작을 병렬적으로 수행한다. 재생 목록 장치(100)는 도 4와 같은 구조의 재생 목록 파일이 획득된 경우, 첫번째 영상 조각 파일명 "2680.ts"를 스트리밍 서버(2)로 전송하면서 영상 조각 파일을 요청한다(S170). On the other hand, the playlist file management apparatus 100 performs surveillance operations based on the first video fragment file name while performing an operation of monitoring whether or not to generate a video fragment file based on the last video fragment file name. When the playlist file having the structure as shown in FIG. 4 is obtained, the playlist device 100 requests the video thumbnail file while transmitting the first video thumbnail file name "2680.ts" to the streaming server 2 (S170).

이러한 요청에 따라 스트리밍 서버(2)로부터 요청에 대응하는 파일이 존재하지 않음을 나타내는 응답(예: Res.1)이 수신되면, 재생 목록 파일에서 해당 파일명 즉, 첫번째 영상 조각 파일명(예: 2680.ts)을 삭제한다(S180, S190). 그리고 재생 목록 파일에서 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어(#EXT-X-MEDIA-SEQUENCE)의 값을 변경시켜서 처음으로 재생할 파일의 순서를 변경한다. 즉, 지시어 EXT-X-MEDIA-SEQUENCE의 값에 예를 들어, +1을 더한다(S200). 이에 따라 재생 목록 파일에서 "2680.ts"이 아니라 "2681.ts"부터 재생하게 된다. When a response (e.g., Res.1) indicating that the file corresponding to the request does not exist is received from the streaming server 2 in response to such a request, the corresponding file name, i.e., the first video fragment file name (e.g., 2680. ts) are deleted (S180, S190). And change the value of the directive (# EXT-X-MEDIA-SEQUENCE) indicating the serial number of the file to be played first in the playlist file to change the order of the file to be played first. That is, +1 is added to the value of the directive EXT-X-MEDIA-SEQUENCE (S200), for example. Accordingly, the playlist file is played back from "2681.ts" instead of "2680.ts".

반면, 첫번째 영상 조각 파일명을 토대로 한 요청에 따라 스트리밍 서버(2)로부터 요청에 대응하는 파일이 존재함을 나타내는 응답(예: Res.2)이 수신되면, 재생 목록 파일 관리 장치(100)는 동일한 첫번째 영상 조각 파일명(예: 2680.ts)을 토대로 스트리밍 서버(2)로 영상 조각 파일을 요청하는 것을 반복 수행한다. On the other hand, when a response (e.g., Res. 2) indicating that a file corresponding to the request exists is received from the streaming server 2 in response to a request based on the first video fragment file name, It repeatedly requests the streaming server 2 to request a video fragment file based on the first video fragment file name (e.g., 2680.ts).

이와 같이, 영상 조각 파일 감시 동작에 따라, 스트리밍 서버(2)에서 새로운 영상 조각 파일 생성에 따라 재생 목록 파일이 변경된 것으로 판단되면, 추가적으로 재생 목록 파일을 수신하지 않고 이전에 수신하였던 재생 목록 파일의 첫번째로 재생할 영상 조각 파일의 순서를 변경하거나, 마지막 영상 조각 파일명을 변경한다. If the streaming server 2 determines that the playlist file has been changed in accordance with the generation of the new video segmentation file in the above manner, the streaming server 2 may not additionally receive the playlist file, To change the order of the image slice files to be played back, or to change the last image slice file name.

재생 목록 파일 관리 장치(100)는 변경 처리된 재생 목록 파일을 재생 장치의 요청에 따라 재생 장치로 전달한다(S210). The playlist file management apparatus 100 delivers the changed playlist file to the playback apparatus at the request of the playback apparatus (S210).

한편, 재생 목록 파일 관리 장치(100)는 변경 처리된 재생 목록 파일을 토대로 위에 기술된 단계들(S120~S210)을 반복적으로 수행한다. On the other hand, the playlist file management apparatus 100 repeatedly performs the above-described steps S120 to S210 on the basis of the changed playlist file.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention are not limited to the above-described apparatuses and / or methods, but may be implemented through a program for realizing functions corresponding to the configuration of the embodiment of the present invention, a recording medium on which the program is recorded And such an embodiment can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
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, It belongs to the scope of right.

Claims (6)

라이브 스트리밍 서비스 제공에 따른 재생 목록 파일을 관리하는 방법에서,
스트리밍 서버로 재생 목록 파일을 요청하고 수신하는 단계;
상기 수신된 재생 목록 파일에 포함된 재생 목록들 중에서 마지막 영상 조각 파일명을 토대로 하는 다음 번 순서의 영상 조각 파일명을 상기 스트리밍 서버로 전송하면서 해당하는 영상 조각 파일을 요청하는 제1 요청 단계
첫번째 영상 조각 파일명을 상기 스트리밍 서버로 전송하면서 해당하는 영상 조각 파일을 요청하는 제2 요청 단계;
상기 스트리밍 서버로부터 상기 제1 요청 단계 또는 상기 제2 요청 단계에 대응하는 응답을 수신하는 단계;
상기 제1 요청 단계의 요청에 대한 응답으로, 대응하는 영상 조각 파일의 존재를 나타내는 응답이 수신된 경우, 상기 다음번 순서의 영상 조각 파일명을 상기 수신된 재생 목록 파일에 추가하는 단계; 및
상기 제 2 요청 단계의 요청에 대한 응답으로, 대응하는 영상 조각 파일이 존재하지 않음을 나타내는 응답이 수신된 경우, 상기 수신된 재생 목록 파일에서 재생 순서를 변경하는 단계
를 포함하는, 재생 목록 파일 관리 방법.
In a method of managing a playlist file according to a live streaming service provision,
Requesting and receiving a playlist file with a streaming server;
A first request step of requesting a corresponding image fragment file while transmitting a next image fragment file name based on a last image fragment file name among the play lists included in the received play list file to the streaming server,
A second requesting step of requesting a corresponding image fragment file while transmitting a first image fragment file name to the streaming server;
Receiving a response corresponding to the first requesting step or the second requesting step from the streaming server;
Adding, in response to the request of the first requesting step, a video piece file name of the next order to the received playlist file when a response indicating the existence of a corresponding video fragment file is received; And
Changing a playback order in the received playlist file when a response indicating that a corresponding video fragment file does not exist is received in response to the request of the second request step
/ RTI > of the playlist file.
제1항에 있어서
상기 제1 요청 단계의 요청에 대한 응답으로 대응하는 파일이 존재하지 않음을 나타내는 응답이 수신된 경우, 상기 제1 요청 단계를 반복 수행하고,
상기 제2 요청 단계의 요청에 대한 응답으로 대응하는 파일이 존재함을 나타내는 응답이 수신된 수신한 경우, 상기 제2 요청 단계를 반복 수행하는, 재생 목록 파일 관리 방법.
The method of claim 1, wherein
When a response indicating that a corresponding file does not exist is received in response to the request of the first request step, the first request step is repeatedly performed,
And repeating the second request step when a response indicating that a corresponding file exists is received in response to the request of the second request step.
제1항에 있어서
상기 재생 목록 파일이 재생할 영상 조각 파일명들, 각 파일의 최대 재생 시간을 나타내는 지시어, 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어를 포함하며,
상기 재생 순서를 변경하는 단계는, 상기 재생 목록 파일에 포함된 상기 일련 번호를 나타내는 지시어를 +1 증가시키는, 재생 목록 파일 관리 방법.
The method of claim 1, wherein
A directive indicating a maximum playback time of each file, and a directive indicating a serial number of a file to be played back first,
Wherein the step of changing the reproduction order increases the directive indicating the serial number included in the playlist file by +1.
제3항에 있어서
상기 재생 순서를 변경하는 단계는
상기 재생 목록 파일에서 상기 첫번째 영상 조각 파일명을 삭제하는 단계를 더 포함하는, 재생 목록 파일 관리 방법.
The method of claim 3, wherein
The step of changing the playback order
Further comprising deleting the first video segment file name from the playlist file.
제1항에 있어서
상기 제1 요청 단계 및 상기 제2 요청 단계는 병렬적으로 수행되는, 재생 목록 파일 관리 방법.
The method of claim 1, wherein
Wherein the first requesting step and the second requesting step are performed in parallel.
제1항에 있어서
상기 제1 요청 단계 및 제2 요청 단계는 실제적인 파일을 받지 않고 HTTP(hyper text transfer protocol) 헤더(header) 응답만을 받는 헤드(HEAD) 요청 방법을 이용하여 요청을 수행하는, 재생 목록 파일 관리 방법.













The method of claim 1, wherein
Wherein the first requesting step and the second requesting step perform a request using a HEAD request method that receives only a hypertext transfer protocol (HTTP) header response without receiving an actual file, .













KR1020130062028A 2013-05-30 2013-05-30 Method and apparatus for managing playlist file in streaming service KR101397183B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130062028A KR101397183B1 (en) 2013-05-30 2013-05-30 Method and apparatus for managing playlist file in streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130062028A KR101397183B1 (en) 2013-05-30 2013-05-30 Method and apparatus for managing playlist file in streaming service

Publications (1)

Publication Number Publication Date
KR101397183B1 true KR101397183B1 (en) 2014-05-19

Family

ID=50894699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130062028A KR101397183B1 (en) 2013-05-30 2013-05-30 Method and apparatus for managing playlist file in streaming service

Country Status (1)

Country Link
KR (1) KR101397183B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101743228B1 (en) * 2016-01-22 2017-06-05 네이버 주식회사 Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium
KR20210051312A (en) * 2019-10-30 2021-05-10 주식회사 엘지유플러스 System and method for providing music streaming service
US11838560B2 (en) 2019-09-04 2023-12-05 Naver Corporation Method and system for playing back streaming content using local streaming server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110059429A (en) * 2009-11-27 2011-06-02 주식회사 아이티컨트롤 Method for distributed media streaming for iphone and apparatus for the same and system for the same
KR20110111213A (en) * 2010-04-02 2011-10-10 삼성전자주식회사 Method and system for providing timeshift service in digital broadcasting system
KR101087599B1 (en) 2010-08-02 2011-11-29 주식회사 씬멀티미디어 Transmission control method for http streaming video service
KR101089562B1 (en) 2010-04-27 2011-12-05 주식회사 나우콤 P2p live streaming system for high-definition media broadcasting and the method therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110059429A (en) * 2009-11-27 2011-06-02 주식회사 아이티컨트롤 Method for distributed media streaming for iphone and apparatus for the same and system for the same
KR20110111213A (en) * 2010-04-02 2011-10-10 삼성전자주식회사 Method and system for providing timeshift service in digital broadcasting system
KR101089562B1 (en) 2010-04-27 2011-12-05 주식회사 나우콤 P2p live streaming system for high-definition media broadcasting and the method therefor
KR101087599B1 (en) 2010-08-02 2011-11-29 주식회사 씬멀티미디어 Transmission control method for http streaming video service

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101743228B1 (en) * 2016-01-22 2017-06-05 네이버 주식회사 Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium
US10404828B2 (en) 2016-01-22 2019-09-03 Naver Corporation Streaming apparatus, streaming method, and streaming service system using the streaming apparatus
US11838560B2 (en) 2019-09-04 2023-12-05 Naver Corporation Method and system for playing back streaming content using local streaming server
KR20210051312A (en) * 2019-10-30 2021-05-10 주식회사 엘지유플러스 System and method for providing music streaming service
KR102292416B1 (en) * 2019-10-30 2021-08-24 주식회사 엘지유플러스 System and method for providing music streaming service

Similar Documents

Publication Publication Date Title
JP6852121B2 (en) Extended block-request streaming system with signaling or block generation
US10735800B2 (en) Rendering content and time-shifted playback operations for personal over-the-top network video recorder
US11350139B2 (en) Video live broadcast method and apparatus
US10015222B2 (en) Systems and methods for selective retrieval of adaptive bitrate streaming media
CA2748548C (en) Real-time or near real-time streaming
CN106209892B (en) Streaming is requested using the enhanced block of scalable coding
KR101445994B1 (en) Real-time or near real-time streaming with compressed playlists
JP5588517B2 (en) Streaming with optional broadcast delivery of data segments
KR101535366B1 (en) Playlists for real-time or near real-time streaming
JP5988378B6 (en) Data providing method and device, and data receiving method and device
US9930408B2 (en) Live streaming circular buffer
EP3425921B1 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
US20100169458A1 (en) Real-Time or Near Real-Time Streaming
KR101476938B1 (en) Selectively receiving media content
US20150007239A1 (en) Smart pre-load for video-on-demand in an http adaptive streaming environment
KR101743228B1 (en) Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium
JP2016519895A (en) Media file reception and media file transmission method, apparatus, and system
KR102085192B1 (en) Rendering time control
JPWO2016174960A1 (en) Reception device, transmission device, and data processing method
KR101397183B1 (en) Method and apparatus for managing playlist file in streaming service
KR101568317B1 (en) System for supporting hls protocol in ip cameras and the method thereof
AU2016202709B2 (en) Real-time or near real-time streaming
JP6009501B2 (en) Streaming with optional broadcast delivery of data segments
KR20110119490A (en) Method for playing of live contents in broadcasting system
AU2013201691B2 (en) Method for streaming multimedia data over a non-streaming protocol

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190513

Year of fee payment: 6