KR20150116615A - Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법 - Google Patents

Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법 Download PDF

Info

Publication number
KR20150116615A
KR20150116615A KR1020140041690A KR20140041690A KR20150116615A KR 20150116615 A KR20150116615 A KR 20150116615A KR 1020140041690 A KR1020140041690 A KR 1020140041690A KR 20140041690 A KR20140041690 A KR 20140041690A KR 20150116615 A KR20150116615 A KR 20150116615A
Authority
KR
South Korea
Prior art keywords
stream
mpeg
camera
web server
encoded stream
Prior art date
Application number
KR1020140041690A
Other languages
English (en)
Other versions
KR101568317B1 (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 KR1020140041690A priority Critical patent/KR101568317B1/ko
Publication of KR20150116615A publication Critical patent/KR20150116615A/ko
Application granted granted Critical
Publication of KR101568317B1 publication Critical patent/KR101568317B1/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

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

Abstract

본 발명은 IP 카메라에서 HLS 프로토콜을 지원하는 시스템 및 그 방법에 관한 것으로, 기존의 IP 카메라에 실시간 멀티미디어 데이터 파일로 저장하지 아니하고 CGI와 소켓 통신을 이용하여 바로 웹서버로 전송하는 HLS 프로토콜을 구현함으로써, HTML5 표준을 지원하며 플러그-인이나 추가적인 응용프로그램을 설치하지 않고도 라이브 스트리밍이 가능한 임베디드 시스템에 최적화된 HLS 프로토콜 지원 시스템 및 그 방법에 관한 것이다.

Description

IP 카메라에서 HLS 프로토콜을 지원하는 시스템 및 그 방법{SYSTEM FOR SUPPORTING HLS PROTOCOL IN IP CAMERAS AND THE METHOD THEREOF}
본 발명은 IP 카메라에서 임베디드 시스템에 적합하도록 구현된 HLS 프로토콜 지원 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 기존의 IP 카메라에 실시간 멀티미디어 데이터를 파일로 저장하지 아니하고 CGI(Common Gateway Interface)와 소켓 통신을 이용하여 바로 웹서버로 전송하는 HLS(HTTP Live Streaming) 프로토콜을 구현함으로써, HTML5 표준을 지원하며 플러그-인이나 추가적인 응용프로그램(application program)을 설치하지 않고도 라이브 스트리밍(live streaming)이 가능한 임베디드 시스템에 최적화된 HLS 프로토콜 지원 시스템 및 그 방법에 관한 것이다.
종래에는 감시 또는 보안의 목적으로 아날로그 방식의 CCTV(Closed Circuit Television) 카메라가 많이 활용되었다. CCTV는 제한된 지역에서 독립적인 텔레비전 회로를 구축하여 특정인만이 영상을 볼 수 있도록 한 폐쇄회로 텔레비전을 의미하며, 산업용, 교육용, 의료용, 교통관제용 감시 또는 방재용 및 사내의 화상정보 전달용을 포함하여 그 용도가 다양하다. 상기 CCTV는 인터넷 통신의 발달과 함께 인터넷을 통하여 언제 어디서나 실시간으로 감시할 수 있는 디지털 방식의 IP 카메라를 이용한 보안 시스템으로 급격하게 변화되고 있다. 이는 종래의 텍스트 중심의 정보 전달에서 멀티미디어 중심으로 정보 전달 방식이 발전하고 있는 것을 의미한다. IP 카메라는 비디오 코딩된 입력 영상을 디코딩 및 압축하여 유무선 네트워크를 통해 사용자에게 전송하는 시스템이며, 사용자에게 실시간으로 정보를 제공하기 위한 방법으로 라이브 스트리밍 프로토콜을 이용한 멀티미디어 전송 방법이 필요하다. 여기서 라이브 스트리밍 프로토콜은 영상이나 음성을 인터넷을 통해 전송하기 위한 규약을 말한다.
종래의 멀티미디어를 제공하는 방식에는 전통적 스트리밍, 점진적 다운로드(progressive download) 및 적응 스트리밍(adaptive streaming) 방법이 있다. 먼저 종래의 스트리밍 서비스는 서버와 클라이언트 사이의 세션을 설정하여야 하며 전용 프로토콜을 필요로 한다. 이 기술에서 미디어는 일련의 패킷으로 전송된다. 이때 스트리밍 프로토콜로 RTSP(Real-Time Streaming Protocol)와 함께 실시간 전송 프로토콜인 RTP(Real-Time Transport Protocol)가 서비스를 구현하는 데 사용된다. 여기서 점진적 다운로드는 클라이언트와 서버 사이에서 데이터를 전송하는 방법으로 많이 사용되며, 인터넷에서 널리 사용되는 전송기술이다. 점진적 다운로드는 일반적으로 정규 HTTP 서버를 사용하여 구현 될 수 있다. 사용자는 로컬 버퍼로 점진적으로 다운로드 되는 멀티미디어 콘텐츠를 요청하며, 충분한 데이터가 로딩 되면 미디어 재생을 시작한다. 이때 재생 속도가 다운로드 속도를 초과 할 경우에는 더 많은 데이터가 다운로드 될 때까지 다음 재생이 지연되는 일이 발생한다. 다음으로 적응 스트리밍은 현재 상황에서 사용자에게 주어질 수 있는 가장 좋은 멀티미디어 품질을 제공하기 위하여, 사용자가 사용 가능한 대역폭 및 CPU 용량을 검출하여 스트림을 전송하는 기법이다. 따라서 사용자에게 제공되는 영상의 화질을 조정하기 위해서는 여러 비트율(bit rate)의 영상을 제공하기 위한 인코더가 필요하거나, 또는 여러 비트율의 영상을 제공하는 다수의 인코더가 필요하며, 큰 메모리도 필요하다. 결과적으로 사용자는 대역폭에 따라 가장 높은 품질로 미디어를 스트리밍을 통해 전달 받을 수 있게 된다. 대부분의 상용 IP 카메라들에서도 라이브 스트리밍을 지원하기 위하여 RTP/RTSP를 이용하고 있다. 여기서 라이브 스트리밍은 텔레비전 생방송처럼 촬영한 정보를 실시간으로 사용자의 동영상 플레이어로 보내 재생하도록 하는 방식을 말한다. 클라이언트에서 RTP/RTSP를 이용한 라이브 스트리밍으로 멀티미디어를 재생하기 위해서는 RTP/RTSP를 지원하는 어플리케이션 프로그램을 설치하거나 서버로부터 제공되는 플러그-인을 별도로 설치하여 멀티미디어 데이터를 전송받아야 한다.
최근에는 적응 스트리밍을 위한 새로운 솔루션으로 스트림 스위칭 기술이 개발되었으며, 이는 새로운 프로토콜을 정의하는 전송 프로토콜로 HTTP를 사용하는 하이브리드 방법이다. 즉 비디오 및 오디오 소스를 같은 길이의 짧은 세그먼트(segment)로 절단한다. 따라서 모든 세그먼트는 그들의 과거, 미래 또는 이들의 조합 사이에 종속성이 없는 하나의 키 프레임으로 시작된다. 그리고 모든 세그먼트가 각각 원하는 형식으로 인코딩되고 마지막으로 HTTP 서버에서 클라이언트로 전송된다. 클라이언트는 순차적으로 세그먼트를 요청하고 HTTP 기반의 점진적 다운로드를 사용하여 데이터를 다운로드 할 수 있다. 세그먼트들은 순서대로 연속적으로 재생되기 때문에, 원활하게 스트리밍 되면서 전체 스트림이 재생되게 된다.
최근에 애플사는 멀티미디어 데이터의 경계와 바운드 스트림을 전송하기 위해 HTTP 라이브 스트리밍(HTTP Live Streaming, HLS)이라는 HTTP 기반 스트리밍 미디어 통신 프로토콜을 발표하였다. 이 프로토콜은 그 규약에 따라 전체 스트림을 작은 HTTP 기반 파일의 연속으로 나누게 된다. 그리고 사용자는 각기 다른 데이터 전송 속도로 인코딩(encoding)된 스트림을 선택하여 재생할 수 있게 된다. 처음에 사용자는 미디어 파일에 대응하는 여러 URI(Uniform Resource Identifier)의 확장을 포함하는 M3U 재생목록을 다운로드한다. 각각의 개별 미디어 파일은 MPEG-2 TS(Transport Stream, 이하 전송 스트림 혹은 TS라고 함) 또는 MPEG-2 오디오 기본(elementary) 스트림으로 포맷되어야 한다. 현재 아이폰(iPhone) OS 운영체제에서 사파리 브라우저가 있는 플랫폼은 기본적으로 HTML5를 기반으로 애플사의 HLS 프로토콜을 지원하는 적응 스트리밍이 가능하다. 반면에 안드로이드 운영체제에서는 4.0에서 HLS 지원을 발표하였다.
IP 카메라의 라이브 스트리밍 구조는 클라이언트-서버(client-server)(혹은 서버-클라이언트라고도 함) 구조로 이루어져 있으며 최근에는 표준화된 HTML(Hyper Text Markup Language)을 이용한 방식으로 별도의 플러그-인이나 회사 전용의 어플리케이션 프로그램의 설치하는 일 없이 표준화된 브라우저(browser)에서 재생하는 방식으로 기술이 전환되고 있다. 최신 버전인 HTML5의 표준화가 진행되고 있는데, HTML5 기반의 웹 페이지에서는 그래픽 또는 멀티미디어를 별도의 플러그-인 설치 없이 사용자에게 제공할 수 있도록 하는 것을 목표로 하고 있다. 또한 HTML5는 다양한 개발 환경 및 사용자의 이용 환경을 고려하여 일관된 내용과 서비스를 제공하는 것을 목표로 개발되고 있으며, 현재 순차적으로 기능들이 구현되고 있는 중이다.
IP 카메라를 이용하여 라이브 스트리밍을 구현하는 방법은 일반적으로 플러그-인을 이용하거나 웹 브라우저에서 지원하는 라이브 스트리밍 프로토콜을 사용하는 방법이 있다. 현재 널리 사용되는 플러그-인으로는 어도비 플래시 플레이어(adobe flash player)나 마이크로소프트 IIS(Internet Information Services, IIS)를 이용하는 방법이 있다. 그러나 이는 일부 모바일 기기에서는 지원하지 않는 문제점이 있다. 또한 별도의 플러그-인을 사용하지 않기 위해서는 IP 카메라에 HLS나 DASH(dynamic adaptive streaming over HTTP) 프로토콜을 구현하여야 하는 문제가 있다.
IP 기반으로 미디어 스트리밍을 수행하기 위한 선행기술문헌으로서 한국등록특허 제1228942호(2013.02.01)에는 IP 기반 컨텐츠 관리 장치 및 방법이 제안되어 있다. 상기 선행기술문헌의 IP 기반 컨텐츠 관리 장치 및 방법은 IP 기반의 생방송 스트림 및 미디어 파일을 포함하는 복수의 컨텐츠를 복수의 사용자 단말로 서비스하기 위해, 컨텐츠를 상기 복수의 사용자 단말에 각각 최적화된 복수의 포맷으로 변환 처리를 수행하는 복수의 클라이언트 체인 단말, 그리고 새로운 컨텐츠를 감지하고, 새로운 컨텐츠를 상기 복수의 클라이언트 체인 단말 중 적어도 하나의 클라이언트 체인 단말로 변환을 지시하고, 컨텐츠를 요청한 사용자 단말에 최적화된 포맷의 컨텐츠를 제공하는 클라우드 미디어 서버를 포함하는 것을 특징으로 한다.
또 다른 선행기술문헌으로서 한국공개특허 제2014-0002026호(2014.01.07)에는 파일 전달 방법들을 이용한 IP 브로드캐스트 스트리밍 서비스 배포가 제안되어 있다. 상기 선행기술문헌의 디바이스는 네트워크를 통해, HTTP를 통한 동적 적응적 스트리밍(DASH)에 부합하는 미디어 콘텐츠의 적어도 일부분을 취출하기 위한 요청으로서, 적어도 일부가 파일 전달 서비스에 따라 전달되게 하는 요구를 포함하는 요청을 전송하고, 그 요청에 응답하여, 상기 네트워크로 상기 파일 전달 서비스에 따라 미디어 콘텐츠의 적어도 일부에 대한 스트리밍 데이터를 수신하도록 구성된 하나 이상의 프로세싱 유닛들을 구비하는 것을 특징으로 한다. 또한 그 디바이스는 브라우저가 파일 전달 서비스를 이용하여 데이터를 사실상 스트리밍 할 수 있도록 수신된 데이터로 브라우저 캐시를 채울 수도 있는 것을 특징으로 한다. 그 디바이스는 파일 전달 서비스를 통해 수신된 데이터의 스위치 포인트가 도달되기까지 유니캐스트를 이용하여 미디어 콘텐츠의 데이터를 초기에 취출할 수도 있는 것을 특징으로 한다.
그러나 상기 선행기술문헌들은 IP 카메라에 바로 적용할 경우, HLS 지원을 위하여 미디어 파일을 세 개 이상 생성 및 저장하여야 하며, 파일 생성에 많은 시간과 함께 많은 메모리가 소모되어 임베디드 시스템에 부적합한 문제가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 종래의 보안 감시용으로 일반적으로 사용되는 IP 카메라를 이용하여 모바일 디바이스에서 플러그-인이나 별도의 어플리케이션 프로그램을 설치하지 않고 라이브 스트리밍을 지원하는 HLS 프로토콜을 임베디드 시스템에서 구현하는 것을 목적으로 한다.
또한 본 발명의 또 다른 목적은 종래의 방식을 지원하도록 호환성을 유지하면서 HLS 프로토콜도 지원하여 표준 브라우저에서 별도의 플러그-인이나 관리 소프트웨어 없이 라이브 스트리밍이 가능하도록 하는 것을 목적으로 한다.
또한 본 발명의 또 다른 목적은 상용 IP 카메라의 임베디드 시스템 프로그래밍 환경에서 HLS 지원하기 위하여 오픈 소스에서 필요한 함수만을 이용하여 HLS 프로토콜을 구현하여 메모리를 최적화하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 HLS 프로토콜 지원 시스템은, 카메라에서 입력된 이미지 데이터를 미리 정해진 시간 간격으로 분리하여 인코딩 스트림을 생성하는 스트림 변환기; 및 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하여, 웹서버로 제공하는 미디어 인코더;를 포함하며, 상기 인코딩 스트림을 생성하는 스트림 변환 후에 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 HLS 프로토콜 지원 시스템은, 상기 제공된 MPEG-2 TS에 대해서 재생목록을 생성하고, 상기 MPEG-2 TS와 재생목록을 적어도 하나 이상의 클라이언트에게 제공하는 웹서버;를 더 포함하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 HLS 프로토콜 지원 시스템에서, 상기 IP 카메라에서의 입력된 이미지 데이터의 전송은 CGI를 통하여 이루어지는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 HLS 프로토콜 지원 시스템은, 상기 스트림 세그먼터에서 생성된 인코딩 스트림으로부터 상기 미디어 인코더에서 MPEG-2 TS를 파일로 생성하지 않고, 상기 웹서버로부터 CGI를 통한 MPEG-2 TS의 요청에 따라 상기 미디어 인코더는 소켓 통신을 통해서 MPEG-2 TS를 웹서버로 전송함으로써, 파일 생성에 필요한 시간 및 메모리를 절약하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 HLS 프로토콜 지원 시스템은, 실시간으로 MPEG-2 TS를 포함한 멀티미디어 파일을 생성하지 않고 CGI와 소켓 통신을 이용하여 웹서버로 멀티미디어 스트림을 전송하는 것과 재생목록 파일을 수정함으로써, IP 카메라의 라이브 스트리밍을 수행하는 것을 특징으로 한다.
아울러 본 발명의 또 다른 일 실시예에 따른 HLS 프로토콜 지원 방법은, 카메라에서 입력된 이미지 데이터를 미리 정해진 시간 간격으로 분리하여 인코딩 스트림을 생성하는 스트림 변환 단계; 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하여, 웹서버로 제공하는 미디어 인코딩 단계; 및 상기 제공된 MPEG-2 TS에 대해서 재생목록을 생성하고, 상기 MPEG-2 TS와 재생목록을 적어도 하나 이상의 클라이언트에게 제공하는 단계;를 포함하며, 상기 인코딩 스트림을 생성하는 스트림 변환 후에 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 HLS 프로토콜 지원 방법에서, 상기 IP 카메라에서의 입력된 이미지 데이터의 전송은 CGI를 통하여 이루어지는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 HLS 프로토콜 지원 방법에서, 상기 IP 카메라에서 출력되는 이미지 스트림은 JES(JPEG elementary stream) 이미지 포맷으로 이루어져 있으나, 상기 인코딩 스트림은 H.264로 인코딩되는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 HLS 프로토콜 지원 방법은, 상기 JES 이미지 포맷의 이미지 스트림을 이용함으로써, 관리 소프트웨어를 통하여 보안 감시에 사용되는 IP 카메라와의 호환성을 유지하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 HLS 프로토콜 지원 방법에서, 상기 MPEG-2 TS와 재생목록 파일을 생성하는 것은 오픈 소스를 이용하여 수행하며, 상기 오픈 소스 중 해당 함수만을 이용하며, 연속된 미디어 파일을 생성하지 않고 매번 소켓 통신으로 바로 웹서버로 전송하여 IP 카메라의 메모리를 최소화 하는 것을 특징으로 한다.
본 발명은 보안 감시에 일반적으로 사용되는 종래의 IP 카메라를 이용하여 HTML5 표준을 지원하며 모바일 디바이스에서 플러그-인이나 별도의 어플리케이션 프로그램을 설치하지 않고 라이브 스트리밍이 가능한 HLS 프로토콜을 임베디드 시스템에서 구현함으로써, 기존의 IP 카메라를 이용한 보안 관리 소프트웨어에서 사용되는 방식인 전용 플러그-인을 사용하는 방법과의 호환성을 유지하면서 HLS 프로토콜을 지원하여 표준 브라우저에서 별도의 플러그-인이나 관리 소프트웨어 없이도 라이브 스트리밍이 가능한 효과가 있다.
도 1은 종래 기술에 따른 HTTP 라이브 스트리밍(HLS)을 지원하는 시스템의 아키텍처를 보인 구성도.
도 2는 본 발명의 일 실시예에 따른 일반적인 IP 카메라를 위한 HLS 프로토콜을 지원하는 시스템의 아키텍처를 보인 구성도.
도 3은 본 발명의 일 실시예에 따른 HLS 프로토콜을 지원하는 시스템에서 FFmpeg의 라이브러리를 이용하여 H.264 스트림을 MPEG-2 TS로 변환하는 과정을 보인 순서도.
도 4는 본 발명의 일 실시예에 따른 HLS 프로토콜을 위한 실시간 멀티미디어 생성 및 재생목록 수정 절차를 보인 순서도.
도 5는 본 발명의 일 실시예에 따른 HTML m3u8 재생목록 파일의 예를 보인 예시도.
도 6은 본 발명의 일 실시예에 따른 HTML 웹페이지에서 HTTP 라이브 스트리밍을 제공하기 위한 예시도.
도 7은 본 발명의 일 실시예에 따른 HTTP 라이브 스트리밍 재생 테스트를 수행하는 시스템을 보인 예시도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 IP 카메라에서 HLS 프로토콜을 지원하는 시스템 및 그 방법의 일 실시예를 설명한다.
IP 카메라를 이용하여 라이브 스트리밍을 구현하는 방법은 일반적으로 플러그-인을 이용하거나 웹 브라우저에서 지원하는 라이브 스트리밍 프로토콜을 사용하는 방법이 있다. 현재 널리 사용되는 플러그-인으로는 표 1에 나타낸 바와 같이 어도비 플래시 플레이어(adobe flash player)나 마이크로소프트 IIS (Internet Information Services, IIS)를 이용하는 방법이 있다. 그러나 이는 일부 모바일 기기에서는 지원하지 않는 문제점이 있다. 또한 별도의 플러그-인을 사용하지 않기 위해서는 IP 카메라에 HLS나 DASH(dynamic adaptive streaming over HTTP) 프로토콜을 구현하여야 한다. 본 발명에서는 이 둘 중에서 HLS를 구현하고자 하며, 여기서 HLS는 HTML5 표준을 지원하며 플러그-인이나 추가적인 응용프로그램 없이 모바일 기기에서 라이브 스트리밍 가능한 프로토콜이다. 또한 기존의 IP 카메라에 사용되어지는 방식인 전용 플러그인-인을 사용하는 방법과의 호환성을 유지하면서 HLS 프로토콜을 지원하도록 시스템 아키텍처를 구현하고자 한다.
Figure pat00001
표 1에서 HLS는 애플에서 iOS/Safari와 QuickTime Player 또는 Apple TV를 위하여 시행한 프로토콜이며, 라이브 스트리밍과 VOD(Video On Demand)를 제공하기 위한 프로토콜이다. HLS는 애플 기기는 물론 현재 안드로이드 기기에서도 지원하는 추세이므로 모바일 기기를 위한 라이브 스트리밍 프로토콜로 적합하다.
도 1은 종래 기술에 따른 HTTP 라이브 스트리밍(HLS)을 지원하는 시스템의 아키텍처를 보인 구성도이다. 일반적인 HTTP 라이브 스트리밍 프로토콜의 구조는 도 1과 같이 미디어 인코딩 후 스트림 세그먼터(stream segmenter)를 통해 미디어를 분할하는 구조이다. 도 1에서 스트림 세그먼터는 일정한 시간 간격마다 입력받은 멀티미디어 데이터를 분할하여 파일을 생성하고, 분할된 파일에 접근할 수 있는 메타데이터 즉 m3u8을 생성하는 일을 한다. 실시간 라이브 스트리밍의 경우 실시간으로 데이터를 저장해야 하므로 세그먼터를 통하여 멀티미디어 데이터의 분할이 요구되지 않고, 미리 정해진 듀레이션(duration)만큼 멀티미디어 데이터를 분할 또는 저장함으로써 분할된 스트리밍 데이터를 생성할 수 있다. 재생목록(playlist)은 m3u8 파일 확장자(extension)로 MPEG-2 미디어 포맷인 TS 파일을 최소 3개 가지고 있다. 따라서 사용자는 m3u8 파일을 통하여 MPEG-2 TS 파일을 순차적으로 플레이한다. 또한 지속적인 라이브 스트리밍을 위하여서는 MPEG-2 TS 파일이 생성되고 생성된 파일로 m3u8 파일이 업데이트 되어야 한다.
본 발명은 상용 IP 카메라의 임베디드 시스템 프로그래밍 환경에서 HLS를 지원하기 위하여 오픈 소스를 이용하여 구현한 결과이다. 일반적으로 라이브 스트리밍을 구현하기 위해서는 IP 카메라로부터 생성된 이미지를 실시간으로 분할된 MPEG-2 TS 파일로 생성해 주어야 한다. 대부분의 상용 IP 카메라는 생성되는 이미지 데이터로 JPEG(Joint Photographic Expert Group)과 같은 정지 이미지 또는 각 회사에서 정의한 이미지 스트림 포맷에 따라 각기 다른 형식의 데이터 포맷을 갖는다. 이와 같이 생성된 원시(raw) 이미지 데이터는 표준화된 이미지 압축 방식을 이용하여 변환되고 클라이언트-서버 방식에 의하여 사용자에게 영상이 전송되게 된다. 전송된 영상은 관리 소프트웨어를 통하여 다수의 IP 카메라를 이용한 보안 감시에 응용될 수 있다. 본 발명은 임베디드 시스템에서 메모리와 컴퓨팅 파워의 제한을 최소화하면서 HLS 프로토콜을 지원하여 표준 브라우저에서 별도의 플러그-인이나 관리 소프트웨어 없이 라이브 스트리밍이 가능하도록 구현하는 기술을 개시하고 있다.
도 2는 본 발명의 일 실시예에 따른 일반적인 IP 카메라를 위한 HLS 프로토콜을 지원하는 시스템의 아키텍처를 보인 구성도이다.
본 발명에서는 종래의 보안 감시 시스템의 관리 소프트웨어로의 호환성을 유지하기 위하여 미디어 인코더와 스트림 세그먼터(이하 스트림 변환기(stream converter)라고 함)가 순서가 뒤바뀐 형태로 도 2와 같은 구조를 유지한다. IP 카메라를 위한 HLS 아키텍처는 서버(sever)(100) 및 HTTP 웹서버(web server)(200)를 포함하여 구성된다. 도 2에 도시된 바와 같이 IP 카메라로부터 인코드된 JES 이미지 데이터(JPEG Elementary Stream image data)(111)를 이용하여 HLS 프로토콜을 지원하는 구조로 구성할 수 있다. 여기서 상기 HLS를 지원하는 시스템으로서 상기 서버(sever)(100)와 HTTP 웹서버(web server)(200)는 하나의 프로세서 상에서 구현될 수 있으며, 또한 복수의 프로세서 상에서 구현될 수도 있다. 즉, 상기 서버와 HTTP 웹서버는 카메라에 장착된 임베디드 프로세서 상에서 구현되는 것이 바람직하다.
또한 HLS 프로토콜 기반 IP 카메라의 라이브 스트리밍을 구현하기 위해서는 서버에서 실시간으로 멀티미디어 스트림을 생성하고 재생목록 파일을 수정해 주어야한다. 도 2에서 HLS 프로토콜의 스트림 변환기(110)는 카메라에 입력되는 오디오 또는 비디오 JES 이미지 데이터(111)를 이용하여 미리 정해진 듀레이션을 갖는 원시 H.264 스트림 데이터(112)로 생성할 수 있다. 또한 미디어 인코더(120)의 FFmpeg 라이브러리를 이용하여 원시 H.264 스트림 데이터를 MPEG-2 TS 포맷(121)으로 변환하여 HLS 프로토콜을 위한 분할된 미디어 스트림(TS 제공부(220)에 의함)을 생성할 수 있다. 이 과정에서 분리된 미디어 스트림을 파일로서 임베디드 시스템에 저장하는 것이 아니라 웹 서버와 CGI를 통한 소켓 통신을 통하여 직접 웹 서버로 전송한다. 이 과정에서 생성된 미디어 스트림에 대한 재생목록 파일 .m3u8을 생성(m3u8 파일 제공부(210)에 의함)함으로써 클라이언트(client)에서 재생목록을 요청 시 분할된 미디어 스트림으로 링크가 가능하도록 한다.
이하 도 2에서 나타낸 IP 카메라로부터 입력된 이미지 데이터가 최종 HTTP 웹서버에 저장되기까지의 구조에서, 각각의 단계별 구현 과정을 설명하도록 한다.
먼저 스트림 변환기(110)에 대해서 설명하도록 한다.
상기 도 2에서 IP 카메라와 서버간의 이미지 데이터 전송은 CGI(Common Gateway Interface)를 통하여 이루어 질 수 있다. 또한 서버 측에서 전송받은 이미지 데이터를 이용하여 HLS 프로토콜을 지원하기 위해서는 H.264 코덱으로 인코딩된 MPEG-2 TS 포맷을 연속적으로 생성해주어야 한다.
즉, IP 카메라로부터 전송받은 JES 이미지 데이터로부터 추출된 원시 H.264 스트림은 표준 프레임인 I-frame과 P-frame의 연속된 데이터로 이루어진다. 또한 본 발명의 목적인 HLS 프로토콜을 지원하기 위하여 도 2와 같이 원시 H.264 스트림을 최소 GOP(Group of Picture) 단위로 축적하여 미디어 인코더(120)로 전송하여 데이터 포맷을 MPEG-2 TS로 변환하도록 한다.
이하 기재에서는 미디어 인코더(120)에 대해서 상세하게 설명하도록 한다.
미디어 인코더(120)에서는 생성된 원시 H.264 스트림 데이터를 세그먼트된 MPEG-2 TS 데이터로 인코딩할 수 있다. MPEG-2 미디어 인코딩을 위하여 오픈 소스 멀티미디어 컨버터인 FFmpeg을 이용할 수 있다. 이때 FFmpeg의 라이브러리 중 일부 필요한 함수만을 이용하여 임베디드 시스템으로 구현함으로써, IP 카메라의 메모리를 최소화하도록 구성할 수 있다.
세그먼트된 스트림 데이터(121)는 CGI를 통해 소켓을 표준 출력으로 하여 바로 웹 서버(200)로 전송이 이루어지며, 따라서 스트리밍 데이터인 MPEG-2 TS(121)를 임베디드 시스템에서 파일로 생성하지 않음에 따라 메모리를 절약하고 파일 생성에 필요한 시간을 최소화하여 실시간 멀티미디어 전송이 가능한 구조이다.
도 3은 본 발명의 일 실시예에 따른 HLS 프로토콜을 지원하는 시스템에서 FFmpeg의 라이브러리를 이용하여 H.264 스트림을 MPEG-2 TS로 변환하는 과정을 보인 순서도이다.
먼저 생성된 원시 H.264 스트림 데이터를 읽어서 데이터 포맷의 정보를 분석한다(S10). 이렇게 분석된 정보는 FFmpeg 라이브러리 내의 데이터 포맷 정보가 저장되는 구조체에 저장된다. 그 다음 단계는 원시 H.264 스트림 데이터 내부의 영상 및 코덱 정보를 검색하는 것이다(S20). 탐색된 스트림이 비디오 스트림으로 확인된다면, 해당 영상의 코덱 정보를 탐색한 후 FFmpeg 라이브러리의 코덱 정보를 담는 구조체에 그 정보를 저장한다(S30). 즉, 입력된 H.264 스트림에 대한 MPEG-2 TS 헤더 작성 및 원시 H.264 스트림과 함께 MPEG-2 TS 구조체에 저장한다. 구조체를 이용하여 MPEG-2 TS 스트림 데이터를 생성하여 웹 서버에서 요청되어 온 CGI에 따라 소켓을 표준 출력으로 하여 웹 서버에 스트림 데이터를 전송하다. 이와 같이 FFmpeg 라이브러리를 이용하여 원시 H.264 스트림을 MPEG-2 TS 포맷으로 변환하고 데이터를 10초 동안 축적하여 파일로 저장하지 아니하고 소켓 통신을 통하여 웹 서버로 전송할 수 있다.
이하 기재에서는 재생목록(playlist) 생성에 대해서 상세하게 설명하고자 한다.
도 4는 본 발명의 일 실시예에 따른 HLS 프로토콜을 위한 실시간 멀티미디어 생성 및 재생목록 수정 절차를 보인 순서도이다.
먼저 메인 쓰레드에서 원시 H.264 스트림을 추출한다(S100). 즉, IP 카메라로부터 추출한 원시 H.264 이미지 스트림을 MPEG-2 TS 데이터 포맷으로 생성하는 절차는 IP 카메라에서 변환된 원시 H.264 스트림의 획득과 동시에 시작된다(S100). 다음으로 쓰레드 매니저를 통해서 H.264 스트림을 캐치하며, FFmpeg 쓰레드를 생성하고(S200), H.264 스트림을 MPEG-2 TS 포맷으로 변환하고 소켓 통신으로 바로 출력한다(S300). 변환 완료 후 FFmpeg 쓰레드는 자원을 반환하고 재생목록을 수정한다(S400). 이와 같은 절차의 반복을 통해 HLS 프로토콜의 라이브 스트리밍에 필요한 재생목록을 생성한다.
Playlist_function()에서는 MPEG-2 TS 포맷으로 데이터를 변환한 후 playlist.m3u8을 생성하고, 이후 HLS 프로토콜 지원을 위하여 세 개의 가상적 URL을 마련하고, 클라이언트 요청을 소켓으로 직접적으로 연결하여 변환된 MPEG-2 TS 데이터를 전송하여 준다. 다음 네 번째 스트림을 생성할 때부터는 playlist.m3u8에 기재된 세 개의 가상의 MPEG-2 TS의 URL 중 가장 처음에 추가된 MPEG-2 TS의 URL을 삭제한 후 가상의 MPEG-2 TS의 URL을 기재한다. 이 과정에서 재생목록의 시퀀스 번호(sequence number)는 1을 더해준다. 결과적으로 재생목록에는 항상 세 개의 분할된 가상의 MPEG-2 TS의 URL이 존재한다.
이하 기재에서는 웹서버의 역할과 그 구성에 대해서 상세하게 설명하고자 한다.
HTTP는 클라이언트에서 반드시 HLS 서버에 요청을 해야 응답을 받을 수 있다. 즉, 분할된 멀티미디어와 다음에 재생될 멀티미디어의 정보를 함께 클라이언트에 전달하고, 재생중인 멀티미디어의 재생이 완료되었을 경우 재생목록을 다시로드(reload)하고, 재생 완료와 동시에 생성된 다음 멀티미디어를 요청함으로서 끊임없이 재생하도록 한다.
m3u8의 파일 포맷은 m3u 파일 포맷의 확장규격으로 m3u8은 UTF-8 문자 집합을 사용할 수 있고, 연속적으로 재생할 MPEG-2 TS의 목록을 가진 재생목록이다. 다만 본 발명에서는 가상의 파일 재생목록이며, 실제는 소켓을 통하여 변환된 MPEG-2 TS 스트림 데이터가 클라이언트로 전송된다. 즉, MPEG-2 TS 스트림 데이터는 파일로 저장되지 않는다.
도 5는 본 발명의 일 실시예에 따른 HTML m3u8 재생목록의 예를 보인 예시도이다.
표 1에 도시된 바와 같이 HLS 프로토콜에 사용되는 멀티미디어 파일의 형식(예: 미디어 콘테이너, media container)은 MPEG-2 TS이며, 본 발명에서는 IP 카메라로부터 입력받은 스트림 데이터를 이용하여 표준화된 HLS 프로토콜을 지원하는 이미지 데이터를 생성하는 것이다. 표 1의 표준에서 MPEG-2 TS 파일 형식의 비디오 파일은 미리 정해진 듀레이션을 기준으로 생성된 파일들이며, 재생목록 파일인 m3u8 파일에 HLS 태그를 이용하여 도 5와 같이 나타낼 수 있다. 다만 본 발명에서 재생목록의 URL은 실제로 존재하지 아니하며 클라이언트가 URL 요구시 직접적으로 소켓을 통하여 데이터가 웹 서버로 전송된다.
HLS에서 웹서버는 HTTP를 통해 클라이언트로부터 데이터 전송 요청을 받고 플레이어에 응답을 주는 역할만을 수행할 수 있다. 요청받은 멀티미디어 데이터를 HTTP 데이터 전송 규약에 따라 응답에 포함하여 전송할 수 있다. 본 발명에서는 요청에 따라 웹서버(200)에서 서버(100)에 CGI를 통하여 스트림 변환기(110)의 프로그램 수행을 요청하여야 하며, 이에 따라 변환된 MPEG-2 TS 데이터가 소켓 통신을 통하여 웹서버(200)에 전송되어야 한다. 따라서 HLS 서버를 구현하기 위하여서는 저장되어 있는 파일을 읽어 HTTP 응답에 따라 데이터를 전송할 수 있는 웹서버를 사용해야 한다.
본 발명에서는 HLS 서버를 위한 웹서버로 Apache2를 이용할 수 있으며, 이때 서비스되고 있는 파일의 MIME 타입들과 이들의 파일 확장들을 연관시키는 것과 달리 다른 특별한 구성이 필요치 않다(no special configuration is necessary, apart from associating the MIME types of the files being served with their file extensions). HLS를 위한 Apache2 웹서버의 MIME 타입은 표 2와 같이 나타내었다. 즉, 표 2는 본 발명의 일 실시예에 따른 HTTP 라이브 스트리밍을 위한 MIME 타입을 보인 것이다.
Figure pat00002
즉, 파일 확장자가 .m3u8일 때, MIME 타입은 application/x-mpegURL 혹은 vnd.apple.mpegURL이다. 파일 확장자가 .ts일 때, MIME 타입은 video/MP2T이다.
도 6은 본 발명의 일 실시예에 따른 HTML 웹페이지에서 HTTP 라이브 스트리밍을 제공하기 위한 예시도이다.
즉, Apache2 웹서버를 이용하여 MPEG-2 TS를 클라이언트에게 제공하기 위한 웹 페이지의 HTML을 도 6과 같이 나타낼 수 있다. HTML5 프로토콜에서는 HLS를 지원하므로 <video> 태그를 이용하여 playlist.m3u8을 링크할 경우 클라이언트는 표준 웹 페이지에서 별도의 플러그-인 없이 HLS 프로토콜을 이용하여 소켓 통신을 이용하여 전송된 멀티미디어를 재생할 수 있다.
결국, 파일 재생 목록인 m3u8의 URL은 가상이며 클라이언트가 URL을 요구시 바로 소켓 통신을 통하여 미디어 컨버터에서 변환된 MPEG-2 TS 데이터를 클라이언트로 보내어 라이브 스트리밍을 실현하는 것이다. 이로써 파일 변환과 메모리 저장을 최소화할 수 있는 것이다.
도 7은 본 발명의 일 실시예에 따른 HTTP 라이브 스트리밍 재생 테스트를 수행하는 시스템을 보인 예시도이다.
예컨대 HLS 재생실험은 애플(Apple)의 아이폰(iPhone) iOS 7.0.4(iPhone 4S)와 Android 4.4 (Nexus7) 및 Android 4.3 (Galaxy S4)에서 진행할 수 있으며, 아이폰의 경우 도 7의 (a)와 같이 IP 카메라의 영상을 라이브로 확인할 수 있다. 도 7의 (b)와 같이 안드로이드 디바이스 Galaxy S4의 경우 브라우저상에서 HLS의 재생이 가능하지만 다른 안드로이드 디바이스들에서는 부분적인 문제가 있을 수 있다. 하지만 안드로이드 디바이스에서는 MXplayer 또는 DicePlayer와 같은 추가적인 멀티미디어 재생 응용프로그램을 통해서 재생이 가능하며, HLS를 지원하는 방향으로 업데이트 될 수 있다.
본 발명은 상용 IP 카메라를 이용하여 웹 브라우저 상에서 라이브 스트리밍을 하는 방법을 제시하며, HTML5를 기반으로 플러그-인 또는 추가적인 응용프로그램의 설치 없이 클라이언트 측에서 애플 디바이스 또는 안드로이드 4.0 이후의 버전을 이용하여 멀티미디어를 재생할 수 있도록 할 수 있다. 이러한 결과는 기존의 IP 카메라를 이용하여 구성관리 소프트웨어(Configuration Management Software, CMS)를 이용한 보안 감시 시스템을 위한 프로토콜과 호환성을 유지하고 있으며, 별도로 IP 카메라를 단독으로 라이브 스트리밍 할 경우 별도의 소프트웨어나 플러그-인 없이 영상 재생이 가능한 특징을 가지고 있다.
이상에서 설명한 바와 같이, 본 발명에서 상용 IP 카메라의 임베디드 시스템 프로그래밍 환경에서 HLS 지원하는 것은 애플 기기에서 별도의 플러그-인이 없이 IP 카메라의 라이브 스트리밍이 지원되는 것을 의미한다. 본 발명에서는 상용 IP 카메라의 임베디드 시스템 프로그래밍 환경에서 HLS 지원하기 위하여 오픈 소스를 이용하여 프로토콜을 변환하며, 메모리 손실과 파일 변환 과정을 생략하기 위하여 CGI 요청과 이에 따른 소켓 통신 방법을 제시하였다. 이미 설명한 것과 같이, 일반적으로 라이브 스트리밍을 구현하기 위해서는 IP 카메라로부터 생성된 이미지를 실시간으로 분할된 TS 파일로 생성해 주어야 한다. 대부분의 상용 IP 카메라는 생성되는 이미지 데이터로는 JPEG과 같은 정지 이미지 또는 각 회사에서 정의한 이미지 스트림 포맷에 따라 각기 다른 형식의 데이터 포맷을 갖는다. 이와 같이 생성된 원시 이미지 데이터는 표준화된 이미지 압축 방식을 이용하여 변환되고 클라이언트-서버 방식에 의하여 사용자에게 영상이 전송되도록 한다. 전송된 영상은 구성관리 관리 소프트웨어를 통하여 다수의 IP 카메라를 이용한 보안 감시에 응용될 수 있다. 따라서 본 발명은 기존의 방식을 지원하도록 호환성을 유지하면서 HLS 프로토콜도 지원하여 표준 브라우저에서 별도의 플러그-인이나 관리 소프트웨어 없이 라이브 스트리밍이 가능하도록 구현한 것이다.
본 발명은 또한 상용 IP 카메라를 이용하여 HLS 프로토콜을 지원하기 위한 미디어 컨버터를 구현하기 위하여 오픈 소스인 FFmpeg 라이브러리를 이용하였다. 이미 설명한 바와 같이 기존의 방식과 같이 파일을 생성하지 아니하고 CGI 요청에 대하여 소켓 통신을 통하여 웹 서버에 미디어 스트림 데이터를 전송하여 임베디드 시스템에 적합하도록 구현한 것이다. 따라서 본 발명에서는 오픈 소스인 FFmpeg 라이브러리인 멀티미디어 컨버터를 이용하여 원시 H.264 스트림을 분할된 MPEG-2 TS 파일로 변환하지 아니하고 소켓 통신으로 웹 서버로 실시간 미디어 데이터를 전송함은 물론 재생목록인 m3u8파일을 생성하여 웹서버를 통해 클라이언트에게 라이브 스트리밍을 지원하도록 하였다.
따라서 본 발명은 IP 카메라로부터 메모리의 손실과 계산량에 의한 지연됨이 없이 HLS 프로토콜도 지원하여 표준 브라우저에서 별도의 플러그-인이나 관리 소프트웨어 없이도 라이브 스트리밍이 가능한 이점이 있다.
상기에서는 본 발명에 따른 바람직한 실시 예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정 되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.
100 : 서버 110 : 스트림 변환기
111 : JES 이미지 데이터 112 : 원시(raw) H.264 스트림
120 : 미디어 인코더 121 : MPEG-2 TS
200 : HTTP 웹서버 210 : m3u8 파일 제공부
220 : TS 제공부

Claims (10)

  1. IP 카메라에서 입력된 이미지 데이터를 미리 정해진 시간 간격으로 분리하여 인코딩 스트림을 생성하는 스트림 변환기; 및
    상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하여, 웹서버로 제공하는 미디어 인코더;를 포함하며,
    상기 인코딩 스트림을 생성하는 스트림 변환 후에 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하는 것을 특징으로 하는 HLS 프로토콜 지원 시스템.
  2. 청구항 1에 있어서,
    상기 제공된 MPEG-2 TS에 대해서 재생목록을 생성하고, 상기 MPEG-2 TS와 재생목록을 적어도 하나 이상의 클라이언트에게 제공하는 웹서버;를 더 포함하는 것을 특징으로 하는 HLS 프로토콜 지원 시스템.
  3. 청구항 1에 있어서,
    상기 IP 카메라에서의 입력된 이미지 데이터의 전송은 CGI를 통하여 이루어지는 것을 특징으로 하는 HLS 프로토콜 지원 시스템.
  4. 청구항 1에 있어서,
    상기 스트림 세그먼터에서 생성된 인코딩 스트림으로부터 상기 미디어 인코더에서 MPEG-2 TS를 파일로 생성하지 않고, 상기 웹서버로부터 CGI를 통한 MPEG-2 TS의 요청에 따라 상기 미디어 인코더는 소켓 통신을 통해서 MPEG-2 TS를 웹서버로 전송함으로써, 파일 생성에 필요한 시간 및 메모리를 절약하는 것을 특징으로 하는 HLS 프로토콜 지원 시스템.
  5. 청구항 1에 있어서,
    실시간으로 MPEG-2 TS를 포함한 멀티미디어 파일을 생성하지 않고 CGI와 소켓 통신을 이용하여 웹서버로 멀티미디어 스트림을 전송하는 것과 재생목록 파일을 수정함으로써, IP 카메라의 라이브 스트리밍을 수행하는 것을 특징으로 하는 HLS 프로토콜 지원 시스템.
  6. IP 카메라에서 입력된 이미지 데이터를 미리 정해진 시간 간격으로 분리하여 인코딩 스트림을 생성하는 스트림 변환 단계;
    상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하여, 웹서버로 제공하는 미디어 인코딩 단계; 및
    상기 제공된 MPEG-2 TS에 대해서 재생목록을 생성하고, 상기 MPEG-2 TS와 재생목록을 적어도 하나 이상의 클라이언트에게 제공하는 단계;를 포함하며,
    상기 인코딩 스트림을 생성하는 스트림 변환 후에 상기 인코딩 스트림을 MPEG-2 TS로 포맷 변환하는 것을 특징으로 하는 HLS 프로토콜 지원 방법.
  7. 청구항 6에 있어서,
    상기 IP 카메라에서의 입력된 이미지 데이터의 전송은 CGI를 통하여 이루어지는 것을 특징으로 하는 HLS 프로토콜 지원 방법.
  8. 청구항 6에 있어서,
    상기 IP 카메라에서 출력되는 이미지 스트림은 JES 이미지 포맷으로 이루어져 있으나, 상기 인코딩 스트림은 H.264로 인코딩되는 것을 특징으로 하는 HLS 프로토콜 지원 방법.
  9. 청구항 8에 있어서,
    상기 JES 이미지 포맷의 이미지 스트림을 이용함으로써, 관리 소프트웨어를 통하여 보안 감시에 사용되는 IP 카메라와의 호환성을 유지하는 것을 특징으로 하는 HLS 프로토콜 지원 방법.
  10. 청구항 6에 있어서,
    상기 MPEG-2 TS 데이터 변환을 하는 것은 오픈 소스를 이용하여 수행하며,
    상기 오픈 소스 중 해당 함수만을 이용하며, 연속된 멀티미디어 파일을 생성하지 않고 매번 소켓 통신으로 바로 웹서버로 전송하여 IP 카메라의 메모리를 최소화 하는 것을 특징으로 하는 HLS 프로토콜 방법.
KR1020140041690A 2014-04-08 2014-04-08 Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법 KR101568317B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140041690A KR101568317B1 (ko) 2014-04-08 2014-04-08 Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140041690A KR101568317B1 (ko) 2014-04-08 2014-04-08 Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20150116615A true KR20150116615A (ko) 2015-10-16
KR101568317B1 KR101568317B1 (ko) 2015-11-12

Family

ID=54365607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140041690A KR101568317B1 (ko) 2014-04-08 2014-04-08 Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101568317B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640655A (zh) * 2020-12-16 2022-06-17 慧盾信息安全科技(北京)有限公司 一种基于hls视频播放的安全视频调阅系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228942B1 (ko) 2012-08-22 2013-02-01 (주)스트림비젼 Ip 기반 컨텐츠 관리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640655A (zh) * 2020-12-16 2022-06-17 慧盾信息安全科技(北京)有限公司 一种基于hls视频播放的安全视频调阅系统和方法
CN114640655B (zh) * 2020-12-16 2024-05-14 慧盾信息安全科技(北京)有限公司 一种基于hls视频播放的安全视频调阅系统和方法

Also Published As

Publication number Publication date
KR101568317B1 (ko) 2015-11-12

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
US9247317B2 (en) Content streaming with client device trick play index
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
JP2018186524A (ja) コンテンツ送信装置およびコンテンツ再生装置
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
US20150256600A1 (en) Systems and methods for media format substitution
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
KR20110053179A (ko) 데이터 전송 방법 및 장치
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US10499094B2 (en) Transmission apparatus, transmitting method, reception apparatus, and receiving method
WO2018045098A1 (en) Systems and methods foe encoding and playing back 360 view video content
JP6359539B2 (ja) レンダリング時の制御
Yang et al. Implementation of HTTP live streaming for an IP camera using an open source multimedia converter
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
KR101568317B1 (ko) Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법
CN114827734A (zh) 流媒体数据回放方法、装置、系统和存储介质
KR101690153B1 (ko) Http 기반 무버퍼링 영상전송 방법을 이용한 실시간 스트리밍 시스템
KR20160036924A (ko) 사용기기에 독립적인 라이브 스트리밍 시스템
WO2015064384A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2008199122A (ja) コンテンツ配信装置
de Comunicacoes Interactive Internet TV Architecture Based on Scalable Video Coding
Siraj Fahd HTTP Based Adaptive Streaming over HSPA

Legal Events

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

Payment date: 20181101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 5