KR102262982B1 - 라이브 스트림 슬라이싱 방법, 장치 및 시스템 - Google Patents

라이브 스트림 슬라이싱 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102262982B1
KR102262982B1 KR1020190141697A KR20190141697A KR102262982B1 KR 102262982 B1 KR102262982 B1 KR 102262982B1 KR 1020190141697 A KR1020190141697 A KR 1020190141697A KR 20190141697 A KR20190141697 A KR 20190141697A KR 102262982 B1 KR102262982 B1 KR 102262982B1
Authority
KR
South Korea
Prior art keywords
live
live stream
server
stream
requested
Prior art date
Application number
KR1020190141697A
Other languages
English (en)
Other versions
KR20200092249A (ko
Inventor
전량 장
후이펑 션
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20200092249A publication Critical patent/KR20200092249A/ko
Application granted granted Critical
Publication of KR102262982B1 publication Critical patent/KR102262982B1/ko

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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 실시예는 라이브 스트림 슬라이싱 방법, 장치 및 시스템을 개시한다. 상기 라이브 스트림 슬라이싱 방법의 하나의 구체적인 실시형태는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계; 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 단계; 및 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 하는 단계를 포함한다. 상기 실시형태는 HLS 소스 스테이션 서버를 통해 라이브 스트림을 슬라이싱하고, 오브젝트 스토지리 서버를 통해, 획득한 인덱스 파일 및 프래그먼트 파일을 저장함으로써, 라이브 지연을 감소시키기에 유리하며 라이브 서비스의 가용성을 크게 향상시킨다.

Description

라이브 스트림 슬라이싱 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR SLICING LIVE STREAMING}
본 발명의 실시예는 컴퓨터 기술 분야에 관한 것으로, 구체적으로 라이브 스트림 슬라이싱 방법, 장치 및 시스템에 관한 것이다.
HLS(HTTP Live Streaming, 하이퍼 텍스트 라이브 스트림) 프로토콜은 HTTP(HyperText Transfer Protocol, 하이퍼 텍스트 전송 프로토콜) 기반의 스트리밍 미디어 전송 프로토콜로서, 인터넷 리이브 영상 분야에 널리 사용되며 현재 주로 사용되는 인터넷 라이브 프로토콜 중 하나이다.
기타 일반적인 인터넷 라이브 프로토콜에 비해 HLS 프로토콜의 가장 큰 차이점은, HLS 프로토콜이 서버 상에서 라이브 스트림을 연속적이고 지속 시간이 매우 짧은 TS(Transport Stream) 파일로 슬라이싱하고 라이브 시청 사용자들이 이러한 TS 파일을 지속적으로 다운로드하여 재생하도록 하는 것에 있다. 서버는 항상 최신 라이브 스트림에 대한 새로운 TS 파일을 생성하므로, 라이브 시청 사용자는 단지 서버로부터 획득한 TS 파일을 순서에 따라 연속적으로 재생하기만 하면 라이브를 구현할 수 있다.
현재, HLS 프로토콜은 CDN(Content Delivery Network, 콘텐츠 전송 네트워크) 에지 노드로부터 라이브 소스 스테이션 서버로 스트림을 풀링하고, 로컬에서 라이브 스트림을 전환하여 M3U8 파일 및 TS 파일을 생성하는데, 이를 HLS 에지 슬라이싱이라고 지칭한다. HLS 에지 슬라이싱의 구체적인 프로세스는 하기와 같다. 라이브 시청 사용자가 CDN 에지 노드에 라이브 요청을 발송하고, CDN 에지 노드의 로드 밸런싱 서버는 로드 밸런싱 전략에 따라 라이브 요청을 CDN 에지 노드의 백엔드 스트리밍 미디어 서버에 전달하며, 백엔드 스트리밍 미디어 서버는 우선 로컬에 요청된 라이브 스트림의 M3U8 파일 및 TS 파일이 저장되었는지 여부를 조회하고, 저장되어 있지 않을 경우, 상위 CDN 노드에 소스 리턴 요청을 전송하며, 상위 CDN 노드에 요청된 라이브 스트림이 저장되어 있지 않을 경우, 라이브 소스 스테이션 서버까지 이어서 위로 소스 리턴한다. 백엔드 스트리밍 미디어 서버는 라이브 시청 사용자가 라이브로 시청하도록, 라이브 소스 스테이션 서버로부터 스트림을 풀링하고 로컬에서 M3U8 파일 및 TS 파일로 패킹하여 라이브 시청 사용자에게 전송한다.
본 출원의 실시예는 라이브 스트림 슬라이싱 방법, 장치 및 시스템을 제공한다.
제1 양태에 있어서, 본 출원의 실시예는 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버에 적용되는 라이브 스트림 슬라이싱 방법을 제공하며, 상기 방법은, 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계; 상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 단계; 및 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일이 상기 오브젝트 스토지리 서버에 저장되도록 하는 단계를 포함한다.
일부 실시예에 있어서, 상기 방법은, 콘텐츠 전송 네트워크(CDN) 에지 노드 서버에 의해 전송된 라이브 요청을 수신하는 단계 - 상기 라이브 요청은 라이브 시청 사용자의 단말기로부터 상기 CDN 에지 노드 서버에 전송된 것임 - ; 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하는 단계; 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하는 단계; 및 요청된 라이브 스트림의 인덱스 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송하도록 하는 단계를 더 포함한다.
일부 실시예에 있어서, 상기 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계는, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득하는 단계를 포함한다.
일부 실시예에 있어서, 상기 방법은, 요청된 라이브 스트림의 프래그먼트 파일을 획득하는 단계; 및 요청된 라이브 스트림의 프래그먼트 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 상기 단말기에 전송하도록 하는 단계를 더 포함한다.
제2 양태에 있어서, 본 출원의 실시예는 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버에 설치되는 라이브 스트림 슬라이싱 장치를 제공하며, 상기 장치는, 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 제1 획득 유닛; 상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 슬라이싱 유닛; 및 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일이 상기 오브젝트 스토지리 서버에 저장되도록 하는 제1 전송 유닛을 포함한다.
일부 실시예에 있어서, 상기 장치는, 콘텐츠 전송 네트워크(CDN) 에지 노드 서버에 의해 전송된 라이브 요청을 수신하는 수신 유닛 - 상기 라이브 요청은 라이브 시청 사용자의 단말기로부터 상기 CDN 에지 노드 서버에 전송된 것임 - ; 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하는 확정 유닛; 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하는 제2 획득 유닛; 및 요청된 라이브 스트림의 인덱스 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송하도록 하는 제2 전송 유닛을 더 포함한다.
일부 실시예에 있어서, 상기 제1 획득 유닛은 또한, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득한다.
일부 실시예에 있어서, 상기 장치는, 요청된 라이브 스트림의 프래그먼트 파일을 획득하는 제3 획득 유닛; 및 요청된 라이브 스트림의 프래그먼트 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 상기 단말기에 전송하도록 하는 제3 전송 유닛을 더 포함한다.
제3 양태에 있어서, 본 출원의 실시예는 라이브 스트림 슬라이싱 시스템을 제공하며, 상기 시스템은, 라이브 소스 스테이션 서버, 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버 및 오브젝트 스토지리 서버를 포함하고; 상기 HLS 소스 스테이션 서버는 상기 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하며, 상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하고, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 상기 오브젝트 스토지리 서버에 전송하며; 상기 오브젝트 스토지리 서버는 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장한다.
일부 실시예에 있어서, 상기 시스템은, 라이브 시청 사용자의 단말기, 콘텐츠 전송 네트워크(CDN) 스케줄링 서버 및 CDN 에지 노드 서버를 더 포함하고; 상기 단말기는 상기 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송하며, 상기 라이브 도메인 네임 분석 요청에는 라이브 도메인 네임이 포함되고; 상기 CDN 스케줄링 서버는 상기 라이브 도메인 네임을 CDN 에지 노드의 가상 인터넷 프로토콜 주소(VIP)로 분석하여, 상기 VIP를 상기 단말기에 전송하고; 상기 단말기는 또한 상기 VIP에 기반하여 상기 CDN 에지 노드 서버에 라이브 요청을 전송하며; 상기 CDN 에지 노드 서버는 상기 HLS 소스 스테이션 서버에 상기 라이브 요청을 전송하고; 상기 HLS 소스 스테이션 서버는 또한 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하며, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하고; 상기 CDN 에지 노드 서버는 또한 상기 HLS라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하여, 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송한다.
일부 실시예에 있어서, 상기 HLS 소스 스테이션 서버는 또한, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득한다.
일부 실시예에 있어서, 상기 HLS 소스 스테이션 서버는 또한, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득한다.
제4 양태에 있어서, 본 개시의 실시예는 서버를 제공하고, 상기 서버는, 하나 또는 복수의 프로세서; 및 하나 또는 복수의 프로그램이 저장된 저장 장치를 포함하고, 상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 제1항 내지 제4항 중 어느 한 항에 따른 라이브 스트림 슬라이싱 방법을 구현하도록 한다.
제5 양태에 있어서, 본 개시의 실시예는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 제공하며, 상기 컴퓨터 프로그램은 프로세서에 의해 실행될 경우 제1항 내지 제4항 중 어느 한 항에 따른 라이브 스트림 슬라이싱 방법을 구현한다.
본 출원의 실시예에 제공되는 라이브 스트림 슬라이싱 방법,장치 및 시스템에 따르면, HLS 소스 스테이션 서버가 우선 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고; 다음 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하며; 마지막으로 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송함으로써, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 한다. HLS 소스 스테이션 서버를 통해 라이브 스트림을 슬라이싱하고, 오브젝트 스토지리 서버를 통해, 획득한 인덱스 파일 및 프래그먼트 파일을 저장한다. 라이브 시청 사용자의 단말기가 라이브 요청을 발송할 경우, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고, 슬라이싱을 거쳐 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 생성하거나, 또는 오브젝트 스토지리 서버로부터 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 획득함하여, 라이브 시청 사용자의 단말기에 리턴함으로써, 이는 라이브 지연을 감소시키기에 유리하다.
아래 첨부 도면에 도시된 비 제한적인 실시예의 상세한 설명에 대한 열독 및 참조를 통해 본 발명의 다른 특징, 목적 및 이점이 보다 명백해질 것이다.
도 1은 본 발명이 적용 가능한 예시적인 시스템 아키텍처이다.
도 2는 본 발명에 따른 라이브 스트림 슬라이싱 방법의 일 실시예의 흐름도이다.
도 3은 본 발명에 따른 라이브 스트림 슬라이싱 방법의 다른 실시예의 흐름도이다.
도 4는 본 발명에 따른 라이브 스트림 슬라이싱 장치의 일 실시예의 구조 개략도이다.
도 5는 본 발명에 따른 라이브 스트림 슬라이싱 시스템의 일 실시예의 타이밍 다이어그램이다.
도 6은 본 발명에 따른 라이브 스트림 슬라이싱 시스템의 다른 실시예의 타이밍 다이어그램이다.
도 7은 도 6에 도시된 라이브 스트림 슬라이싱 시스템의 하나의 응용 상황의 개략도이다.
도 8은 본 발명의 실시예의 서버를 구현하기에 적합한 컴퓨터 시스템의 구조 개략도이다.
이하 첨부 도면 및 실시예를 참조하여 본 발명을 더욱 자세히 설명한다. 여기서 설명되는 구체적인 실시예는 관련 발명을 분석하기 위한 것일 뿐 본 발명은 이에 한정되지 않음을 이해할 수 있을 것이다. 이 밖에, 설명의 편의를 위해 도면에는 해당 발명과 관련된 부분만이 도시되었음을 유의해야 한다.
충돌되지 않는 한 본 발명의 실시예 및 실시예의 특징은 서로 결합될 수 있음에 유의해야 한다. 이하 첨부 도면을 참조하고 실시예를 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 라이브 스트림 슬라이싱 방법 또는 라이브 스트림 슬라이싱 장치를 적용 가능한 실시예의 예시적인 시스템 아키텍처(100)를 도시한다.
도 1에 도시된 바와 같이, 시스템 아키텍처(100)에는 라이브 소스 스테이션 서버(101), HLS 소스 스테이션 서버(102), 오브젝트 스토지리 서버(103) 및 네트워크(104, 105)가 포함될 수 있다. 네트워크(104)는 라이브 소스 스테이션 서버(101) 및 HLS 소스 스테이션 서버(102) 사이에서 통신 링크의 매개물을 제공하고, 네트워크(105)는 HLS 소스 스테이션 서버(102) 및 오브젝트 스토지리 서버(103) 사이에서 통신 링크의 매개물을 제공한다. 네트워크(104, 105)는 예를 들어, 유선, 무선 통신 링크 또는 광섬유 케이블 등 다양한 연결 타입을 포함할 수 있다.
HLS 소스 스테이션 서버(102)는 네트워크(104)를 통해 라이브 소스 스테이션 서버(101)와 상호 작용할 수 있으며, 메시지 등을 송수신하기 위해 네트워크(105)를 통해 오브젝트 스토지리 서버(103)와 상호 작용할 수도 있다.
라이브 소스 스테이션 서버(101)는 라이브 스트림을 저장할 수 있고, 오브젝트 스토지리 서버(103)는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장할 수 있으며, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버(101)로부터 라이브 스트림을 획득하고; 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하며; 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버(103)에 전송하여, 오브젝트 스토지리 서버(103)가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 할 수 있다.
여기서, 라이브 소스 스테이션 서버(101), HLS 소스 스테이션 서버(102) 및 오브젝트 스토지리 서버(103)는 하드웨어 또는 소프트웨어일 수 있다. 라이브 소스 스테이션 서버(101), HLS 소스 스테이션 서버(102) 및 오브젝트 스토지리 서버(103)가 하드웨어일 경우, 복수의 서버로 구성된 분산형 서버 클러스터로 구현되거나 단일 서버로 구현될 수도 있다. 라이브 소스 스테이션 서버(101), HLS 소스 스테이션 서버(102) 및 오브젝트 스토지리 서버(103)가 소프트웨어일 경우, 복수의 소프트웨어 또는 소프트웨어 모듈로 구현되거나(예를 들어, 분산형 서비스를 제공하기 위함), 단일 소프트웨어 또는 소프트웨어 모듈로 구현될 수 있으며, 여기서 구체적으로 한정하지 않는다.
여기서, 본 발명의 실시예에 의해 제공된 라이브 스트림 슬라이싱 방법은 일반적으로 HLS 소스 스테이션 서버(102)에 의해 수행되고, 이에 따라, 라이브 스트림 슬라이싱 장치는 일반적으로 HLS 소스 스테이션 서버(102)에 설치된다.
도 1의 라이브 소스 스테이션 서버, HLS 소스 스테이션 서버, 오브젝트 스토지리 서버 및 네트워크의 수량은 단지 예시적인 것일 뿐, 구현 요구에 따라 임의의 수량의 라이브 소스 스테이션 서버, HLS 소스 스테이션 서버, 오브젝트 스토지리 서버 및 네트워크를 구비할 수 있음을 이해해야 한다.
이어서 도 2를 참조하면, 이는 본 발명에 따른 라이브 스트림 슬라이싱 방법의 일 실시예의 흐름(200)을 도시한다. 상기 라이브 스트림 슬라이싱 방법은 HLS 소스 스테이션 서버에 적용되고 하기 단계들을 포함한다.
단계 201에서, 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득한다.
본 실시예에서, HLS 소스 스테이션 서버(예를 들어, 도 1에 도시된 HLS 소스 스테이션 서버(102))는 라이브 소스 스테이션 서버(예를 들어, 도 1에 도시된 라이브 소스 스테이션 서버(101))로부터 라이브 스트림을 획득할 수 있다. 여기서, 라이브 스트림은 라이브 제공자가 그의 단말기를 이용하여 녹화한 리이브 영상일 수 있다. 일반적으로, 라이브 제공자는 그의 단말기를 이용하여 라이브 소스 스테이션 서버에 스트림을 푸시할 수 있고, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 스트림을 풀링할 수 있다. 구체적으로, 라이브 제공자는 그의 단말기를 이용하여 라이브 소스 스테이션 서버에 스트림 푸시 요청을 전송할 수 있고, 스트림 푸시 요청에는 라이브 스트림이 포함될 수 있다. 라이브 소스 스테이션 서버는 스트림 푸시 요청으로부터 라이브 스트림을 추출하여 저장하고, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버에 스트림 풀링 요청을 전송하되, 스트림 풀링 요청에는 요청된 라이브 스트림의 식별자가 포함될 수 있다. 스트림 풀링 요청을 수신한 후, 라이브 소스 스테이션 서버는 요청된 라이브 스트림의 식별자에 기반하여 로컬에 저장된, 요청된 라이브 스트림을 검색함으로써, HLS 소스 스테이션 서버에 요청된 라이브 스트림을 전송할 수 있다.
실행 과정에서, HLS 소스 스테이션 서버는 능동적(proactively) 또는 수동적으로(passively) 스트림을 풀링할 수 있다. 소위 능동적 스트림 풀링은, 즉 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버에 저장된 라이브 스트림을 능동적으로 감지하고, 라이브 스트림을 감지한 후 라이브 소스 스테이션 서버에 스트림을 풀링하는 것을 가리킨다. 소위 수동적 스트림 풀링은, 즉 라이브 시청 사용자에 의해 전송된 라이브 요청을 수신하고 오브젝트 스토지리 서버(예를 들어, 도 1에 도시된 오브젝트 스토지리 서버(103))에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않음을 확인한 경우, HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버에 스트림을 풀링할 수 있음을 가리킨다.
단계 202에서, 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성한다.
본 실시예에서, HLS 소스 스테이션 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하기 위해, 라이브 스트림을 슬라이싱할 수 있다. 여기서, 인덱스 파일은 M3U8 파일이고 프래그먼트 파일은 TS 파일일 수 있다. 일반적으로, M3U8 파일에 기록된 인덱스에 따라 TS 파일을 검색하고, 검색된 TS 파일을 순서에 따라 연속적으로 재생하여 재생 라이브 스트림을 생성할 수 있다.
실행 과정에서, HLS 프로토콜은 HLS 소스 스테이션 서버로부터 라이브 소스 스테이션 서버까지 스트림을 풀링하고, 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는데, 이를 HLS 센터 슬라이싱이라 지칭한다. 일반적으로, HLS 센터 슬라이싱은 능동 트리거 슬라이싱 및 수동 트리거 슬라이싱 두 가지 모드로 설계된다. 능동 트리거 슬라이싱은 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버로부터 능동적으로 스트림을 풀링하고, 능동적으로 스트림 풀링된 라이브 스트림을 슬라이싱함을 의미한다. 능동 트리거 슬라이싱 모드는 콜드 스트림 가동으로 인한 라이브 시청 사용자의 첫화면 지연 코스트를 직접 제거할 수 있어 사용자 체험을 크게 향상시킨다. 수동 트리거 슬라이싱은 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버로부터 수동적으로 스트림을 풀링하고, 수동적으로 스트림 풀링된 라이브 스트림을 슬라이싱함을 의미한다. 수동 트리거 슬라이싱은 필요에 따라 슬라이싱할 수 있어 서버 및 저장 리소스를 절약할 수 있다.
단계 203에서, 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록, 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송할 수 있고, 여기서, 오브젝트 스토지리 서버는 BOS(Baidu Object Storage) 서버일 수 있다. 라이브 시청 사용자가 라이브 요청을 발송할 경우, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버에서 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 검색하여 라이브 시청 사용자의 단말기에 리턴할 수 있다. 라이브 시청 사용자의 단말기는 라이브를 구현하도록, 라이브 스트림의 인덱스 파일에 기반하여 라이브 스트림의 프래그먼트 파일을 재생한다.
본 발명의 실시예에 의해 제공된 라이브 스트림 슬라이싱 방법에 따르면, HLS 소스 스테이션 서버는 우선 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고; 다음 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하며; 마지막으로 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송함으로써, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 한다. HLS 소스 스테이션 서버를 통해 라이브 스트림을 슬라이싱하고, 오브젝트 스토지리 서버를 통해, 획득한 인덱스 파일 및 프래그먼트 파일을 저장한다. 라이브 시청 사용자의 단말기가 라이브 요청을 발송할 경우, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고, 슬라이싱을 거쳐 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 생성하거나, 또는 오브젝트 스토지리 서버로부터 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 획득하여, 라이브 시청 사용자의 단말기에 리턴함으로써, 이는 라이브 지연을 감소시키기에 유리하며 라이브 서비스의 가용성을 크게 향상시키고, 또한 아키텍처면에서 기타 라이브 서비스를 쉽게 확장할 수 있으며, 시간 이동하여 다시 볼 수 있도록 지원할 수 있다. 동시에, HLS 센터 슬라이싱은 능동 트리거 슬라이싱 및 수동 트리거 슬라이싱 두 가지 모드로 설계될 수 있는바, 능동 트리거 슬라이싱 모드는 콜드 스트림 가동으로 인한 라이브 시청 사용자의 첫화면 지연 코스트를 직접 제거할 수 있어 사용자 체험을 크게 향상시키고, 수동 트리거 슬라이싱은 필요에 따라 슬라이싱할 수 있어 서버 및 저장 리소스를 절약할 수 있다.
나아가 도 3을 참조하면, 이는 본 발명에 따른 라이브 스트림 슬라이싱 방법의 다른 실시예의 흐름(300)을 도시한다. 상기 라이브 스트림 슬라이싱 방법은 HLS 소스 스테이션 서버에 적용되고 하기 단계들을 포함한다.
단계 301에서, CDN 에지 노드 서버에 의해 전송된 라이브 요청을 수신한다.
본 실시예에서, HLS 소스 스테이션 서버(예를 들어, 도 1에 도시된 HLS 소스 스테이션 서버(102))는 CDN 에지 노드 서버에 의해 전송된 라이브 요청을 수신할 수 있다. 일반적으로, CDN 에지 노드는 로드 밸런싱 서버 및 백엔드 스트리밍 미디어 서버를 포함할 수 있다. CDN 에지 노드 서버는 CDN 에지 노드의 로드 밸런싱 서버일 수 있고, 라이브 요청은 요청된 라이브 스트림의 식별자를 포함하여 라이브 시청 사용자의 단말기에 의해 CDN 에지 노드 서버에 전송된 것일 수 있다. 구체적으로, 라이브 시청 사용자의 단말기는 CDN 에지 노드 서버에 라이브 요청을 전송하고, CDN 에지 노드 서버는 라이브 요청을 HLS 소스 스테이션 서버에 전달할 수 있다.
단계 302에서, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정한다.
본 실시예에서, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버(예를 들어, 도 1에 도시된 오브젝트 스토지리 서버(103))에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정할 수 있다. 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 단계 303을 수행하고; 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 단계 304를 수행한다.
단계 303에서, 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득한다.
본 실시예에서, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하고 이어서 단계 307을 수행할 수 있다.
단계 304에서, 라이브 소스 스테이션 서버로부터 요청된 라이브 스트림을 획득한다.
본 실시예에서, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, HLS 소스 스테이션 서버는 요청된 라이브 스트림을 획득하기 위해, 라이브 소스 스테이션 서버(예를 들어, 도 1에 도시된 라이브 소스 스테이션 서버(101))에 수동적으로 스트림을 풀링할 수 있다.
단계 305에서, 요청된 라이브 스트림을 슬라이싱하여 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하기 위해, 요청된 라이브 스트림을 슬라이싱할 수 있다.
단계 306에서, 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송함으로써, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 할 수 있다. 동시에, HLS 소스 스테이션 서버는 이어서 단계 307을 수행할 수 있다.
단계 307에서, 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송함으로써, CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 라이브 시청 사용자의 단말기에 전송하도록 할 수 있다.
단계 308에서, 요청된 라이브 스트림의 프래그먼트 파일을 획득한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 획득할 수 있다. 일반적으로, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송한 후, HLS 소스 스테이션 서버는 또한 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 프래그먼트 파일을 획득할 수 있다. 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송한 후, HLS 소스 스테이션 서버는 또한 요청된 라이브 스트림을 슬라이싱하여 생성된 프래그먼트 파일을 획득할 수 있다.
단계 309에서, 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송함으로써, CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 라이브 시청 사용자의 단말기에 전송하도록 할 수 있다.
도 3으로부터 알 수 있듯이, 도 2의 대응되는 실시예와 비교하여, 본 실시예의 라이브 스트림 슬라이싱 방법의 흐름(300)에는 단계 301-303 및 단계 307-309가 추가된다. 이에 따라, 라이브 시청 사용자가 요청한 라이브 요청을 수신하고 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않는 것으로 확인되면, HLS 소스 스테이션 서버는 라이브 시청 사용자가 인덱스 파일재생 프래그먼트 파일에 기반하여 라이브 스트림 재생을 구현하도록, 라이브 소스 스테이션 서버로부터 스트림을 풀링하고, 라이브 스트림을 슬라이싱하여 생성된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 라이브 시청 사용자에게 리턴한다. 이는 필요에 따라 슬라이싱하므로 서버 및 저장 리소스를 절약할 수 있다.
나아가 도 4를 참조하면, 상기 각 도면에 도시된 방법의 구현으로서, 본 발명은 라이브 스트림 슬라이싱 장치의 일 실시예를 제공한다. 상기 장치 실시예와 도 2에 도시된 방법 실시예는 서로 대응되며, 상기 장치는 구체적으로 다양한 전자 기기에 적용될 수 있다.
도 4에 도시된 바와 같이, 본 실시예의 라이브 스트림 슬라이싱 장치(400)는 제1 획득 유닛(401), 슬라이싱 유닛(402) 및 제1 전송 유닛(403)을 포함할 수 있다. 여기서, 제1 획득 유닛(401)은 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고; 슬라이싱 유닛(402)은 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하며; 제1 전송 유닛(403)은 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 한다.
본 실시예에서, 라이브 스트림 슬라이싱 장치(400)에서 제1 획득 유닛(401), 슬라이싱 유닛(402) 및 제1 전송 유닛(403)의 구체적인 처리 및 그 기술적 효과는 각각 도 2 중 대응되는 실시예의 단계 201, 단계 202 및 단계 203의 관련 설명을 참조할 수 있으며 여기서 더 이상 설명하지 않는다.
본 실시예의 일부 선택 가능한 실시형태에서, 라이브 스트림 슬라이싱 장치(400)는 CDN 에지 노드 서버에 의해 전송된 라이브 요청을 수신하는 수신 유닛(도면에 도시되지 않음) - 라이브 요청은 라이브 시청 사용자의 단말기로부터 CDN 에지 노드 서버에 전송된 것임 - ; 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하는 확정 유닛(도면에 도시되지 않음); 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하는 제2 획득 유닛(도면에 도시되지 않음); 및 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송하여, CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 단말기에 전송하도록 하는 제2 전송 유닛(도면에 도시되지 않음)을 더 포함한다.
본 실시예의 일부 선택 가능한 실시형태에서, 제1 획득 유닛(401)은 또한 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 라이브 소스 스테이션 서버로부터 요청된 라이브 스트림을 획득한다.
본 실시예의 일부 선택 가능한 실시형태에서, 라이브 스트림 슬라이싱 장치(400)는 요청된 라이브 스트림의 프래그먼트 파일을 획득하는 제3 획득 유닛(도면에 도시되지 않음); 및 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송하여, CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 단말기에 전송하도록 하는 제3 전송 유닛(도면에 도시되지 않음)을 더 포함한다.
이어서 도 5를 참조하면, 이는 본 발명에 따른 라이브 스트림 슬라이싱 시스템의 일 실시예의 타이밍 다이어그램(500)을 도시한다. 상기 라이브 스트림 슬라이싱 시스템은 라이브 소스 스테이션 서버(예를 들어, 도 1에 도시된 라이브 소스 스테이션 서버(101)), HLS 소스 스테이션 서버(예를 들어, 도 1에 도시된 HLS 소스 스테이션 서버(102)) 및 오브젝트 스토지리 서버(예를 들어, 도 1에 도시된 오브젝트 스토지리 서버(103))를 포함한다. 여기서, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하며, 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하고, 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하며; 오브젝트 스토지리 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장한다.
도 5에 도시된 바와 같이, 단계 501에서, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득한다.
본 실시예에서, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득할 수 있다. 여기서, 라이브 스트림은 라이브 제공자가 그의 단말기를 이용하여 녹화한 리이브 영상일 수 있다. 일반적으로, 라이브 제공자는 그의 단말기를 이용하여 라이브 소스 스테이션 서버에 스트림을 푸시할 수 있고, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 스트림을 풀링할 수 있다. 구체적으로, 라이브 제공자는 그의 단말기를 이용하여 라이브 소스 스테이션 서버에 스트림 푸시 요청을 전송할 수 있고, 스트림 푸시 요청에는 라이브 스트림이 포함될 수 있다. 라이브 소스 스테이션 서버는 스트림 푸시 요청으로부터 라이브 스트림을 추출하여 저장하고, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버에 스트림 풀링 요청을 전송하며, 스트림 풀링 요청에는 요청된 라이브 스트림의 식별자가 포함될 수 있다. 스트림 풀링 요청을 수신한 후, 라이브 소스 스테이션 서버는 요청된 라이브 스트림의 식별자에 기반하여 로컬에 저장된, 요청된 라이브 스트림을 검색하여, HLS 소스 스테이션 서버에 요청된 라이브 스트림을 전송할 수 있다.
실행 과정에서, HLS 소스 스테이션 서버는 능동적으로 스트림을 풀링하거나 수동적으로 스트림을 풀링할 수 있다. 소위 능동적 스트림 풀링은, 즉 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버에 저장된 라이브 스트림을 능동적으로 감지하고, 라이브 스트림을 감지한 후 라이브 소스 스테이션 서버에 스트림을 풀링하는 것을 가리킨다. 소위 수동적 스트림 풀링은, 즉 라이브 시청 사용자에 의해 전송된 라이브 요청을 수신하고 오브젝트 스토지리 서버(예를 들어, 도 1에 도시된 오브젝트 스토지리 서버(103))에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않는 것으로 확인될 경우, HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버에 스트림을 풀링할 수 있음을 가리킨다.
단계 502에서, HLS 소스 스테이션 서버는 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성한다.
본 실시예에서, HLS 소스 스테이션 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하기 위해, 라이브 스트림을 슬라이싱할 수 있다. 여기서, 인덱스 파일은 M3U8 파일이고 프래그먼트 파일은 TS 파일일 수 있다. 일반적으로, M3U8 파일에 기록된 인덱스에 따라 TS 파일을 검색하고, 검색된 TS 파일을 연속적으로 순서에 따라 재생하여 재생 라이브 스트림을 구현할 수 있다.
실행 과정에서, HLS 프로토콜은 HLS 소스 스테이션 서버로부터 라이브 소스 스테이션 서버까지 스트림을 풀링하고, 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는데, 이를 HLS 센터 슬라이싱이라 지칭한다. 일반적으로, HLS 센터 슬라이싱은 능동 트리거 슬라이싱 및 수동 트리거 슬라이싱 두 가지 모드로 설계된다. 능동 트리거 슬라이싱은 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버로부터 능동적으로 스트림을 풀링하고, 능동적으로 스트림 풀링된 라이브 스트림을 슬라이싱함을 의미한다. 능동 트리거 슬라이싱 모드는 콜드 스트림 가동으로 인한 라이브 시청 사용자의 첫 화면 지연 코스트를 직접 제거할 수 있어 사용자 체험을 크게 향상시킨다. 수동 트리거 슬라이싱은 HLS 소스 스테이션 서버가 라이브 소스 스테이션 서버로부터 수동적으로 스트림을 풀링하고, 수동적으로 스트림 풀링된 라이브 스트림을 슬라이싱함을 의미한다. 수동 트리거 슬라이싱은 필요에 따라 슬라이싱할 수 있어 서버 및 저장 리소스를 절약할 수 있다.
단계 503에서, HLS 소스 스테이션 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송할 수 있다.
단계 504에서, 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장한다.
본 실시예에서, 오브젝트 스토지리 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장할 수 있다. 여기서, 오브젝트 스토지리 서버는 BOS(Baidu Object Storage) 서버일 수 있다. 라이브 시청 사용자가 라이브 요청을 발송할 경우, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버로부터 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 검색하여 라이브 시청 사용자의 단말기에 리턴할 수 있다. 라이브 시청 사용자의 단말기는 라이브를 구현하도록, 라이브 스트림의 인덱스 파일에 기반하여 라이브 스트림의 프래그먼트 파일을 재생한다.
본 발명의 실시예에 의해 제공된 라이브 스트림 슬라이싱 시스템에 따르면, HLS 소스 스테이션 서버는 우선 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고; 다음 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하며; 마지막으로 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송함으로써 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록 한다. HLS 소스 스테이션 서버를 통해 라이브 스트림을 슬라이싱하고, 오브젝트 스토지리 서버를 통해, 획득한 인덱스 파일 및 프래그먼트 파일을 저장한다. 라이브 시청 사용자의 단말기가 라이브 요청을 발송할 경우, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하고 슬라이싱을 거쳐 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 생성하거나, 또는 오브젝트 스토지리 서버로부터 요청된 라이브 스트림의 M3U8 파일 및 TS 파일을 획득하여 라이브 시청 사용자의 단말기에 리턴함으로써, 이는 라이브 지연을 감소시키기에 유리하며 라이브 서비스의 가용성을 크게 향상시키고, 또한 아키텍처면에서 다른 라이브 서비스를 쉽게 확장할 수 있으며, 시간 이동하여 다시 볼 수 있도록 지원할 수 있다. 동시에, HLS 센터 슬라이싱은 능동 트리거 슬라이싱 및 수동 트리거 슬라이싱 두 가지 모드로 설계될 수 있는바, 능동 트리거 슬라이싱 모드는 콜드 스트림 가동으로 인한 라이브 시청 사용자의 첫화면 지연 코스트를 직접 제거할 수 있어 사용자 체험을 크게 향상시키고, 수동 트리거 슬라이싱은 필요에 따라 슬라이싱할 수 있어 서버 및 저장 리소스를 절약할 수 있다.
나아가 도 6을 참조하면, 이는 본 발명에 따른 라이브 스트림 슬라이싱 시스템의 다른 실시예의 타이밍 다이어그램(600)을 도시한다. 상기 라이브 스트림 슬라이싱 시스템은 라이브 소스 스테이션 서버(예를 들어, 도 1에 도시된 라이브 소스 스테이션 서버(101)), HLS 소스 스테이션 서버(예를 들어, 도 1에 도시된 HLS 소스 스테이션 서버(102)), 오브젝트 스토지리 서버(예를 들어, 도 1에 도시된 오브젝트 스토지리 서버(103)), 라이브 시청 사용자의 단말기(도 1에 도시되지 않음), CDN 스케줄링 서버(도 1에 도시되지 않음) 및 CDN 에지 노드 서버(도 1에 도시되지 않음)을 포함한다. 여기서, 단말기는 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송하며, 라이브 도메인 네임 분석 요청에는 라이브 도메인 네임이 포함되고; CDN 스케줄링 서버는 라이브 도메인 네임을 CDN 에지 노드의 가상 인터넷 프로토콜 주소(VIP)로 분석하여, VIP를 단말기에 전송하고; 단말기는 또한 VIP에 기반하여 CDN 에지 노드 서버에 라이브 요청을 전송하며; CDN 에지 노드 서버는 HLS 소스 스테이션 서버에 라이브 요청을 전송하고; HLS 소스 스테이션 서버는 또한 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확인하며, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하고, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 라이브 소스 스테이션 서버로부터 요청된 라이브 스트림을 획득하며, 요청된 라이브 스트림을 슬라이싱하여, 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하고, 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하며; 오브젝트 스토지리 서버는 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하고; CDN 에지 노드 서버는 또한 HLS라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하여, 요청된 라이브 스트림의 인덱스 파일을 단말기에 전송하고; HLS 소스 스테이션 서버는 또한 요청된 라이브 스트림의 프래그먼트 파일을 획득하고, 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송하며; CDN 에지 노드 서버는 또한 요청된 라이브 스트림의 프래그먼트 파일을 단말기에 전송한다.
도 6에 도시된 바와 같이, 단계 601에서, 단말기는 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송한다.
본 실시예에서, 라이브 시청 사용자의 단말기는 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송할 수 있으며, 라이브 도메인 네임 분석 요청에는 라이브 도메인 네임이 포함될 수 있다.
단계 602에서, CDN 스케줄링 서버는 라이브 도메인 네임을 CDN 에지 노드의 VIP로 분석한다.
본 실시예에서, CDN 스케줄링 서버는 라이브 도메인 네임을 CDN 에지 노드의 VIP(Virtual Internet Protocol Address, 가상 인터넷 프로토콜 주소)로 분석할 수 있다. 일반적으로, CDN 스케줄링 서버는 라이브 도메인 네임을 최적의 CDN 에지 노드의 VIP로 분석할 수 있는바, 여기서, 최적의 CDN 에지 노드는 기설정된 조건을 만족시키는 CDN 에지 노드일 수 있고, 기설정된 조건은 미리 설정된 다양한 조건일 수 있다. 예를 들어, 기설정된 조건은 라이브 시청 사용자로부터 가장 가깝고 노드 상태가 유휴 상태인 등 조건을 포함할 수 있으나 이에 한정되지 않는다.
단계 603에서, CDN 스케줄링 서버는 VIP를 단말기에 전송한다.
본 실시예에서, CDN 스케줄링 서버는 VIP를 라이브 시청 사용자의 단말기에 전송할 수 있다.
단계 604에서, 단말기는 VIP에 기반하여 CDN 에지 노드 서버에 라이브 요청을 전송한다.
본 실시예에서, 라이브 시청 사용자의 단말기는 VIP에 대응되는 CDN 에지 노드 서버에 라이브 요청을 전송할 수 있다. 일반적으로, CDN 에지 노드는 로드 밸런싱 서버 및 백엔드 스트리밍 미디어 서버를 포함할 수 있고, CDN 에지 노드 서버는 CDN 에지 노드의 로드 밸런싱 서버일 수 있으며, 라이브 요청은 요청된 라이브 스트림의 식별자를 포함할 수 있다.
단계 605에서, CDN 에지 노드 서버는 HLS 소스 스테이션 서버에 라이브 요청을 전송한다.
본 실시예에서, CDN 에지 노드 서버는 HLS 소스 스테이션 서버에 라이브 요청을 전송할 수 있다.
단계 606에서, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버에, 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정한다.
본 실시예에서, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정할 수 있다. 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 단계 607을 수행하고; 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 단계 608을 수행한다.
단계 607에서, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득한다.
본 실시예에서, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, HLS 소스 스테이션 서버는 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득할 수 있다.
단계 608에서, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 요청된 라이브 스트림을 획득한다.
본 실시예에서, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, HLS 소스 스테이션 서버는 요청된 라이브 스트림을 획득하기 위해, 라이브 소스 스테이션 서버로 수동적으로 스트림을 풀링할 수 있다.
단계 609에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림을 슬라이싱하여, 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하기 위해, 요청된 라이브 스트림을 슬라이싱할 수 있다.
단계 610에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송할 수 있다.
단계 611에서, 오브젝트 스토지리 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장한다.
본 실시예에서, 오브젝트 스토지리 서버는 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장할 수 있다.
단계 612에서, CDN 에지 노드 서버는 HLS라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득한다.
본 실시예에서, CDN 에지 노드 서버는 HLS라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득할 수 있다.
단계 613에서, CDN 에지 노드 서버는 요청된 라이브 스트림의 인덱스 파일을 단말기에 전송한다.
본 실시예에서, CDN 에지 노드 서버는 요청된 라이브 스트림의 인덱스 파일을 단말기에 전송할 수 있다.
단계 614에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 획득한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 획득할 수 있다. 일반적으로, 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송한 후, HLS 소스 스테이션 서버는 또한 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 프래그먼트 파일을 획득할 수 있다. 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 요청된 라이브 스트림의 인덱스 파일을 CDN 에지 노드 서버에 전송한 후, HLS 소스 스테이션 서버는 또한 요청된 라이브 스트림을 슬라이싱하여 생성된 프래그먼트 파일을 획득할 수 있다.
단계 615에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송한다.
본 실시예에서, HLS 소스 스테이션 서버는 요청된 라이브 스트림의 프래그먼트 파일을 CDN 에지 노드 서버에 전송할 수 있다.
단계 616에서, CDN 에지 노드 서버는 요청된 라이브 스트림의 프래그먼트 파일을 단말기에 전송한다.
본 실시예에서, CDN 에지 노드 서버는 요청된 라이브 스트림의 프래그먼트 파일을 라이브 시청 사용자의 단말기에 전송할 수 있다.
도 6로부터 알수 있듯이, 도 5에 대응되는 실시예와 비교하여, 본 실시예의 라이브 스트림 슬라이싱 시스템의 타이밍 다이어그램(600)에는 단계 601-607 및 단계 612-616가 추가된다. 이에 따라, 라이브 시청 사용자가 요청한 라이브 요청을 수신하고 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않는 것으로 확인되면, HLS 소스 스테이션 서버는 라이브 시청 사용자가 인덱스 파일재생 프래그먼트 파일에 기반하여 라이브 스트림 재생을 구현하도록, 라이브 소스 스테이션 서버로부터 스트림을 풀링하고, 라이브 스트림을 슬라이싱하여 생성된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 라이브 시청 사용자에게 리턴한다. 이는 필요에 따라 슬라이싱하므로 서버 및 저장 리소스를 절약할 수 있다.
이어서 도 7을 참조하면, 도 7은 도 6에 도시된 라이브 스트림 슬라이싱 시스템의 하나의 응용 상황의 개략도이다. 도 7에 도시된 응용 상황에서, 라이브 시청 사용자의 단말기는 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송하고, CDN 스케줄링 서버는 라이브 도메인 네임 분석 요청 중 라이브 도메인 네임을 CDN 에지 노드의 VIP로 분석하여 라이브 시청 사용자의 단말기에 전송한다. 이어서, 라이브 시청 사용자의 단말기는 VIP에 기반하여 CDN 에지 노드의 로드 밸런싱 서버에 라이브 요청을 전송하고, 로드 밸런싱 서버는 HLS 소스 스테이션 서버에 라이브 요청을 전송한다. 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, HLS 소스 스테이션 서버는 라이브 소스 스테이션 서버로부터 요청된 라이브 스트림을 획득하고, 요청된 라이브 스트림을 슬라이싱하여, 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성함으로써 오브젝트 스토지리 서버 및 로드 밸런싱 서버에 전송하며, 마지막으로 오브젝트 스토지리 서버는 인덱스 파일 및 프래그먼트 파일을 저장한다. 동시에, 로드 밸런싱 서버는 인덱스 파일 및 프래그먼트 파일을 라이브 시청 사용자의 단말기에 전송하고, 라이브 시청 사용자의 단말기는 인덱스 파일에 기반하여 프래그먼트 파일을 재생함으로써, 라이브 스트림을 재생시켜 라이브 시청 사용자가 시청할 수 있도록 한다.
이하 도 8을 참조하면, 이는 본 발명의 실시예의 서버(예를 들어, 도 1에 도시된 HLS 소스 스테이션 서버(102))를 구현하기에 적합한 컴퓨터 시스템(800)의 구조 개략도이다. 도 8에 도시된 서버는 하나의 예시일 뿐, 본 발명의 실시예의 기능 및 사용 범위에 대해 어떠한 한정도 해서는 안된다.
도 8에 도시된 바와 같이, 컴퓨터 시스템(800)은 판독 전용 메모리(ROM, Read Only Memory; 802)에 저장된 프로그램 또는 저장부(808)으로부터 랜덤 액세스 메모리(RAM, Random Access Memory; 803)로 로딩된 프로그램에 따라 다양하고 적당한 동작 및 처리를 수행할 수 있는 중앙 처리 장치(CPU, Central Processing Unit; 801)를 포함한다. RAM(803)에는 또한 시스템(800)의 동작에 필요한 다양한 프로그램 및 데이터가 저장된다. CPU(801), ROM(802) 및 RAM(803)은 버스(804)를 통해 서로 연결된다. 입력/출력(I/O, Input/Output) 인터페이스(805)도 역시 버스(804)에 연결된다.
키보드, 마우스 등을 포함하는 입력부(806); 예를 들어 음극선 관(CRT, Cathode Ray Tub), 액정 디스플레이(LCD, Liquid Crystal Display) 등 및 스피커 등을 포함하는 출력부(807); 하드 디스크 등을 포함하는 저장부(808); 및 LAN(내 정보 통신망, Local Area Network) 카드, 모뎀 등과 같은 네트워크 인터페이스 카드를 포함하는 통신부(809)은 I/O 인터페이스(805)에 연결된다. 통신부(809)은 인터넷과 같은 네트워크를 통해 통신 처리를 수행한다. 구동부(810)도 역시 필요에 따라 I/O 인터페이스(805)에 연결된다. 자기 디스크, 광 디스크, 광 자기 디스크, 반도체 메모리 등과 같은 삭제 가능한 매체(811)는 필요에 따라 그로부터 판독된 컴퓨터 프로그램이 저장부(808)에 설치되도록 필요에 따라 구동부(810)에 장착된다.
특히, 본 개시의 실시예에 따르면, 상기에서 흐름도를 참조하여 설명한 과정은 컴퓨터 소프트웨어 프로그램으로서 구현될 수 있다. 예를 들어, 본 개시의 실시예는 컴퓨터 판독 가능 매체에 적재된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 포함하고, 상기 컴퓨터 프로그램은 흐름도에 도시된 방법을 수행하기 위한 프로그램 코드를 포함한다. 이러한 실시 예에서, 상기 컴퓨터 프로그램은 통신부(809)을 통해 네트워크로부터 다운로드 및 설치될 수 있거나 및/또는 삭제 가능한 매체(811)로부터 설치될 수 있다. 상기 컴퓨터 프로그램이 중앙 처리 장치(CPU; 801)에 의해 실행될 경우, 본 발명의 방법에 한정된 상기 기능들이 수행된다. 본 발명에 기재된 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 매체 또는 이 양자의 임의의 조합일 수 있음에 유의해야 한다. 컴퓨터 판독 가능 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 소자, 또는 이들의 임의의 조합일 수 있으나, 이에 한정되지 않는다. 컴퓨터 판독 가능 매체의 보다 구체적인 예는 하나 또는 복수의 와이어를 갖는 전기적 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 장치, 자기 저장 장치 또는 이들의 임의의 적당한 조합을 포함할 수 있으나, 이에 한정되지 않는다. 본 발명에서, 컴퓨터 판독 가능 매체는 명령 실행 시스템, 장치 또는 소자 또는 이들과 결합되어 사용될 수 있는 프로그램을 포함하거나 저장할 수 있는 임의의 유형 매체(tangible medium)일 수 있다. 본 발명에서, 컴퓨터 판독 가능 신호 매체는 컴퓨터 판독 가능 프로그램 코드를 적재하는 베이스 밴드 또는 캐리어의 일부로 전파되는 데이터 신호를 포함할 수 있다. 이러한 전파된 데이터 신호는 전자기 신호, 광학 신호, 또는 상기 임의의 적당한 조합을 포함하나 이에 한정되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 신호 매체는 또한 명령 실행 시스템, 장치 또는 소자에 사용되거나 이와 결합하여 사용하기 위한 프로그램을 전송, 전파 또는 전송할 수 있는 컴퓨터 판독 가능 매체 이외의 임의의 컴퓨터 판독 가능 매체일 수 있다. 컴퓨터 판독 가능 매체에 포함된 프로그램 코드는 무선, 유선, 광 케이블, RF 등, 또는 상기의 임의의 적당한 조합을 포함하나 이에 한정되지 않는 임의의 적당한 매체에 의해 전송될 수 있다.
본 발명의 동작을 수행하기 위한 컴퓨터 프로그램 코드는 하나 또는 복수의 프로그래밍 언어, 또는 이들의 조합으로 작성될 수 있다. 상기 프로그래밍 언어는 Java, Smalltalk, C++를 비롯한 객체 지향 프로그래밍 언어와 "C" 언어 또는 유사한 프로그래밍 언어를 비롯한 기존 절차적 프로그래밍 언어를 포함한다. 프로그램 코드는 완전히 사용자의 컴퓨터에서 실행되거나, 부분적으로 사용자의 컴퓨터에서 실행되거나, 하나의 독립형 소프트웨어 패키지로서 실행되거나, 일부는 사용자의 컴퓨터에서 실행되고 일부는 원격 컴퓨터에서 실행되거나, 또는 전체적으로 원격 컴퓨터 또는 서버에서 실행될 수 있다. 원격 컴퓨터의 경우, 원격 컴퓨터는 구내 정보 통신망(LAN) 또는 광역 통신망(WAN)을 포함한 모든 종류의 네트워크를 통해 사용자의 컴퓨터에 연결되거나 외부 컴퓨터에 연결(예를 들어, 인터넷 서비스 제공 업체를 이용하여 인터넷을 통해 연결)될 수 있다.
도면의 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능 및 동작을 도시한다. 이 점에서, 흐름도 또는 블록도의 각 블록은 지정된 논리 기능을 구현하기 위한 하나 또는 복수의 실행 가능한 명령을 포함하는 하나의 모듈, 프로그램 세그먼트 또는 코드의 일부를 나타낼 수 있다. 일부 대안적인 구현에서, 블록에 마크업된 기능은 또한 도면에 도시된 것과 다른 순서로 발생할 수 있음에 유의해야 한다. 예를 들어, 연속적으로 표현된 2개의 블록은 실제로 병렬로 실행될 수 있고, 관련 기능에 따라 때때로 역순으로 실행될 수도 있다. 또한, 블록도 및/또는 흐름도의 각 블록, 및 블록도 및/또는 흐름도에서 블록의 조합은 지정된 기능 또는 동작을 수행하는 전용 하드웨어 기반 시스템에서 구현될 수 있거나 전용 하드웨어와 컴퓨터 명령어를 조합하여 구현할 수도 있음에 유의해야 한다.
본 발명의 실시예들에 설명된 유닛들은 소프트웨어 또는 하드웨어에 의해 구현될 수 있다. 설명된 유닛은 또한 프로세서, 예를 들어 제1 획득 유닛, 슬라이싱 유닛 및 제1 전송 유닛을 포함하는 프로세서에 설치될 수도 있다. 여기서 이들 유닛의 명칭은 경우에 따라서는 유닛 자체로 한정되지 않으며, 예를 들어, 제1 획득 유닛은 "라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 유닛"으로 기술될 수도 있다.
다른 양태로서, 본 발명은 상기 실시예에서 설명된 서버에 포함될 수 있거나 상기 서버에 조립되지 않고 별도로 존재할 수 있는 컴퓨터 판독 가능 매체를 더 제공한다. 상기 컴퓨터 판독 가능 매체에는 하나 또는 복수의 프로그램이 적재되어, 상기 하나 또는 복수의 프로그램이 상기 서버에 의해 실행될 경우 상기 서버로 하여금 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계; 라이브 스트림을 슬라이싱하여 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 단계; 오브젝트 스토지리 서버가 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하도록, 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하는 단계를 수행하도록 한다.
상기 설명은 본 발명의 바람직한 실시예 및 적용된 기술의 원리에 대한 설명일 뿐이다. 본 발명이 속하는 기술분야의 통상의 기술자들은 본 발명에 언급된 본 발명의 범위는 상기 기술특징의 특정 조합에 따른 기술적 해결수단에 한정되지 않으며, 동시에 본 발명의 사상을 벗어나지 않으면서 상기 기술특징 또는 그 균등한 특징에 대해 임의로 조합하여 형성된 다른 기술적 해결수단, 예를 들어, 상기 특징과 본 발명에 공개된(단 이에 한정되지 않음) 유사한 기능을 구비하는 기술특징을 서로 교체하여 형성된 기술적 해결수단을 포함함을 이해하여야 한다.

Claims (14)

  1. 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버에 적용되는 라이브 스트림 슬라이싱 방법으로서,
    라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계;
    상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 단계; 및
    상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일이 상기 오브젝트 스토지리 서버에 저장되도록 하는 단계를 포함하되,
    라이브 시청 사용자가 라이브 요청을 발송할 경우, 상기 HLS 소스 스테이션 서버는 상기 오브젝트 스토지리 서버에서 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 검색하여, 상기 라이브 시청 사용자의 단말기에 발송하는 라이브 스트림 슬라이싱 방법.
  2. 제1항에 있어서,
    콘텐츠 전송 네트워크(CDN) 에지 노드 서버에 의해 전송된 상기 라이브 시청 사용자의 라이브 요청을 수신하는 단계 - 상기 라이브 요청은 상기 라이브 시청 사용자의 상기 단말기로부터 상기 CDN 에지 노드 서버에 전송된 것임 - ;
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하는 단계;
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하는 단계; 및
    요청된 라이브 스트림의 인덱스 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송하도록 하는 단계를 더 포함하는 라이브 스트림 슬라이싱 방법.
  3. 제2항에 있어서,
    상기 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 단계는,
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득하는 단계를 포함하는 라이브 스트림 슬라이싱 방법.
  4. 제2항 또는 제3항에 있어서,
    요청된 라이브 스트림의 프래그먼트 파일을 획득하는 단계; 및
    요청된 라이브 스트림의 프래그먼트 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 상기 단말기에 전송하도록 하는 단계를 더 포함하는 라이브 스트림 슬라이싱 방법.
  5. 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버에 설치되는 라이브 스트림 슬라이싱 장치로서,
    라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하는 제1 획득 유닛;
    상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하는 슬라이싱 유닛; 및
    상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 오브젝트 스토지리 서버에 전송하여, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일이 상기 오브젝트 스토지리 서버에 저장되도록 하는 제1 전송 유닛을 포함하되,
    라이브 시청 사용자가 라이브 요청을 발송할 경우, 상기 HLS 소스 스테이션 서버는 상기 오브젝트 스토지리 서버에서 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 검색하여, 상기 라이브 시청 사용자의 단말기에 발송하는 라이브 스트림 슬라이싱 장치.
  6. 제5항에 있어서,
    콘텐츠 전송 네트워크(CDN) 에지 노드 서버에 의해 전송된 상기 라이브 시청 사용자의 라이브 요청을 수신하는 수신 유닛 - 상기 라이브 요청은 상기 라이브 시청 사용자의 상기 단말기로부터 상기 CDN 에지 노드 서버에 전송된 것임 - ;
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하는 확정 유닛;
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하는 제2 획득 유닛; 및
    요청된 라이브 스트림의 인덱스 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송하도록 하는 제2 전송 유닛을 더 포함하는 라이브 스트림 슬라이싱 장치.
  7. 제6항에 있어서,
    상기 제1 획득 유닛은 또한,
    상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득하는 라이브 스트림 슬라이싱 장치.
  8. 제6항 또는 제7항에 있어서,
    요청된 라이브 스트림의 프래그먼트 파일을 획득하는 제3 획득 유닛; 및
    요청된 라이브 스트림의 프래그먼트 파일을 상기 CDN 에지 노드 서버에 전송하여, 상기 CDN 에지 노드 서버가 요청된 라이브 스트림의 프래그먼트 파일을 상기 단말기에 전송하도록 하는 제3 전송 유닛을 더 포함하는 라이브 스트림 슬라이싱 장치.
  9. 라이브 스트림 슬라이싱 시스템으로서,
    라이브 소스 스테이션 서버, 하이퍼 텍스트 라이브 스트림(HLS) 소스 스테이션 서버 및 오브젝트 스토지리 서버를 포함하고;
    상기 HLS 소스 스테이션 서버는 상기 라이브 소스 스테이션 서버로부터 라이브 스트림을 획득하며, 상기 라이브 스트림을 슬라이싱하여 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 생성하고, 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 상기 오브젝트 스토지리 서버에 전송하며;
    상기 오브젝트 스토지리 서버는 상기 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 저장하되,
    라이브 시청 사용자가 라이브 요청을 발송할 경우, 상기 HLS 소스 스테이션 서버는 상기 오브젝트 스토지리 서버에서 요청된 라이브 스트림의 인덱스 파일 및 프래그먼트 파일을 검색하여, 상기 라이브 시청 사용자의 단말기에 발송하는 라이브 스트림 슬라이싱 시스템.
  10. 제9항에 있어서,
    상기 라이브 스트림 슬라이싱 시스템은,
    상기 라이브 시청 사용자의 상기 단말기, 콘텐츠 전송 네트워크(CDN) 스케줄링 서버 및 CDN 에지 노드 서버를 더 포함하고;
    상기 단말기는 상기 CDN 스케줄링 서버에 라이브 도메인 네임 분석 요청을 전송하며, 상기 라이브 도메인 네임 분석 요청에는 라이브 도메인 네임이 포함되고;
    상기 CDN 스케줄링 서버는 상기 라이브 도메인 네임을 CDN 에지 노드의 가상 인터넷 프로토콜 주소(VIP)로 분석하여, 상기 VIP를 상기 단말기에 전송하고;
    상기 단말기는 또한 상기 VIP에 기반하여 상기 CDN 에지 노드 서버에 라이브 요청을 전송하며;
    상기 CDN 에지 노드 서버는 상기 HLS 소스 스테이션 서버에 상기 라이브 요청을 전송하고;
    상기 HLS 소스 스테이션 서버는 또한 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있는지 여부를 확정하며, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있을 경우, 상기 오브젝트 스토지리 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하고;
    상기 CDN 에지 노드 서버는 또한 상기 HLS 소스 스테이션 서버로부터, 요청된 라이브 스트림의 인덱스 파일을 획득하여, 요청된 라이브 스트림의 인덱스 파일을 상기 단말기에 전송하는 라이브 스트림 슬라이싱 시스템.
  11. 제10항에 있어서,
    상기 HLS 소스 스테이션 서버는 또한, 상기 오브젝트 스토지리 서버에 요청된 라이브 스트림의 인덱스 파일이 저장되어 있지 않을 경우, 상기 라이브 소스 스테이션 서버로부터, 요청된 라이브 스트림을 획득하는 라이브 스트림 슬라이싱 시스템.
  12. 제10항 또는 제11항에 있어서,
    상기 HLS 소스 스테이션 서버는 또한, 요청된 라이브 스트림의 프래그먼트 파일을 획득하고, 요청된 라이브 스트림의 프래그먼트 파일을 상기 CDN 에지 노드 서버에 전송하며;
    상기 CDN 에지 노드 서버는 또한, 요청된 라이브 스트림의 프래그먼트 파일을 상기 단말기에 전송하는 라이브 스트림 슬라이싱 시스템.
  13. 서버로서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램이 저장된 저장 장치를 포함하고,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 제1항 내지 제3항 중 어느 한 항에 따른 라이브 스트림 슬라이싱 방법을 구현하도록 하는 서버.
  14. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체로서,
    상기 컴퓨터 프로그램은 프로세서에 의해 실행될 경우 제1항 내지 제3항 중 어느 한 항에 따른 라이브 스트림 슬라이싱 방법을 구현하는 컴퓨터 판독 가능 매체.
KR1020190141697A 2019-01-24 2019-11-07 라이브 스트림 슬라이싱 방법, 장치 및 시스템 KR102262982B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910068514.3 2019-01-24
CN201910068514.3A CN109787983A (zh) 2019-01-24 2019-01-24 直播流切片方法、装置和系统

Publications (2)

Publication Number Publication Date
KR20200092249A KR20200092249A (ko) 2020-08-03
KR102262982B1 true KR102262982B1 (ko) 2021-06-10

Family

ID=66502289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190141697A KR102262982B1 (ko) 2019-01-24 2019-11-07 라이브 스트림 슬라이싱 방법, 장치 및 시스템

Country Status (5)

Country Link
US (1) US11356748B2 (ko)
JP (1) JP6915027B2 (ko)
KR (1) KR102262982B1 (ko)
CN (1) CN109787983A (ko)
SG (1) SG10201910390RA (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327585B (zh) * 2019-11-28 2022-06-03 北京新奥特体育科技有限公司 处理音视频的方法和系统
CN113014966A (zh) * 2019-12-19 2021-06-22 中兴通讯股份有限公司 Mp4文件虚拟mss分片方法、设备和存储介质
CN110971709B (zh) * 2019-12-20 2022-08-16 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质
CN111541903A (zh) * 2020-01-14 2020-08-14 深圳市华曦达科技股份有限公司 直播加速方法、源站端、边缘节点、客户端及直播系统
CN113824971A (zh) * 2020-06-18 2021-12-21 中央广播电视总台 三维声直播流调度和分发方法及系统
CN112104885B (zh) * 2020-09-09 2022-06-24 海看网络科技(山东)股份有限公司 一种直播中加快m3u8起始播放速度的系统及方法
CN113076125B (zh) * 2021-04-25 2024-04-12 北京金山云网络技术有限公司 直播业务升级处理方法、装置、介质和服务器
CN113329267B (zh) * 2021-05-27 2023-03-24 北京奇艺世纪科技有限公司 一种视频播放方法、装置、终端设备及存储介质
KR20220167469A (ko) * 2021-06-14 2022-12-21 주식회사 네트워크디파인즈 적응형 미디어 스트리밍 환경에서 비디오 편집 속도 향상 방법 및 장치
CN115499681A (zh) * 2021-06-17 2022-12-20 中国联合网络通信集团有限公司 基于mec的cdn直播方法、mec服务器及upf网元
CN114157643B (zh) * 2021-12-20 2023-01-13 海看网络科技(山东)股份有限公司 基于转码器hls协议固定码率参数的方法
CN114501044B (zh) * 2021-12-23 2023-12-08 百果园技术(新加坡)有限公司 直播数据处理方法、装置、设备和存储介质
CN114339109A (zh) * 2021-12-24 2022-04-12 中电福富信息科技有限公司 一种基于跨存储资源跨网络跨文件的录像级联方法
CN115052167A (zh) * 2022-03-15 2022-09-13 北京新流万联网络技术有限公司 支持多协议视频直播的视频生成方法、装置、介质及设备
CN115484239B (zh) 2022-09-15 2023-10-27 北京百度网讯科技有限公司 多媒体数据流的处理方法、装置、电子设备及存储介质
CN115914668A (zh) * 2022-12-22 2023-04-04 湖南快乐阳光互动娱乐传媒有限公司 一种直播流处理方法及直播源站集群

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100633712B1 (ko) 1998-03-04 2006-10-13 소니 인터내셔널(유로파) 게엠베하 하이퍼텍스트 전송 프로토콜로 원격 디바이스들 간의 접속들을 설정하는 방법
KR101743228B1 (ko) 2016-01-22 2017-06-05 네이버 주식회사 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체
US20170245022A1 (en) * 2014-10-17 2017-08-24 Zte Corporation Splicing method and splicing system for http live streaming media fragment
US20180192156A1 (en) * 2015-07-02 2018-07-05 Zte Corporation Multicast transmission method, apparatus and system for ott media

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191774A (ja) * 2009-02-19 2010-09-02 Nec Corp コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム
KR20110076831A (ko) * 2009-12-28 2011-07-06 (주)주인네트 분산 네트워크 pvr 시스템 및 그 서비스 방법
JP2013038766A (ja) * 2011-07-12 2013-02-21 Sharp Corp 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
JP6294527B2 (ja) * 2011-07-12 2018-03-14 シャープ株式会社 送信装置、送信方法、再生装置、及び再生方法
CN102271163B (zh) * 2011-08-19 2018-01-02 中兴通讯股份有限公司 一种实现直播码流分发的方法和系统
CN102710966A (zh) * 2012-06-13 2012-10-03 百视通网络电视技术发展有限责任公司 基于http协议的视频直播方法及系统
CN103634610B (zh) * 2012-08-24 2018-02-16 中兴通讯股份有限公司 直播内容分发系统及方法
WO2014057896A1 (ja) * 2012-10-09 2014-04-17 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
US9124947B2 (en) * 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US20150095964A1 (en) * 2013-10-01 2015-04-02 Opentv, Inc. Bumper video carousel for digital video delivery
CN104394443A (zh) * 2014-09-16 2015-03-04 东方有线网络有限公司 一种在hls直播流媒体中进行节目动态插入播放的方法
US10250849B2 (en) * 2016-12-30 2019-04-02 Akamai Technologies, Inc. Dynamic speaker selection and live stream delivery for multi-party conferencing
US10818033B2 (en) * 2018-01-18 2020-10-27 Oath Inc. Computer vision on broadcast video
CN108391176A (zh) * 2018-04-09 2018-08-10 四川百视通科技有限公司 一种rtmp协议到hls协议的实时转换系统及其工作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100633712B1 (ko) 1998-03-04 2006-10-13 소니 인터내셔널(유로파) 게엠베하 하이퍼텍스트 전송 프로토콜로 원격 디바이스들 간의 접속들을 설정하는 방법
US20170245022A1 (en) * 2014-10-17 2017-08-24 Zte Corporation Splicing method and splicing system for http live streaming media fragment
US20180192156A1 (en) * 2015-07-02 2018-07-05 Zte Corporation Multicast transmission method, apparatus and system for ott media
KR101743228B1 (ko) 2016-01-22 2017-06-05 네이버 주식회사 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체

Also Published As

Publication number Publication date
US20200245042A1 (en) 2020-07-30
SG10201910390RA (en) 2020-08-28
US11356748B2 (en) 2022-06-07
CN109787983A (zh) 2019-05-21
KR20200092249A (ko) 2020-08-03
JP2020119497A (ja) 2020-08-06
JP6915027B2 (ja) 2021-08-04

Similar Documents

Publication Publication Date Title
KR102262982B1 (ko) 라이브 스트림 슬라이싱 방법, 장치 및 시스템
JP6918910B2 (ja) メディアデータの提供方法、メディアデータの受信方法、及びプログラム
KR102190880B1 (ko) 불가침 매니페스트 프로토콜을 통해 제공되는 스트리밍 콘텐츠를 중단시키는 시스템 및 방법
US20170164020A1 (en) Content delivery method for content delivery network platform and scheduling proxy server
US10164860B2 (en) Modified content delivery based on network conditions
JP6221142B2 (ja) メディアコンテンツに適応ストリーミングを実行するための方法及び装置
EP2475146B1 (en) Anchoring and sharing time positions and media reception information on a presentation timeline for multimedia content streamed over a network
CN104581374B (zh) 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
US8468262B2 (en) Method and apparatus for updating http content descriptions
JP2016531466A5 (ko)
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
WO2019128800A1 (zh) 一种内容服务的实现方法、装置及内容分发网络节点
US8824676B2 (en) Streaming video to cellular phones
CN103813185B (zh) 一种分段节目快速分发的方法、服务器及客户端
CN110933517A (zh) 码率切换方法、客户端和计算机可读存储介质
CN107438051A (zh) 流媒体快速启动方法、装置和系统
WO2015180446A1 (zh) 一种多设备联动服务中的连接通道维护系统及方法
CN113438513B (zh) 一种视频分辨率切换方法、装置、设备及存储介质
CN105812839B (zh) 视频流数据获取、页面数据传输方法、系统及网络服务器
CN111935507A (zh) 视频切换方法和设备
EP2515535A1 (en) Method and set top box for acquiring program content
van der Hooft et al. Low-latency delivery of news-based video content
CN113301100A (zh) 基于内容分发网络的数据容灾方法、装置、设备及介质
CN113453062B (zh) 视频元数据的获取、处理方法及装置、系统、电子设备
KR101277271B1 (ko) 콘텐츠 서비스 제공 방법 및 이를 위한 콘텐츠 제공 서버 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right