KR20160036924A - System for device independent live streaming - Google Patents

System for device independent live streaming Download PDF

Info

Publication number
KR20160036924A
KR20160036924A KR1020140129216A KR20140129216A KR20160036924A KR 20160036924 A KR20160036924 A KR 20160036924A KR 1020140129216 A KR1020140129216 A KR 1020140129216A KR 20140129216 A KR20140129216 A KR 20140129216A KR 20160036924 A KR20160036924 A KR 20160036924A
Authority
KR
South Korea
Prior art keywords
protocol
data
client device
media
live streaming
Prior art date
Application number
KR1020140129216A
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 KR1020140129216A priority Critical patent/KR20160036924A/en
Publication of KR20160036924A publication Critical patent/KR20160036924A/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/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
    • 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

Abstract

The present invention relates to a live streaming system that is independent of a device to be used, and it can confirm the usage environment information of the client device with respect to the HLS protocol and the DASH protocol, which are currently proposed as standards, A system capable of implementing live streaming independent of an operating system or a browser in the absence of a plug-in or an application program.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described herein, there is provided a web server comprising: a streaming providing unit for transmitting media data through a protocol supported by a client device to provide live streaming; And a media encoder for implementing the protocol by converting the data obtained from the IP camera according to the protocol information supported by the client device and transmitting the converted data and the implemented protocol to the streaming providing unit; .

Description

SYSTEM FOR DEVICE INDEPENDENT LIVE STREAMING < RTI ID = 0.0 >

The present invention relates to a live streaming system for confirming video information acquired through an IP camera suitable for remote security, and more particularly, to a live streaming system independent of an operating system or a browser without installing a separate plug- Lt; / RTI >

Regarding video surveillance and management using an IP network, a number of such devices are registered and disclosed in addition to Korean Patent Laid-Open No. 10-2010-0038560 (hereinafter referred to as 'prior art document').

The above-mentioned prior art discloses a configuration in which an image received through a network is encoded and streamed. As in the preceding literature, many analog / digital CCTVs are installed and operated in public places for the purpose of surveillance security. Recently, video surveillance system using IP camera has become popular as low-cost system.

It is possible to monitor the camera regardless of the place by IP based communication method, network using LAN, coaxial cable method, and wired / wireless method.

In general, a separate plug-in is required to confirm video information using an IP camera, so that it can be used after installing additional software. If a specialized protocol is used, general contact with a firewall is not easy .

As a method for supporting live streaming of an IP camera, a Real-Time Transport Protocol (RTP) and a Real-Time Streaming Protocol (RTSP) protocol are generally used.

However, in order to reproduce live streaming video using RTP / RTSP on a user device, multimedia data must be transmitted through a separate application program, and different application programs must be designed according to the user's device and browser.

As an HTTP-based live streaming protocol, adaptive live streaming implements the most popular and standardized protocols. One is HTTP Live Streaming (HLS) protocol developed by Apple and can be used by Apple devices. The other is Dynamic Adaptive Streaming over HTTP (DASH) protocol, which is being standardized by ISO / IEC. Browser support.

Korean Patent Publication No. 10-2010-0038560.

DISCLOSURE Technical Problem Accordingly, the present invention has been made in view of the above problems, and it is an object of the present invention to provide a HLS protocol and a DASH protocol, It is an object of the present invention to provide a system capable of implementing live streaming independent of an operating system or a browser in the absence of a plug-in or an application program.

According to an aspect of the present invention, there is provided a live streaming system independent of a device to be used, the web streaming system comprising: a streaming provider for providing live streaming by transmitting media data through a protocol supported by a client device; And a media encoder for implementing the protocol by converting the data obtained from the IP camera according to the protocol information supported by the client device and transmitting the converted data and the implemented protocol to the streaming providing unit; .

When the media data request signal is received from the client device, the streaming provider determines protocol information supported by the client device, and transmits the protocol information supported by the client device requesting the media data to the media encoder Environment information confirmation module; And a program execution module that executes a program for providing a protocol supported by the client device using CGI (Common Gateway Interface) and transmits the media data to the client device through HTTP using the protocol, ; And a control unit.

The usage environment information confirmation module may check the usage environment information of the client device including device information or browser information to determine protocol information supported by the client device.

The media encoder may further include: a data conversion module that converts the data acquired from the IP camera into protocol based on protocol information supported by the client device transmitted through the streaming provider, thereby implementing the protocol; And a data transmission module for transmitting the data converted by the data conversion module and the implemented protocol to the streaming providing unit. And a control unit.

When the supported protocol is HLS, the data conversion module converts the Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera into the MPEG-2 TS file format, And the HLS protocol is implemented using a library of FFmpeg, which is an open source media converter.

When the supported protocol is DASH, the data conversion module converts Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera into a fragmented MP4 file format, Media file data, and implements the DASH protocol using MP4Box, which is a media package of gpac, in addition to FFmpeg.

According to the present invention, there is no need to install a separate plug-in or application program, and it is not necessary to design different application programs according to a user device and a browser. By using an open source-based media converter, There is an effect that can be minimized.

1 shows an example of a HLS (HTTP live streaming) system structure.
FIG. 2 is an overall configuration diagram of a live streaming system independent of the equipment used according to the present invention; FIG.
3 is a diagram illustrating an example of a protocol switching structure using CGI in the streaming provider according to the present invention.
4 illustrates an example of a CGI program pseudo code according to the present invention.
5 is a view showing an example of a live streaming execution screen using an IP camera according to the present invention.

Specific features and advantages of the present invention will become more apparent from the following detailed description based on the accompanying drawings. It is to be noted that the detailed description of known functions and constructions related to the present invention is omitted when it is determined that the gist of the present invention may be unnecessarily blurred.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will now be described in detail with reference to the accompanying drawings.

The live streaming system independent of the apparatus used according to the present invention will be described with reference to FIGS. 1 to 5 as follows.

One way to implement live streaming using an IP camera is to use a plug-in or a live streaming protocol supported by a web browser.

Current popular live streaming protocols are using Adobe Dynamic Streaming (HDS) or Microsoft Internet Information Services (IIS) when using plug-ins as shown in [Table 1].

[Table 1]

Figure pat00001

However, if you are using Adobe HDS or Microsoft IIS, you will need to install a plug-in or a separate application. If you can not install it, you can not play it. In particular, Apple's iOS does not support Flash Player and can not play Adobe HDS.

As described above, the present invention aims at providing live streaming without installing a separate plug-in or application program in a PC and a mobile device by using an IP camera generally used for security monitoring.

[Table 1] is a comparison table of streaming services that are currently in use. As shown in [Table 1], it is required to implement HLS or DASH protocol in IP camera in order not to use a separate plug-in.

That is, the present invention implements the HLS and DASH protocols to provide live streaming targeting PCs and mobile devices.

HLS is a protocol developed by Apple for iOS / Safari, QuickTime Player and Apple TV, and is a protocol for providing live streaming and VOD.

HLS is well suited as a live streaming protocol for mobile devices, as it is supported by Apple devices as well as current Android devices. In addition, HLS supports the HTML5 standard and is a protocol that allows live streaming on mobile devices without plug-ins or additional applications.

Currently, in order to provide Adaptive Streaming Player capable of playing media of DASH protocol in HTML5, development is being made to enable media playback through DASH protocol using Media Source Extension (MSE) and Encrypted Media Extension (EME).

The present invention proposes a live streaming structure that can maintain compatibility between HLS and DASH protocols using a HTTP protocol in an IP camera and a method of providing live streaming using an existing RTP / RTSP protocol.

FIG. 1 is a diagram illustrating a HLS (HTTP live streaming) system structure. As shown in FIG. 1, the structure of the HLS protocol is a structure for dividing media through a stream segmenter after media encoding, Protocol to the user's media player.

The stream segmenter divides input media data at predetermined time intervals to generate a file, and generates metadata (m3u8) that can access the divided file. In the case of live streaming, since the data must be stored in real time, it is not required to divide the media data through the stream segmenter, and the divided media data is divided and stored by a predetermined reproduction time of the divided media to generate divided streaming data have. The playlist file is an m3u8 file extension. For live streaming, the playlist file must have at least three TS files, which are MPEG-2 media format. The user can use the URL (Uniform Resource Locator) of the MPEG2-TS file described in the m3u8 file Request and play media files sequentially. In addition, for continuous live streaming, the playlist must be updated with the URL of the file created with the creation of the MPEG-2 TS file.

In the present invention, in order to maintain compatibility with the management software of the existing security monitoring system, the structure of FIG. 1 is maintained in a reversed order of the media encoder and the stream segmenter.

The IP camera FW1173-DS used in the present invention generates image data in an image data format defined by JES (JPEG Elementary Stream). JES image data is encoded in H.264 and used as a security monitoring system using management software and existing transmission protocols.

Existing security monitoring using JES image data Support HLS protocol using JES image data provided from IP camera to maintain compatibility with IP management software of integrated camera.

In order to implement live streaming of IP camera based on HLS protocol, media files must be created in real time on the server and the playlist file must be modified. In FIG. 1, the stream segmenter of the HLS protocol generates raw H.264 stream data in which frames are accumulated by a predetermined reproduction time of the divided media using JES image data of audio / video input to the camera .

The media encoder is implemented using FFmpeg library and converts the raw H.264 stream data to MPEG-2 TS format to generate the divided media file for HLS protocol. The m3u8 file, which is a playlist file for the divided media created in this process, is created to enable linking to the divided media when a playlist is requested from the user.

FIG. 2 is an overall configuration diagram of a live streaming system independent of a user equipment according to the present invention, and includes a streaming providing unit 100 and a media encoder 200 as shown in FIG.

As shown in FIG. 2, the streaming providing unit 100 performs a function of transmitting media data through a protocol supported by the client device 10 as a web server and providing live streaming. As shown in FIG. 2, (110) and a program execution module (120).

Specifically, when the usage environment information confirmation module 110 receives the media data request signal from the client device 10, it checks the usage environment information of the client device 10 including the device information or the browser information, And transmits the protocol information supported by the client device 10 requesting the media data to the media encoder 200. In this case,

The program execution module 120 executes a program that provides a protocol supported by the client device 10 using a CGI (Common Gateway Interface) and transmits the program to the client device 10 via the corresponding protocol based on HTTP / 1.1 Data is transmitted to provide live streaming.

The media encoder 200 converts Raw H.264 stream data obtained from the IP camera 20 in accordance with the protocol information supported by the client device 10 to conform to the corresponding protocol so as to convert the converted data and the implemented protocol into a streaming agent The data transfer module 210 and the data transfer module 220 are connected to each other as shown in FIG.

Specifically, the data conversion module 210 converts the data acquired from the IP camera 20 according to the protocol, based on the protocol information supported by the client device 10 transmitted through the streaming provider 100, Lt; / RTI >

At this time, when the supported protocol is HLS, the data conversion module 210 converts Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera 20 into the MPEG-2 TS file format, , And implements the HLS protocol using a library of FFmpeg, an open source media converter.

When the supported protocol is DASH, the data conversion module 210 converts Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera 20 into a fragmented MP4 file format, It generates the divided media file data, and implements the DASH protocol by using MP4Box which is a media package of gpac in addition to FFmpeg.

The data transmission module 220 transmits the converted data and the implemented protocol to the streaming provider 100 through the data conversion module 210.

In the process of generating the divided media file through the data conversion module 210, the divided media file data for the HLS protocol is the m3u8 file, and the divided media file data for the DASH protocol is the MPD file.

Accordingly, the data transmission module 220 may link the divided media to the client device 10 when a play list is requested.

3 is a diagram illustrating an example of a protocol switching structure using CGI in the streaming provider 100. When the client device 10 accesses the streaming provider 100 as a web server, Shows a structure for determining the usage environment information of the client device 10 and executing a protocol according to the user's usage environment through CGI (Common Gateway Interface).

For example, when the client device 10 accesses using the MAC OS or the Safari browser (version 6.0 or later), the server program is executed so as to provide the HLS protocol.

Also, if you connect using the Chrome browser on the Windows OS or Android OS, the program that provides the DASH protocol is executed. 4 is a pseudo code for selectively providing the HLS or DASH protocol according to the user's environment information using the CGI.

Hereinafter, an HTTP live streaming experiment result based on the IP camera will be described.

Experiments were performed on Windows 7 operating system PC and Windows 8.1, and mobile devices iPhone 4S iOS 7.0.1 and Android 4.4.2, and the results are shown in FIG. In the case of iPhone, when playing media in a browser independent of browser, it plays media using QuickTime player and supports only HLS in QuickTime player.

On the other hand, when connecting via iOS or Mac OS, CGI is used to run a program that provides HLS of the server and provides live streaming. Currently, the DASH protocol can be played only in Chrome browser and IE 8.1 in Windows 8.1, so if you connect to the server using a Chrome browser on your PC, you run a program that provides the DASH protocol.

Experimental results show that HTTP based live streaming using JES image data provided by IP camera can be played without plug-in or application installed.

However, the HLS protocol can provide live streaming after at least three divided media files are created, and it is possible to provide live streaming with a playback time of 10 seconds, which is recommended by Apple, A delay time of 30 seconds occurs. Also, in case of DASH protocol, the playback time of divided media files can be determined according to the server performance. In this experiment, experiments were performed by setting the playback time of divided media files to 2 seconds. Experimental results show that DASH protocol has shorter delay time than HLS protocol.

As described above, the live streaming system independent of the device to be used according to the present invention provides a live streaming protocol that can be independently supported on the user's device and browser without installing a separate plug-in or additional application program based on HTML5 .

If you require live streaming from Apple Inc. devices and other PC and Android devices, you have to select a media encoder to view live streaming video according to your environment. We have experimented that it is easy to implement CCTV surveillance and security function without additional plug-in.

Such a system is suitable for a mobile device, and has a characteristic advantage of being able to perform various applications by enabling real-time live streaming in the absence of a separate plug-in.

While the present invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. It will be appreciated by those skilled in the art that numerous changes and modifications may be made without departing from the invention. Accordingly, all such appropriate modifications and changes, and equivalents thereof, should be regarded as within the scope of the present invention.

100: protocol generation requesting unit 200: media encoder
110: environment information confirmation module 120: program execution module
210: data conversion module 220: data transmission module
10: Client device 20: IP camera

Claims (6)

A web server, comprising: streaming providing means for transmitting media data through a protocol supported by a client device to provide live streaming; And
A media encoder for implementing the protocol by converting data acquired from the IP camera according to the protocol information supported by the client device and transmitting the converted data and the implemented protocol to the streaming provider; Independent live streaming system.
The method according to claim 1,
Wherein the streaming providing unit comprises:
A usage environment information checking module for determining protocol information supported by the client device when the media data request signal is received from the client device and delivering protocol information supported by the client device requesting the media data to the media encoder; And
A program execution module that executes a program that provides a protocol supported by the client device by using a CGI (Common Gateway Interface), and provides live streaming by transmitting media data to the client device via HTTP based on the protocol; Wherein the live streaming system is independent of the user equipment.
3. The method of claim 2,
Wherein the usage environment information confirmation module comprises:
Wherein the usage environment information of the client device including the device information or the browser information is checked to determine the protocol information supported by the client device.
The method according to claim 1,
Wherein the media encoder comprises:
A data conversion module for implementing the protocol by converting data acquired from the IP camera according to a protocol based on protocol information supported by the client device transmitted through the streaming provider; And
A data transmission module for transmitting the data converted by the data conversion module and the implemented protocol to the streaming provider; Wherein the live streaming system is independent of the user equipment.
5. The method of claim 4,
Wherein the data conversion module comprises:
When the supported protocol is HLS, the Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera is converted into the MPEG-2 TS file format, and is generated as the divided media file data for the HLS protocol. And the HLS protocol is implemented using a library of the FFmpeg source media converter.
5. The method of claim 4,
Wherein the data conversion module comprises:
When the supported protocol is DASH, the Raw H.264 stream data encoded by the H.264 codec provided from the initial IP camera is converted into the fragmented MP4 file format, and is generated as the divided media file data for the DASH protocol. In addition to the FFmpeg, and a DASH protocol is implemented using MP4Box, a media package of gpac.

KR1020140129216A 2014-09-26 2014-09-26 System for device independent live streaming KR20160036924A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140129216A KR20160036924A (en) 2014-09-26 2014-09-26 System for device independent live streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140129216A KR20160036924A (en) 2014-09-26 2014-09-26 System for device independent live streaming

Publications (1)

Publication Number Publication Date
KR20160036924A true KR20160036924A (en) 2016-04-05

Family

ID=55800176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140129216A KR20160036924A (en) 2014-09-26 2014-09-26 System for device independent live streaming

Country Status (1)

Country Link
KR (1) KR20160036924A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540515A (en) * 2017-03-06 2018-09-14 腾讯科技(深圳)有限公司 A kind of data processing method and server
US11622164B2 (en) 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540515A (en) * 2017-03-06 2018-09-14 腾讯科技(深圳)有限公司 A kind of data processing method and server
CN108540515B (en) * 2017-03-06 2022-04-15 腾讯科技(深圳)有限公司 Data processing method and server
US11622164B2 (en) 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s

Similar Documents

Publication Publication Date Title
CN102118428B (en) Method and system for playing streaming media
US9113186B2 (en) Providing syndication feed content on a television set-top box with limited decoder capability
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
TWI435568B (en) Method and system for multimedia audio video transfer
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
WO2016100916A1 (en) Service signaling recovery for multimedia content using embedded watermarks
CN109587514B (en) Video playing method, medium and related device
KR102499231B1 (en) Receiving device, sending device and data processing method
US20150237091A1 (en) Real-Time Transcode Transfer Method and System Based on HTTP under DLNA
KR20120114016A (en) Method and apparatus for network adaptive streaming user data in a outer terminal
CN106464933B (en) Apparatus and method for remotely controlling rendering of multimedia content
JP6359539B2 (en) Control during rendering
CN105049931B (en) The method and system that the video of format non-supporting in mobile terminal is converted
CN107925798B (en) Receiving apparatus, transmitting apparatus, and data processing method
Yang et al. Implementation of HTTP live streaming for an IP camera using an open source multimedia converter
TW201605230A (en) A method and system for transferring real-time audio/video stream
JP2017011325A (en) Receiver, transmitter, and data processing method
KR20160036924A (en) System for device independent live streaming
CN107534792B (en) Receiving apparatus, transmitting apparatus, and data processing method
KR101690153B1 (en) Live streaming system using http-based non-buffering video transmission method
US20190158898A1 (en) Hybrid transmission protocol
JP6862437B2 (en) Methods and devices for sending and receiving multimedia data
KR101568317B1 (en) System for supporting hls protocol in ip cameras and the method thereof
WO2019166960A1 (en) Apparatus, method and system for multiple audio-video streams reception
KR20130115950A (en) Apparatus and method for supporting broadcast service

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application