KR20230080275A - Method and apparatus for providing video message service through a third-party site - Google Patents

Method and apparatus for providing video message service through a third-party site Download PDF

Info

Publication number
KR20230080275A
KR20230080275A KR1020220031199A KR20220031199A KR20230080275A KR 20230080275 A KR20230080275 A KR 20230080275A KR 1020220031199 A KR1020220031199 A KR 1020220031199A KR 20220031199 A KR20220031199 A KR 20220031199A KR 20230080275 A KR20230080275 A KR 20230080275A
Authority
KR
South Korea
Prior art keywords
stream data
video message
message service
video
module
Prior art date
Application number
KR1020220031199A
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 주식회사 네트워크디파인즈
Publication of KR20230080275A publication Critical patent/KR20230080275A/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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/2362Generation or processing of Service Information [SI]
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Abstract

본 개시의 다양한 실시예는 전자 장치에서 비디오 메시지 서비스를 제공하는 방법에 관한 것이다. 이를 위한 방법은, 상기 제3 사이트를 통해 사용자로부터 스크린 입력, 마이크 입력 또는 카메라 입력 중 적어도 하나의 입력을 수신하면서, 상기 입력을 통합하여 스트림 데이터를 생성하는 동작, 상기 스트림 데이터를 일정 시간 간격으로 분할하는 동작, 분할한 스트림 데이터를 전송하는 동작 및 상기 전송에 대한 응답을 수신하면, 해당 전송에 대응하는 분할한 스트림 데이터를 삭제하는 동작, 상기 스트림 데이터를 생성하는 동작, 상기 분할하는 동작, 전송하는 동작 및 삭제하는 동작은 상기 사용자로부터의 모든 입력이 종료될 때까지 반복되는 동작을 포함할 수 있다. Various embodiments of the present disclosure relate to a method of providing a video message service in an electronic device. A method for this may include generating stream data by integrating the input while receiving at least one of a screen input, a microphone input, and a camera input from a user through the third site, and generating stream data at regular time intervals. Dividing, transmitting the divided stream data, and upon receiving a response to the transmission, deleting the divided stream data corresponding to the transmission, generating the stream data, dividing the stream data, and transmitting the divided stream data. The operation of doing and deleting may include operations that are repeated until all inputs from the user are terminated.

Description

제3 사이트를 통한 비디오 메시지 서비스 방법 및 장치{Method and apparatus for providing video message service through a third-party site}Method and apparatus for providing video message service through a third-party site

본 개시의 다양한 실시예들은 제3 사이트를 통해 비디오 메시지 서비스를 제공하는 방법 및 장치에 관한 것이다. Various embodiments of the present disclosure relate to a method and apparatus for providing a video message service through a third site.

상당수 웹페이지에서 Q&A 또는 문의사항 등을 이메일, 채팅, SNS 등 문자를 통해 사용자와 통신하고 있다. 인터넷을 기반으로 한 디지털 미디어에서 가장 많이 쓰이는 커뮤니케이션 수단 또한 문자이다. 휴대 전화 문자, 메신저, 채팅, 이메일, 댓글 등이 대부분 문자로 메시지를 전달한다. 그런데 문자는 말과 달리 미묘한 감정을 표현해 내기 어렵다는 단점이 있다. 일상적인 대화에서 우리는 말의 속도, 억양, 목소리의 크기, 표정 등을 통하여 다양한 감정을 담아 메시지를 전달한다. 똑같은 말을 하더라도 어떤 식으로 표현하느냐에 따라 긍정적인 의미를 담을 수도 있고, 부정적인 의미를 전달할 수도 있다. 그런데 문자로는 이러한 감정들을 담아내는데 한계가 있다. Many web pages communicate Q&A or inquiries with users through text messages such as e-mail, chat, and SNS. Text is also the most used means of communication in digital media based on the Internet. Mobile phone text messages, messengers, chats, e-mails, and comments mostly deliver messages through text messages. However, text has the disadvantage that it is difficult to express subtle emotions unlike words. In everyday conversation, we convey messages with various emotions through the speed of speech, intonation, volume of voice, and facial expressions. Even if you say the same thing, depending on how you express it, you can have a positive meaning or convey a negative meaning. However, there is a limit to expressing these emotions through text.

이러한, 문자 통신의 한계를 극복하는 방법으로, 사용자에게 익숙한 동영상을 이용한 통신을 제안할 수 있다. 스마트폰 이용자들은 전화나 문자 이외에 사진이나 동영상 촬영에 스마트폰을 가장 많이 활용하는 것으로 조사되었는데, 한국언론진흥재단 미디어연구센터가 설문·실험조사해 발표한 '스마트폰과 뉴스 소비 경험' 보고서에 따르면 전화·문자 이외에 스마트폰에서 가장 많이 사용하는 기능(복수응답)으로 '사진·동영상 촬영'을 꼽은 응답자가 가장 많았다. As a method of overcoming such limitations of text communication, communication using a video familiar to the user may be proposed. According to the report 'Smartphone and News Consumption Experience' published by the Media Research Center of the Korea Press Foundation, a survey conducted by the Media Research Center of the Korea Press Foundation showed that smartphone users use their smartphones the most for taking pictures or videos other than calling or texting. ·Aside from texting, the most frequently used function (multiple responses) on smartphones was 'photography/video recording' by most respondents.

한편, 동영상 통신의 경우 문자 통신에 비해 데이터량이 월등히 많아서 통신 지연이 발생할 수 있는 문제가 있는데, 이러한 통신 지연 문제는 미디어 스트리밍 서비스로 보완이 가능하다. 미디어 스트리밍 서비스는 소리, 음악, 동영상 등의 다양한 멀티미디어 데이터를 스트리밍 방식으로 제공하는 서비스를 의미한다. 스트리밍은 전송되는 데이터를 지속적이며 끊임없이 처리하고 재생할 수 있는 기술을 말한다. 보통은 파일 전체를 내려받고 난 뒤에 멀티미디어를 재생하여 대용량의 파일의 경우 전체 파일을 내려 받는데에 시간이 오래 걸릴 수 있으나, 스트리밍 기술을 이용하면, 파일이 모두 전송되기 이전에라도 멀티미디어 재생이 가능하다. On the other hand, in the case of video communication, there is a problem that communication delay may occur due to a much larger amount of data than text communication, and this communication delay problem can be supplemented with a media streaming service. A media streaming service refers to a service that provides various multimedia data such as sound, music, and video in a streaming manner. Streaming refers to a technology that continuously and continuously processes and reproduces transmitted data. In general, multimedia is played after downloading the entire file, so it may take a long time to download the entire file in the case of a large file. However, with streaming technology, multimedia playback is possible even before all files are transmitted.

미디어 스트리밍 서비스는 통상 사용자 단말과 미디어 스트리밍 서버 간의 데이터 통신으로 제공되어, 해당 서비스를 제공하기 위해서는 서버 자체에 기능 지원 모듈을 생성해야 하는 문제점이 있다. A media streaming service is usually provided through data communication between a user terminal and a media streaming server, and in order to provide the corresponding service, there is a problem in that a function support module must be created in the server itself.

미디어 스트리밍 모듈을 개발하지 않은 제3 사이트에서도 쉽고 편리하게 미디어 스트리밍 기반 비디오 메시지 서비스를 제공할 수 있도록, 웹페이지에서 동영상 기반의 Q&A 또는 문의사항 서비스를 제공하기 위한 미디어 스트리밍 서비스 기반 비디오 메시지 SDK를 제공할 수 있다. Media streaming service-based video message SDK is provided to provide video-based Q&A or inquiry services on web pages so that third-party sites that have not developed media streaming modules can easily and conveniently provide media streaming-based video message services. can do.

미디어 스트리밍 모듈을 개발하지 않은 제3 사이트에서도 쉽고 편리하게 미디어 스트리밍 기반 비디오 메시지 서비스를 제공할 수 있도록 한다.Even a third-party site that has not developed a media streaming module can easily and conveniently provide a media streaming-based video message service.

본 개시의 일 실시예에 따른 제3 사이트를 통해 비디오 메시지 서비스를 제공하는 방법은 상기 제3 사이트를 통해 사용자로부터 스크린 입력, 마이크 입력 또는 카메라 입력 중 적어도 하나의 입력을 수신하면서, 상기 입력을 통합하여 스트림 데이터를 생성하는 동작, 상기 스트림 데이터를 일정 시간 간격으로 분할하는 동작, 분할한 스트림 데이터를 전송하는 동작 및 상기 전송에 대한 응답을 수신하면, 해당 전송에 대응하는 분할한 스트림 데이터를 삭제하는 동작, 상기 스트림 데이터를 생성하는 동작, 상기 분할하는 동작, 전송하는 동작 및 삭제하는 동작은 상기 사용자로부터의 모든 입력이 종료될 때까지 반복되는 동작을 포함할 수 있다. A method for providing a video message service through a third site according to an embodiment of the present disclosure includes receiving at least one of a screen input, a microphone input, and a camera input from a user through the third site, and integrating the input. generating stream data, dividing the stream data into predetermined time intervals, transmitting the divided stream data, and deleting the divided stream data corresponding to the transmission when a response to the transmission is received The operation, the operation of generating the stream data, the operation of dividing, the operation of transmitting, and the operation of deleting may include operations that are repeated until all inputs from the user are terminated.

본 개시의 다른 실시예에 따른 비디오 메시지 서비스를 제공하는 방법은 복수의 스트림 데이터를 수신하는 동작; 상기 복수의 스트림 데이터 각각에 레퍼런스 번호를 부여하는 동작; 상기 복수의 스트림 데이터 각각의 수신에 응답하여, 대응하는 레퍼런스 번호를 전송하는 동작; 스트림 데이터의 송신을 종료한다는 종료 제어 메시지를 수신하는 동작; 상기 종료 제어 메시지 수신에 응답하여, 상기 복수의 스트림 데이터를 병합하여 하나의 스트림 데이터를 생성하는 동작; 상기 병합된 스트림 데이터가 비디오 플레이어에서 재생이 가능한 경우, 상기 병합된 하나의 스트리밍 데이터를 접근할 수 있는 주소를 데이터베이스에 기록하고, 상기 병합된 하나의 스트리밍 데이터를 웹 상에서 접근가능한 상태로 설정하는 동작을 더 포함할 수 있다. A method for providing a video message service according to another embodiment of the present disclosure includes receiving a plurality of stream data; assigning a reference number to each of the plurality of stream data; transmitting a corresponding reference number in response to receiving each of the plurality of stream data; an operation of receiving an end control message indicating that transmission of the stream data is ended; generating one stream data by merging the plurality of stream data in response to receiving the end control message; When the merged stream data can be reproduced in a video player, recording an address where the merged single streaming data can be accessed in a database and setting the merged single streaming data to be accessible on the web. may further include.

본 개시의 다양한 실시예들에 따르면, 미디어 스트리밍 모듈을 개발하지 않은 제3 사이트에서도 서비스 안에서 쉽고 편리하게 미디어 스트리밍 기반 비디오 메시지 서비스를 제공할 수 있다. According to various embodiments of the present disclosure, a media streaming-based video message service can be easily and conveniently provided in a service even by a third site that has not developed a media streaming module.

본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.Effects obtainable in the exemplary embodiments of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are common knowledge in the art to which exemplary embodiments of the present disclosure belong from the following description. can be clearly derived and understood by those who have That is, unintended effects according to the implementation of the exemplary embodiments of the present disclosure may also be derived by those skilled in the art from the exemplary embodiments of the present disclosure.

도 1은 본 개시의 일 실시예에 따라 제3 사이트를 통한 비디오 메시지 서비스를 제공하기 위한 시스템 환경의 개략적인 구성을 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따라, 사용자 단말에 표시되는 비디오 메시지 서비스의 화면을 예시적으로 나타내는 도면이다.
도 3은 본 개시의 일 실시예에 따라 제3 사이트에서 사용자 단말에 비디오 메시지 서비스를 제공하는 경우, 사용자 단말, 제3 사이트 서버, 및 비디오 메시지 서버 간의 메시지 시퀀스를 도시하는 도면이다.
도 4는 본 개시의 일 실시예에 따른 사용자 단말의 기능적 구성을 도시하는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 비디오 메시지 서버의 기능적 구성을 도시하는 블록도이다.
도 6은 본 개시의 일 실시예에 따라 사용자 단말에서 동작하는 비디오 메시지 서비스 방법의 개략적인 동작 흐름도이다.
도 7은 본 개시의 일 실시예에 따라 서버에서 동작하는 비디오 메시지 서비스 방법의 개략적인 동작 흐름도이다.
1 is a diagram showing a schematic configuration of a system environment for providing a video message service through a third site according to an embodiment of the present disclosure.
2 is a diagram illustrating a screen of a video message service displayed on a user terminal according to an embodiment of the present disclosure by way of example.
3 is a diagram illustrating a message sequence between a user terminal, a third site server, and a video message server when a video message service is provided to a user terminal at a third site according to an embodiment of the present disclosure.
4 is a block diagram illustrating a functional configuration of a user terminal according to an embodiment of the present disclosure.
5 is a block diagram illustrating a functional configuration of a video message server according to an embodiment of the present disclosure.
6 is a schematic operational flow diagram of a video message service method operating in a user terminal according to an embodiment of the present disclosure.
7 is a schematic operational flow diagram of a video message service method operating in a server according to an embodiment of the present disclosure.

이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Hereinafter, if it is determined that there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of already known functions and configurations will be omitted. In addition, it should be understood that the contents described below relate only to one embodiment of the present disclosure, and the present disclosure is not limited thereto.

본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.Terms used in the present disclosure are used only to describe specific embodiments and are not intended to limit the present disclosure. For example, a component expressed in the singular number should be understood as a concept including a plurality of components unless the context clearly means only the singular number. It should be understood that the term "and/or" as used in this disclosure encompasses any and all possible combinations of one or more of the listed items. Terms such as 'include' or 'have' used in the present disclosure are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the present disclosure exist, and these terms Use is not intended to exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.In an embodiment of the present disclosure, a 'module' or 'unit' refers to a functional part that performs at least one function or operation, and may be implemented with hardware or software or a combination of hardware and software. In addition, a plurality of 'modules' or 'units' may be integrated into at least one software module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware. there is.

덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, unless defined otherwise, all terms used in this disclosure, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It should be noted that commonly used terms defined in dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted excessively limited or expanded unless clearly defined otherwise in the present disclosure. .

이하, 본 개시의 일 실시예에 따른 이미지 데이터 특징 자동화 추출 방법에 관하여 도면을 참조하여 상세히 설명한다.Hereinafter, a method for automatically extracting image data features according to an embodiment of the present disclosure will be described in detail with reference to drawings.

도 1은 본 개시의 일 실시예에 따라 제3 사이트를 통한 비디오 메시지 서비스를 제공하기 위한 시스템 환경의 개략적인 구성을 나타내는 도면이다.1 is a diagram showing a schematic configuration of a system environment for providing a video message service through a third site according to an embodiment of the present disclosure.

도 1에 도시된 바와 같이, 본 개시의 일 실시예에 따른 제3 사이트를 통한 비디오 메시지 서비스 시스템(100)은 사용자 단말(110), 통신망(120), 제3 사이트 서버(130) 및 비디오 메시지 서비스 장치(140)를 포함할 수 있다. As shown in FIG. 1, a video message service system 100 through a third site according to an embodiment of the present disclosure includes a user terminal 110, a communication network 120, a third site server 130, and a video message A service device 140 may be included.

본 개시의 일 실시예에 따른 사용자 단말(110)은 통신망(120)을 통해 제3 사이트 서버(130) 또는 비디오 메시지 서비스 장치(140)에 접속하고 통신할 수 있는 기능을 포함하는 디지털 기기이다. 일 실시예에서, 사용자 단말(110)은 컴퓨터, 스마트폰, 태블릿 PC 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 휴대 가능한 디지털 기기일 수 있으며, 특정 형태로 제한되지 않는다. The user terminal 110 according to an embodiment of the present disclosure is a digital device including a function capable of accessing and communicating with the third site server 130 or the video message service device 140 through the communication network 120 . In one embodiment, the user terminal 110 may be a portable digital device equipped with a memory means and equipped with a microprocessor and equipped with an arithmetic capability, such as a computer, smart phone, tablet PC, etc., and is not limited to a specific form.

본 개시의 일 실시예에 의하면, 사용자 단말(110) 상에서 수신된 다양한 형태의 사용자 입력은 통신망(120)을 통해 제3 사이트 서버(130) 또는 비디오 메시지 서비스 장치(140)로 전달될 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)은 통신망(120)을 통하여 외부(예컨대, 통해 제3 사이트 서버(130) 또는 비디오 메시지 서비스 장치(140))로부터 전송되어 온 다양한 신호를 수신할 수 있다.According to an embodiment of the present disclosure, various types of user input received on the user terminal 110 may be transmitted to the third site server 130 or the video message service device 140 through the communication network 120. According to an embodiment of the present disclosure, the user terminal 110 receives various signals transmitted from the outside (eg, the third site server 130 or the video message service device 140) through the communication network 120. can do.

본 개시의 일 실시예에 따르면, 사용자 단말(110)에는 본 개시에 따른 기능이 지원되기 위한 애플리케이션이 포함되어 있을 수 있다. 이와 같이 애플리케이션은 제3 사이트 서버(130) 또는 비디오 메시지 서비스 장치(140) 또는 외부의 애플리케이션 배포 서버(미도시)로부터 다운로드된 것 일 수 있다.According to an embodiment of the present disclosure, the user terminal 110 may include an application for supporting functions according to the present disclosure. As such, the application may be downloaded from the third site server 130 or the video message service device 140 or an external application distribution server (not shown).

본 개시의 일 실시예에 따른 통신망(120)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(120)은 공지의 인터넷 또는 월드와이드웹(WWW: World Wide Web)일 수 있다. 그러나 통신망(120)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.The communication network 120 according to an embodiment of the present disclosure may be configured regardless of communication aspects such as wired communication or wireless communication, and may include a local area network (LAN), a metropolitan area network (MAN), It may be configured with various communication networks such as a wide area network (WAN). Preferably, the communication network 120 referred to in this specification may be the well-known Internet or World Wide Web (WWW). However, the communication network 120 may include a known wired/wireless data communication network, a known telephone network, or a known wired/wireless television communication network at least in part without being limited thereto.

예를 들면, 통신망(120)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE: Long Term Evolution) 통신, 블루투스 통신(예를 들면, 저전력 블루투스(BLE: Bluetooth Low Energy) 통신), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방식을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.For example, the communication network 120 is a wireless data communication network, and includes WiFi communication, WiFi-Direct communication, Long Term Evolution (LTE) communication, Bluetooth communication (eg, Bluetooth Low Energy ( A conventional communication method such as Bluetooth Low Energy (BLE) communication), infrared communication, or ultrasonic communication may be implemented at least in part.

본 개시의 일 실시예에 따른 제3 사이트 서버(130)는 소정의 제3 사이트 서비스를 제공하도록 구성된 서버이다. 예컨대, 소정의 제3 사이트 서비스 서버(130)는 다양한 정보를 제공하는 일반적인 홈페이지 서비스를 제공할 수 있다. 본 개시의 일 실시예에서, 제3 사이트 서버(130)는, 도시된 바와 같이, 통신망(120)을 통하여 사용자 단말(110)과의 통신을 수행할 수 있다. The third site server 130 according to an embodiment of the present disclosure is a server configured to provide a predetermined third site service. For example, a predetermined third site service server 130 may provide a general homepage service providing various information. In one embodiment of the present disclosure, the third site server 130, as shown, may perform communication with the user terminal 110 through the communication network 120.

본 개시의 일 실시예에 따른 제3 사이트 서버(130)는 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산능력을 갖춘 디지털 기기일 수 있다. 이러한 제3 사이트 서버(130)는 서버 시스템일 수 있다.The third site server 130 according to an embodiment of the present disclosure may be a digital device equipped with a memory unit and a microprocessor equipped with an arithmetic capability. This third site server 130 may be a server system.

본 개시의 일 실시예에 따른 비디오 메시지 서비스 장치(140)는 통신망(120)를 통해 사용자 단말(110)및 제3 서버(130)와 통신할 수 있다. 본 개시의 일 실시예에 의하면, 비디오 메시지 서비스 장치(140)는 통신망(120)을 통해 사용자 단말(110)로부터 복수의 분할 미디어 스트림을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 비디오 메시지 서비스 장치(140)는 통신망(120)을 통해 사용자 단말(110)로부터 단일의 미분할 미디어 스트림을 수신할 수 있다. 비디오 메시지 서비스 장치(140)는 수신된 분할/미분할 미디어 스트림을 입력으로 하여, 수신 받은 미디어 콘텐츠를 저장할 수 있다.The video message service device 140 according to an embodiment of the present disclosure may communicate with the user terminal 110 and the third server 130 through the communication network 120 . According to an embodiment of the present disclosure, the video message service device 140 may receive a plurality of divided media streams from the user terminal 110 through the communication network 120 . According to an embodiment of the present disclosure, the video message service device 140 may receive a single non-segmented media stream from the user terminal 110 through the communication network 120 . The video message service device 140 may store the received media content by taking the received divided/unsegmented media stream as an input.

적응형 스트리밍이 가능한 미디어 조각(이하 세그먼트)들로 분할하여 미디어 서버(130)에 업로드 할 수 있다. It can be divided into media pieces (hereinafter referred to as segments) capable of adaptive streaming and uploaded to the media server 130 .

도 2는 본 개시의 일 실시예에 따라, 사용자 단말에 표시되는 제3 사이트를 통한 비디오 메시지 서비스의 화면을 예시적으로 나타내는 도면이다.2 is a diagram illustrating a screen of a video message service through a third site displayed on a user terminal according to an embodiment of the present disclosure by way of example.

도 2a는 제3 사이트의 웹페이지의 일부에 비디오 메시지를 녹화할 수 있는 메시지 녹화 버튼이 표시된 화면을 도시한다. 본 개시의 일 실시예에서, 사용자 단말(110)은 제3 사이트의 웹서비스 HTML 코드에 SDK인 자바스크립트(javascript) 파일(예: Sendia-sdk.min.js)을 포함(embed)하는 메시지 녹화 버튼을 제3 사이트의 웹페이지 화면의 일부에 표시할 수 있다. 2A shows a screen displaying a message recording button capable of recording a video message on a part of a web page of a third site. In one embodiment of the present disclosure, the user terminal 110 records a message that embeds a JavaScript file (eg, Sendia-sdk.min.js), which is an SDK, in the web service HTML code of the third site. The button may be displayed on a part of the screen of the web page of the third site.

도 2b는 사용자 단말에서 사용자 입력(예: 마우스 커서 등)이 메시지 녹화 버튼에 오버래핑된 경우 메시지 녹화 버튼이 다른 형태로 변경되는 화면을 도시한다. 본 개시의 일 실시예에서, 사용자 단말(110)의 메시지 녹화 버튼은 설명문구 등이 기재된 다양한 형태로 변경될 수 있다. FIG. 2B illustrates a screen in which a message recording button is changed into another form when a user input (eg, a mouse cursor, etc.) in a user terminal overlaps a message recording button. In one embodiment of the present disclosure, the message recording button of the user terminal 110 may be changed in various forms including an explanatory phrase.

도 2c는 사용자 단말에서 메시지 녹화 버튼에 사용자 입력(예: 마우스 클릭 등)이 수신되어 비디오 메시지 생성 인터페이스가 생성된 화면을 도시한다. 본 개시의 일 실시예에서, 사용자 단말(110)의 화면에서 비디오 메시지 생성 인터페이스는 팝업 형태로 생성될 수 있다. 일 실시예에서, 사용자 단말(110)의 비디오 메시지 생성 인터페이스는 화면과 캠, 화면, 캠 등 비디오 메시지 형태를 선택하는 버튼을 포함할 수 있다. 일 실시예에서, 사용자 단말(110)에서 녹화 시작 입력을 수신하면, 사용자 단말(110)의 화면과 캠을 함께/또는 각각 녹화한 비디오 메시지가 생성될 수 있다. 일 실시예에서, 사용자 단말(110)에서 녹화 중에는 비디오 메시지 생성 인터페이스는 화면에 표시되지 않을 수 있다. 2C shows a screen on which a video message creation interface is generated when a user input (eg, mouse click, etc.) is received by a message recording button in a user terminal. In one embodiment of the present disclosure, the video message creation interface may be created in the form of a pop-up on the screen of the user terminal 110 . In one embodiment, the video message creation interface of the user terminal 110 may include a button for selecting a video message type such as a screen and a cam, a screen, and a cam. In one embodiment, when a recording start input is received from the user terminal 110, a video message in which the screen of the user terminal 110 and the cam are recorded together/or separately may be generated. In one embodiment, the video message creation interface may not be displayed on the screen during recording in the user terminal 110 .

본 개시의 일 실시예에서, 사용자 단말(110)에서 녹화 종료 입력이 수신되면, 비디오 메시지 생성 인터페이스의 비디오 영역에 녹화된 비디오가 표시될 수 있다. 예컨대, 사용자 단말(110)에서 녹화된 비디오 메시지를 재생할 수 있다. In one embodiment of the present disclosure, when a recording end input is received from the user terminal 110, a recorded video may be displayed in a video area of a video message creation interface. For example, a video message recorded in the user terminal 110 may be played.

본 개시의 일 실시예에서, 사용자 단말(110)에서 전송 입력이 수신되면, 녹화된 비디오를 전송할 수 있다. In one embodiment of the present disclosure, when a transmission input is received from the user terminal 110, the recorded video may be transmitted.

도 3은 본 개시의 일 실시예에 따라 제3 사이트에서 사용자 단말에 비디오 메시지 서비스를 제공하는 경우, 사용자 단말, 제3 사이트 서버, 및 비디오 메시지 서버 간의 메시지 시퀀스를 도시하는 도면이다. 3 is a diagram illustrating a message sequence between a user terminal, a third site server, and a video message server when a video message service is provided to a user terminal at a third site according to an embodiment of the present disclosure.

도 3을 참조하면, 단계(S301)에서, 사용자 단말(110)은 제3 서버(130)로부터 제3 사이트 서비스를 제공하기 위한 정보를 수신할 수 있다. 일 실시예에서, 사용자 단말(110)은 제3 서버(130)로부터 SDK 비디오 메시지 요청 버튼 정보를 포함한 제3 사이트 서비스를 제공하기 위한 정보를 수신할 수 있다. 여기서, SDK 비디오 메시지 요청 버튼 정보는 제3 사이트의 웹서비스 HTML 코드에 SDK인 자바스크립트(javascript) 파일(예: Sendia-sdk.min.js)를 포함(embed)하여 메시지 녹화 버튼을 제3 사이트의 웹페이지 화면의 일부에 표시되도록 할 수 있다. Referring to FIG. 3 , in step S301 , the user terminal 110 may receive information for providing the third site service from the third server 130 . In one embodiment, the user terminal 110 may receive information for providing a third site service including SDK video message request button information from the third server 130 . Here, the SDK video message request button information includes the SDK, a javascript file (eg Sendia-sdk.min.js) in the web service HTML code of the third site, and sends the message recording button to the third site. It can be displayed on a part of the screen of the web page.

단계(S303)에서, 사용자 단말(110)은 비디오 메시지 요청 명령을 송신할 수 있다. In step S303, the user terminal 110 may transmit a video message request command.

단계(S305)에서, 사용자 단말(110)은 미디어 스트림을 녹화하면서 비디오 메시지 서비스 장치(140)로 제1 해상도의 세그먼트들과 관련 메타데이터를 업로드 할 수 있다. 일 실시예에서, 사용자 단말(110)은 비디오 메시지 서비스 장치(140)로 미디어스트림 세그먼트들과 관련 메타데이터를 전송할 수 있다.In step S305, the user terminal 110 may upload segments of the first resolution and related metadata to the video message service device 140 while recording the media stream. In one embodiment, the user terminal 110 may transmit media stream segments and related metadata to the video message service device 140 .

단계(S307)에서, 사용자 단말(110)은 업로드가 완료되었음을 통보하고, 세그먼트들에 관련한 메타데이터를 전송할 수 있다. 비디오 메시지 서비스 장치(140)는 사용자 단말(110)로부터 업로드 완료 통보 메시지와 제1 해상도의 세그먼트들에 관련한 메타데이터를 수신할 수 있다.In step S307, the user terminal 110 may notify completion of the upload and transmit metadata related to the segments. The video message service device 140 may receive an upload completion notification message and metadata related to segments of the first resolution from the user terminal 110 .

도 4는 본 개시의 일 실시예에 따른 사용자 단말의 기능적 구성을 도시하는 블록도이다.4 is a block diagram illustrating a functional configuration of a user terminal according to an embodiment of the present disclosure.

도시된 바와 같이, 사용자 단말(110)은 비디오 메시지 서비스 소프트웨어 스택 (400), 제3 사이트 서비스 모듈 및 미디어 스트림 입력부를 포함할 수 있다. As shown, the user terminal 110 may include a video message service software stack 400, a third site service module, and a media stream input unit.

본 개시의 일 실시예에 의하면, 비디오 메시지 서비스 소프트웨어 스택(400)은 비디오 메시지 서비스를 제공하기 위한 소프트웨어 스택이다. According to an embodiment of the present disclosure, the video message service software stack 400 is a software stack for providing a video message service.

본 개시의 일 실시예에 의하면, 비디오 메시지 서비스 소프트웨어 스택(400)은 레코딩 모듈(recording module: 410), 트랜스포트 모듈(transport module: 420), 트랜스포트 인터페이스(transport interface: 430) 및 SDK 모듈(440)을 포함할 수 있다. 도 4에 도시된 구성요소들은 사용자 단말(110)의 비디오 메시지 서비스 소프트웨어 스택(400)의 모든 기능을 반영한 것이 아니고, 필수적인 것도 아니어서, 비디오 메시지 서비스 소프트웨어 스택(400)은 도시된 구성요소들 보다 많은 구성요소를 포함하거나 그보다 적은 구성요소를 포함할 수 있다.According to an embodiment of the present disclosure, the video message service software stack 400 includes a recording module 410, a transport module 420, a transport interface 430, and an SDK module ( 440) may be included. The components shown in FIG. 4 do not reflect all functions of the video message service software stack 400 of the user terminal 110 and are not essential, so the video message service software stack 400 is more It may contain many elements or fewer elements.

본 개시의 일 실시예에 의하면, 레코딩 모듈(410)은 사용자로부터 다양한 형태의 입력, 예컨대 음성 및/또는 텍스트 입력, 터치 입력, 영상 입력 등을 수신하고 수신한 데이터를 통합하여 하나의 스트림 데이터를 생성할 수 있다. 일 실시예에서, 레코딩 모듈(410)은 사용자 단말(110)의 화면 스트림 데이터, 카메라로부터의 영상 스트림 데이터, 마이크로폰으로부터의 음성 스트림 데이터를 수신하고 통합하여 하나의 스트림 데이터를 생성할 수 있다. According to an embodiment of the present disclosure, the recording module 410 receives various types of inputs from the user, such as voice and/or text input, touch input, and video input, and integrates the received data to generate one stream data. can create In one embodiment, the recording module 410 may generate one stream data by receiving and integrating screen stream data from the user terminal 110, video stream data from a camera, and audio stream data from a microphone.

본 개시의 일 실시예에 의하면, 레코딩 모듈(410)은 스트림 데이터를 일정 시간 간격으로 분할할 수 있다. 본 개시의 일 실시예에 의하면, 레코딩 모듈(410)은 다양한 데이터를 통합하여 하나의 스트림 데이터를 생성하면서, 스트림 데이터가 완결되기 전(예: 녹화 중)에, 스트림 데이터를 분할할 수 있다. 본 개시의 다른 실시예에 의하면, 레코딩 모듈(410)은 스트림 데이터가 완결된 후, 예컨대 녹화가 종료되면, 스트림 데이터 전체를 하나의 파일로 생성할 수 있다. According to an embodiment of the present disclosure, the recording module 410 may divide stream data into predetermined time intervals. According to an embodiment of the present disclosure, the recording module 410 may divide the stream data before the stream data is completed (eg, during recording) while generating one stream data by integrating various data. According to another embodiment of the present disclosure, the recording module 410 may generate the entire stream data into a single file after stream data is completed, for example, when recording is finished.

본 개시의 일 실시예에 의하면, 트랜스포트 모듈(420)은 신뢰성 있는 종단 간 데이터 전송 서비스를 제공할 수 있다. 일 실시예에서, 트랜스포트 모듈(420)은 센드 큐(send queue: 222) 및 Ack 대기 큐(ack-wait queue: 224)를 포함할 수 있다. 일 실시예에서, 센드 큐(422)는 전송할 데이터를 저장하는 큐이고, Ack 대기 큐(424)는 전송한 데이터 중 수신측으로부터 수신확인응답(Acknowledge: Ack)을 수신하지 못한 데이터를 저장하는 큐이다. According to an embodiment of the present disclosure, the transport module 420 may provide a reliable end-to-end data transmission service. In one embodiment, the transport module 420 may include a send queue 222 and an ack-wait queue 224. In one embodiment, the send queue 422 is a queue for storing data to be transmitted, and the Ack waiting queue 424 is a queue for storing data for which an acknowledgment (Ack) has not been received from the receiving side among transmitted data. am.

본 개시의 일 실시예에 의하면, 트랜스포트 모듈(420)은 레코딩 모듈(410)로부터 분할된 스트림 데이터를 수신하여 센드 큐(422)에 저장할 수 있다. 일 실시예에서, 트랜스포트 모듈(420)은 센드 큐(422)에 저장된 스트림 데이터를 장치(140)로 전송할 수 있다. 일 실시예에서, 트랜스포트 모듈(420)은 스트림 데이터의 전송을 시작할 때 또는 전송을 완료하였을 때 제어 메시지를 전송할 수 있다. 비디오 플레이어에서 트랜스포트 모듈(420)은 데이터 전송의 시작 또는 끝을 수신측, 예컨대 장치(140)에 통지할 수 있다. According to an embodiment of the present disclosure, the transport module 420 may receive divided stream data from the recording module 410 and store it in the send queue 422 . In one embodiment, the transport module 420 may transmit stream data stored in the send queue 422 to the device 140 . In one embodiment, the transport module 420 may transmit a control message when transmission of stream data starts or when transmission is completed. In the video player, the transport module 420 may notify the receiving side, e.g., device 140, of the start or end of data transmission.

본 개시의 일 실시예에 의하면, 센드 큐(422)는 레코딩 모듈(410)로부터 수신된 스트림 데이터를 저장할 수 있다. 센드 큐(422)에 저장된 스트림 데이터는 트랜스포트 모듈(420)에 의해 장치(140)로 전송될 수 있다. 일 실시예에서, 센드 큐(422)에 저장된 스트림 데이터는 생성된 순서에 따라 순차적으로 장치(140)로 전송될 수 있다. According to one embodiment of the present disclosure, the send queue 422 may store stream data received from the recording module 410 . Stream data stored in the send queue 422 may be transmitted to the device 140 by the transport module 420 . In one embodiment, the stream data stored in the send queue 422 may be sequentially transmitted to the device 140 according to the order in which they are generated.

본 개시의 일 실시예에 의하면, Ack 대기 큐(424)는 센드 큐(422)에 저장된 스트림 데이터 중 장치(140)로 전송된 스트림 데이터를 저장할 수 있다. 일 실시예에서, Ack 대기 큐(424)는 스트림 데이터의 레퍼런스 번호와 함께 스트림 데이터를 저장할 수 있다. 일 실시예에서, 트랜스포트 모듈(420)은 장치(140)로부터 대응하는 스트림 데이터에 대한 수신확인응답(Ack)를 수신하고, Ack 대기 큐(424)에서 해당 스트림 데이터를 삭제할 수 있다. 만약, 트랜스포트 모듈(420)은 수신확인응답(Ack)을 소정의 시간 동안 받지 못하면 Ack 대기 큐에서 해당 스트림 데이터를 다시 전송하고 소정의 시간을 기다릴 수 있다. 트랜스포트 모듈(420)은, 수신확인응답(Ack)을 받지 못하는 경우, 재전송을 수행할 수 있다. 트랜스포트 모듈(420)은 특정 스트림 데이터의 전송 수행시 전송 회수를 셀 수 있다. 트랜스포트 모듈(420)은 특정 스트림 데이터의 전송을 수행하였으나 수신확인응답(Ack)을 받지 못하는 경우, 소정의 전송 회수를 초과하지 않는다면, 수신확인응답(Ack)을 받을 때까지 재전송을 수행할 수 있다. According to an embodiment of the present disclosure, the Ack wait queue 424 may store stream data transmitted to the device 140 among stream data stored in the send queue 422 . In one embodiment, the Ack waiting queue 424 may store stream data along with a reference number of the stream data. In one embodiment, the transport module 420 may receive an acknowledgment response (Ack) for corresponding stream data from the device 140 and delete the corresponding stream data from the Ack waiting queue 424 . If the transport module 420 does not receive an acknowledgment response (Ack) for a predetermined time, it may transmit the corresponding stream data again in the Ack waiting queue and wait for a predetermined time. The transport module 420 may perform retransmission when not receiving an acknowledgment response (Ack). The transport module 420 may count the number of transmissions when transmitting specific stream data. If the transport module 420 transmits specific stream data but does not receive an acknowledgment response (Ack), it may perform retransmission until it receives an acknowledgment response (Ack) if the number of times of transmission is not exceeded. there is.

본 개시의 일 실시예에 의하면, 트랜스포트 인터페이스(430)는 사용자 단말(110)와 외부 장치의 통신을 위한 인터페이스이다. 일 실시예에서, 트랜스포트 인터페이스(430)는 데이터의 송수신 기능을 수행할 수 있다.According to an embodiment of the present disclosure, the transport interface 430 is an interface for communication between the user terminal 110 and an external device. In one embodiment, the transport interface 430 may perform a function of transmitting and receiving data.

본 개시의 일 실시예에 의하면, SDK 모듈(440)은 사용자 PC의 스크린, 웹캠, 마이크를 동시에 녹화하고, 녹화 중에 서버로 스트림을 실시간 업로드하는 기능을 하나의 모듈로서 제3의 업체에 제공하도록 구성된 SDK이다. 일 실시예에서, SDK 모듈(440)은 제3 서버(130)를 통해 javascript SDK 형태로 녹화 모듈을 사용자 단말(110)에 제공할 수 있다. 일 실시예에서, 제3 서버(130)는 SDK 모듈(440)을 통해 해당 서비스 안에서 비디오 메시지의 시그널링(시작, 멈춤, 종료 등의 제어)과 데이터 전송 작업을 수행하여 비디오 메시지를 녹화하도록 할 수 있다. According to one embodiment of the present disclosure, the SDK module 440 provides a function of simultaneously recording the screen, webcam, and microphone of the user's PC and uploading the stream to the server in real time during recording to a third party as a module. This is the built-in SDK. In one embodiment, the SDK module 440 may provide a recording module in the form of javascript SDK to the user terminal 110 through the third server 130 . In one embodiment, the third server 130 performs signaling (control of start, stop, end, etc.) and data transmission of the video message in the corresponding service through the SDK module 440 to record the video message. there is.

본 개시의 일 실시예에서, 미디어 스트림 입력부는 사용자 단말(110)의 화면 스트림, 카메라에서 촬영된 이미지의 스트림, 마이크에서 수집된 음성의 스트림을 입력받을 수 있다. In one embodiment of the present disclosure, the media stream input unit may receive a screen stream of the user terminal 110, a stream of an image taken by a camera, and a stream of voice collected by a microphone.

본 개시의 일 실시예에서, 제3 사이트 서비스 모듈은 소정의 제3 사이트 서비스를 제공받도록 지원하는 모듈이다. 예컨대, 소정의 제3 사이트 서비스 모듈은 제3 사이트 서비스 서버(130)로부터 다양한 정보를 수신할 수 있다. In one embodiment of the present disclosure, the third site service module is a module that supports receiving a predetermined third site service. For example, a predetermined third site service module may receive various information from the third site service server 130 .

본 개시의 일 실시예에서, 제3 사이트 서비스 모듈은, 도 4에 도시된 바와 같이, 비디오 메시지 서비스 소프트웨어 스택(400)과의 통신을 수행할 수 있다. 일 실시예에서, 제3 사이트 서비스 모듈은 제어 메시지를 비디오 메시지 서비스 소프트웨어 스택(400)에 전송할 수 있다. 여기서 제어 메시지는 스트림 녹화의 시작, 스트림 녹화의 멈춤, 스트림 녹화의 종료 제어를 포함할 수 있다. In one embodiment of the present disclosure, the third site service module may communicate with the video message service software stack 400, as shown in FIG. 4 . In one embodiment, the third site service module may send a control message to the video message service software stack 400 . Here, the control message may include control of start of stream recording, stop of stream recording, and end of stream recording.

일 실시예에서, 제3 사이트 서비스 모듈은 스트림이 녹화 완료된 녹화 결과물이 업로드된 사이트의 주소 정보를 비디오 메시지 서비스 소프트웨어 스택(400)으로부터 수신할 수 있다. In an embodiment, the third site service module may receive, from the video message service software stack 400, address information of a site where a recording result of which a stream has been recorded has been uploaded.

도 5는 본 개시의 일 실시예에 따른 비디오 메시지 서버의 비디오 메시지 서비스 소프트웨어 스택의 기능적 구성을 도시하는 블록도이다. 5 is a block diagram illustrating a functional configuration of a video message service software stack of a video message server according to an embodiment of the present disclosure.

본 개시의 일 실시예에 의하면, 서버의 비디오 메시지 서비스 소프트웨어 스택(500)은 서버에서 비디오 메시지 서비스를 제공하기 위한 소프트웨어 스택이다. According to an embodiment of the present disclosure, the video message service software stack 500 of the server is a software stack for providing a video message service in the server.

도시된 바와 같이, 서버(140)의 비디오 메시지 서비스 소프트웨어 스택(500)은 리시버 모듈(receiver module: 510), 머지 모듈(merge module: 520), 검증 모듈(validation module: 530) 및 서비스 모듈(service module: 540)을 포함할 수 있다. 도 5에 도시된 구성요소들은 서버(140)의 비디오 메시지 서비스 소프트웨어 스택(500)의 모든 기능을 반영한 것이 아니고, 필수적인 것도 아니어서, 서버(140)의 비디오 메시지 서비스 소프트웨어 스택(500)은 도시된 구성요소들 보다 많은 구성요소를 포함하거나 그보다 적은 구성요소를 포함할 수 있다.As shown, the video message service software stack 500 of the server 140 includes a receiver module 510, a merge module 520, a validation module 530, and a service module. module: 540). The components shown in FIG. 5 do not reflect all functions of the video message service software stack 500 of the server 140 and are not essential, so the video message service software stack 500 of the server 140 It may contain more elements than elements or fewer elements.

본 개시의 일 실시예에 의하면, 리시버 모듈(510)은 스트림 데이터를 수신할 수 있다. 일 실시예에서, 리시버 모듈(510)은 리시브 큐(receive queue: 512)를 포함할 수 있다. 일 실시예에서, 리시브 큐(512)는 수신한 데이터를 저장하는 큐이다. 본 개시의 일 실시예에 의하면, 리시버 모듈(510)은 사용자 단말(110)이 보내는 분할된 스트림 데이터를 수신하여 리시브 큐(512)에 저장할 수 있다. According to an embodiment of the present disclosure, the receiver module 510 may receive stream data. In one embodiment, the receiver module 510 may include a receive queue 512. In one embodiment, receive queue 512 is a queue that stores received data. According to an embodiment of the present disclosure, the receiver module 510 may receive divided stream data sent from the user terminal 110 and store it in the receive queue 512 .

본 개시의 일 실시예에 의하면, 리시버 모듈(510)은 수신한 스트림 데이터에 레퍼런스 번호를 부여하여 스트림 데이터를 관리할 수 있다. 본 개시의 일 실시예에 의하면, 리시버 모듈(510)은 스트림 데이터를 수신하면, 부여한 레퍼런스 번호를 송신측, 즉 사용자 단말(110)로 전송할 수 있다. According to an embodiment of the present disclosure, the receiver module 510 may manage stream data by assigning a reference number to the received stream data. According to an embodiment of the present disclosure, when receiving stream data, the receiver module 510 may transmit an assigned reference number to a transmitting side, that is, to the user terminal 110 .

본 개시의 일 실시예에 의하면, 리시버 모듈(510)은 송신측, 즉 사용자 단말(110)로부터 녹화 종료 메시지를 수신하고 리시브 큐(512)에 저장되어 있는 스트림 데이터를 머지 모듈(520)로 전송할 수 있다. According to an embodiment of the present disclosure, the receiver module 510 receives a recording end message from a transmitting side, that is, the user terminal 110, and transmits stream data stored in the receive queue 512 to the merge module 520. can

본 개시의 일 실시예에 의하면, 머지 모듈(520)은 분할 스트림 데이터를 수신하고 하나의 스트림 데이터로 병합할 수 있다. 일 실시예에서, 머지 모듈(520)은 병합된 하나의 스트림 데이터를 검증 모듈(530)로 전송할 수 있다. According to an embodiment of the present disclosure, the merge module 520 may receive divided stream data and merge them into one stream data. In one embodiment, the merge module 520 may transmit merged one stream data to the verification module 530 .

본 개시의 일 실시예에 의하면, 검증 모듈(530)은 스트림 데이터를 수신하고 스트림 데이터가 비디오 플레이어에서 재생이 가능한지를 검증할 수 있다. 일 실시예에서, 검증 모듈(530)은 머지 모듈(520)로부터 병합된 하나의 스트림 데이터를 수신하고 하나의 스트림 데이터가 비디오 플레이어에서 재생이 가능한지를 검증할 수 있다. 일 실시예에서, 검증 모듈(530)은 수신한 스트림 데이터가 재생이 가능한 경우, 사용자 단말(110)로 메시지를 송부하여 파일이 성공적으로 서버에 저장되었음을 통지할 수 있다. 다른 실시예에서, 검증 모듈(530)은 수신한 스트림 데이터가 재생이 불가능한 경우, 사용자 단말(110)로 메시지를 송부하여 파일 검증에 실패했음을 통지할 수 있다. 또한, 검증 모듈(530)은 수신한 스트림 데이터가 재생이 불가능한 경우, 사용자 단말(110)로 메시지를 송부하여 분할되지 않은 전체 스트림 파일을 요청할 수 있다. 본 개시의 일 실시예에 의하면, 검증 모듈(530)은 비디오 플레이어에서 재생이 가능한 하나의 스트림 데이터를 서비스 모듈(540)로 전송할 수 있다. According to an embodiment of the present disclosure, the verification module 530 may receive stream data and verify whether the stream data can be reproduced in a video player. In one embodiment, the verification module 530 may receive one stream data merged from the merge module 520 and verify whether one stream data can be reproduced in a video player. In one embodiment, when the received stream data can be reproduced, the verification module 530 may send a message to the user terminal 110 to notify that the file has been successfully stored in the server. In another embodiment, when the received stream data cannot be reproduced, the verification module 530 may send a message to the user terminal 110 to notify that the file verification has failed. In addition, when the received stream data cannot be reproduced, the verification module 530 may send a message to the user terminal 110 to request an entire undivided stream file. According to an embodiment of the present disclosure, the verification module 530 may transmit one stream data playable in a video player to the service module 540 .

본 개시의 일 실시예에 의하면, 서비스 모듈(540)은 비디오 플레이어에서 재생이 가능한 하나의 스트림 데이터를 수신하고, 비디오 스트리밍 서비스를 제공하기 위한 절차를 수행할 수 있다. 일 실시예에서, 서비스 모듈(540)은 파일을 접근할 수 있는 주소를 데이터베이스에 기록하고, 파일을 웹 상에서 접근가능한 상태로 설정할 수 있다. 본 개시의 일 실시예에서, 서비스 모듈(540)은 스트림 데이터를 보낸 단말의 ID 및 비디오 링크를 전송하도록 구성될 수 있다. According to an embodiment of the present disclosure, the service module 540 may receive one stream data playable by a video player and perform a procedure for providing a video streaming service. In one embodiment, the service module 540 may record an address where a file can be accessed in a database and set the file to be accessible on the web. In one embodiment of the present disclosure, the service module 540 may be configured to transmit the video link and ID of the terminal that sent the stream data.

본 개시의 일 실시예에 의하면, 트랜스포트 인터페이스(550)는 장치(140)와 외부 장치의 통신을 위한 인터페이스이다. 일 실시예에서, 트랜스포트 인터페이스(550)는 데이터의 송수신 기능을 수행할 수 있다.According to an embodiment of the present disclosure, the transport interface 550 is an interface for communication between the device 140 and an external device. In one embodiment, the transport interface 550 may perform a function of transmitting and receiving data.

도 6은 본 개시의 일 실시예에 따라 사용자 단말에서 동작하는 비디오 메시지 서비스 방법의 개략적인 동작 흐름도이다.6 is a schematic operational flow diagram of a video message service method operating in a user terminal according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따라, 사용자 단말(110)에 위치한 비디오 메시지 서비스 소프트웨어 스택에 의해 비디오 메시지 서비스가 이루어 질 수 있다. According to an embodiment of the present disclosure, a video message service may be performed by a video message service software stack located in the user terminal 110.

본 개시의 일 실시예에 따르면, 사용자 단말(110)은 통상적인 제3 사이트 서비스와 관련된 데이터를 수신할 수 있다. 본 개시의 일 실시예에 따르면, 사용자 단말(110)은 통상적인 제3 사이트 서비스와 관련된 데이터와 함께 SDK 비디오 메시지 요청 버튼 정보를 수신할 수 있다(S601). According to an embodiment of the present disclosure, the user terminal 110 may receive data related to a typical third site service. According to an embodiment of the present disclosure, the user terminal 110 may receive SDK video message request button information together with data related to a typical third site service (S601).

본 개시의 일 실시예에 따르면, 사용자 단말(110)은 SDK 비디오 메시지 요청을 수신할 수 있다. 일 실시예에서, SDK 비디오 메시지 요청을 수신한 경우(S602), 사용자 단말(110)은 녹화를 시작할 수 있다(S603). 일 실시예에서, 사용자 단말(110)은 사용자로부터 다양한 형태의 입력, 예컨대 음성 및/또는 텍스트 입력, 터치 입력, 영상 입력 등을 수신하고 수신한 데이터를 통합하여 하나의 스트림 데이터를 생성할 수 있다. 일 실시예에서, 레코딩 모듈(410)은 사용자 단말(110)의 화면 스트림 데이터, 카메라로부터의 영상 스트림 데이터, 마이크로폰으로부터의 음성 스트림 데이터를 수신하고 통합하여 하나의 스트림 데이터를 생성할 수 있다(S604). According to an embodiment of the present disclosure, the user terminal 110 may receive an SDK video message request. In one embodiment, when receiving the SDK video message request (S602), the user terminal 110 may start recording (S603). In one embodiment, the user terminal 110 may generate one stream data by receiving various types of inputs from the user, such as voice and/or text input, touch input, video input, and the like, and integrating the received data. . In one embodiment, the recording module 410 may generate one stream data by receiving and integrating screen stream data from the user terminal 110, video stream data from the camera, and audio stream data from the microphone (S604). ).

다음으로, 본 개시의 일 실시예에 의하면, 사용자 단말(110)은 스트림 데이터를 일정 시간 간격으로 분할할 수 있다(S605). 일 실시예에서, 사용자 단말(110)은 음성 입력, 영상 입력, 화면 입력 등의 다양한 데이터를 통합하여 하나의 스트림 데이터를 생성하면서, 스트림 데이터가 완결되기 전(예: 녹화 중)에, 스트림 데이터를 일정 시간 간격으로 분할할 수 있다. Next, according to an embodiment of the present disclosure, the user terminal 110 may divide the stream data into predetermined time intervals (S605). In one embodiment, the user terminal 110 generates one stream data by integrating various data such as audio input, video input, and screen input, and before the stream data is completed (eg, during recording), the stream data can be divided into certain time intervals.

본 개시의 일 실시예에 의하면, 사용자 단말(110)은 분할된 스트림 데이터를 센드 큐(422)에 저장할 수 있다(S606). 이후, 사용자 단말(110)은 센드 큐(422)에 저장된 스트림 데이터를 장치(140)로 전송할 수 있다(S607). 일 실시예에서, 센드 큐(422)에 저장된 스트림 데이터는 생성된 순서에 따라 순차적으로 장치(140)로 전송될 수 있다. 일 실시예에 있어서, 사용자 단말(110)가 스트림 데이터를 처음 전송하는 것인 경우, 사용자 단말(110)은 시작 제어 메시지를 장치(140)로 전송하여, 전송의 시작을 장치(140)에게 통지할 수 있다. According to an embodiment of the present disclosure, the user terminal 110 may store the divided stream data in the send queue 422 (S606). After that, the user terminal 110 may transmit the stream data stored in the send queue 422 to the device 140 (S607). In one embodiment, the stream data stored in the send queue 422 may be sequentially transmitted to the device 140 according to the order in which they are generated. In one embodiment, when the user terminal 110 transmits stream data for the first time, the user terminal 110 transmits a start control message to the device 140 to notify the device 140 of the start of transmission. can do.

본 개시의 일 실시예에 의하면, 사용자 단말(110)은 센드 큐(422)에 저장된 스트림 데이터 중 장치(140)로 전송된 스트림 데이터를 Ack 대기 큐(424)에 저장할 수 있다(S608). 일 실시예에서, 사용자 단말(110)은 스트림 데이터의 레퍼런스 번호와 함께 스트림 데이터를 Ack 대기 큐(424)에 저장할 수 있다.According to an embodiment of the present disclosure, the user terminal 110 may store the stream data transmitted to the device 140 among the stream data stored in the send queue 422 in the Ack waiting queue 424 (S608). In one embodiment, the user terminal 110 may store the stream data in the Ack waiting queue 424 together with the reference number of the stream data.

다음으로, 사용자 단말(110)은 장치(140)로부터 대응하는 스트림 데이터에 대한 수신확인응답(Ack)를 수신하고, Ack 대기 큐(424)에서 해당 스트림 데이터를 삭제할 수 있다(S609). 만약, 사용자 단말(110)은, 수신확인응답(Ack)을 소정의 시간 동안 받지 못하면 Ack 대기 큐에서 해당 스트림 데이터를 다시 보내고 다시 소정의 시간을 기다릴 수 있다. 사용자 단말(110)은 특정 스트림 데이터의 전송 수행시 전송 회수를 셀 수 있다. 사용자 단말(110)은 특정 스트림 데이터의 전송을 수행하였으나 수신확인응답(Ack)을 받지 못하는 경우, 소정의 전송 회수를 초과하지 않는다면, 수신확인응답(Ack)을 받을 때까지 재전송을 수행할 수 있다. Next, the user terminal 110 may receive an acknowledgment response (Ack) for the corresponding stream data from the device 140 and delete the corresponding stream data from the Ack waiting queue 424 (S609). If the user terminal 110 does not receive an acknowledgment response (Ack) for a predetermined time, it may send the corresponding stream data again in the Ack waiting queue and wait for a predetermined time again. The user terminal 110 may count the number of transmissions when performing transmission of specific stream data. If the user terminal 110 transmits specific stream data but does not receive an acknowledgment response (Ack), it may perform retransmission until it receives an acknowledgment response (Ack) if the number of times of transmission is not exceeded. .

전술한 각 단계(S604 내지 S610)는 녹화가 종료될 때까지 반복될 수 있다(S610). 녹화가 완료된 경우, 사용자 단말(110)은 종료 제어 메시지를 장치(140)로 전송하여, 전송의 종료를 장치(140)에게 통지할 수 있다(S611). Each of the foregoing steps (S604 to S610) may be repeated until the recording ends (S610). When the recording is completed, the user terminal 110 may transmit an end control message to the device 140 to notify the device 140 of the end of transmission (S611).

다음으로, 본 개시의 일 실시예에 의하면, 사용자 단말(110)은 스트림 데이터가 완결된 후, 예컨대 녹화가 종료되면, 스트림 데이터 전체를 하나의 파일로 생성할 수 있다(S612). Next, according to an embodiment of the present disclosure, the user terminal 110 may generate the entire stream data as a single file after the stream data is completed, for example, when recording is finished (S612).

사용자 단말(110)가 장치(140)로부터 검증 성공 메시지를 수신하는 경우(S613), 즉 장치(140)가 분할된 스트림 데이터를 병합하였고 장치(140)에서 병합된 스트림 데이터를 비디오 플레이어에서 재생 가능하다는 메시지를 수신하는 경우, 사용자 단말(110)은 하나의 파일로 생성한 스트림 데이터를 삭제할 수 있다(S614). When the user terminal 110 receives a verification success message from the device 140 (S613), that is, the device 140 has merged the divided stream data and the device 140 can play the merged stream data in a video player. If a message is received, the user terminal 110 may delete stream data generated as a single file (S614).

다른 실시예에서, 사용자 단말(110)가 장치(140)로부터 검증 성공 메시지를 수신하지 못한 경우(S613), 즉 사용자 단말(110)가 전체 스트림 데이터 요청 메시지를 수신하는 경우, 사용자 단말(110)은 하나의 파일로 생성된 스트림 데이터 전체를 장치(140)로 전송할 수 있다(S615). 일 실시예에서, 전체 스트림 데이터 요청 메시지는 검증 실패 메시지일 수 있다.In another embodiment, when the user terminal 110 does not receive a verification success message from the device 140 (S613), that is, when the user terminal 110 receives the entire stream data request message, the user terminal 110 may transmit all stream data generated as a single file to the device 140 (S615). In one embodiment, the entire stream data request message may be a verification failure message.

도 7은 본 개시의 일 실시예에 따라 서버에서 동작하는 비디오 메시지 서비스 방법의 개략적인 동작 흐름도이다.7 is a schematic operational flow diagram of a video message service method operating in a server according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따라, 장치(140)에 위치한 비디오 메시지 서비스 스택에 의해 비디오 메시지 서비스가 이루어 질 수 있다. According to an embodiment of the present disclosure, a video message service may be provided by a video message service stack located in device 140.

본 개시의 일 실시예에 따르면, 장치(140)는 분할 스트림 데이터를 수신할 수 있다(S701). 일 실시예에서, 장치(140)는 분할 스트림 데이터를 수신하여 리시브 큐(512)에 저장할 수 있다(S702). 일 실시예에서, 장치(140)는 분할 스트림 데이터의 수신에 선행하여, 분할 스트림 데이터 전송을 시작한다는 시작 제어 메시지를 수신할 수 있다. According to an embodiment of the present disclosure, the device 140 may receive split stream data (S701). In one embodiment, the device 140 may receive the split stream data and store it in the receive queue 512 (S702). In one embodiment, the device 140 may receive a start control message indicating that transmission of the split stream data is started prior to receiving the split stream data.

일 실시예에서, 장치(140)는 수신한 스트림 데이터에 레퍼런스 번호를 부여하여 스트림 데이터를 관리할 수 있다(S703). 본 개시의 일 실시예에 의하면, 장치(140)는 스트림 데이터를 수신하고, 부여한 레퍼런스 번호를 송신측, 즉 사용자 단말(110)로 전송할 수 있다(S704). In one embodiment, the device 140 may manage the stream data by assigning a reference number to the received stream data (S703). According to an embodiment of the present disclosure, the device 140 may receive stream data and transmit the assigned reference number to the transmitting side, that is, the user terminal 110 (S704).

본 개시의 일 실시예에 따르면, 장치(140)는, 송신측, 즉 사용자 단말(110)로부터 분할 스트림 데이터 송신을 종료한다는 종료 제어 메시지를 수신하고(S705), 리시브 큐(512)에 저장되어 있는 스트림 데이터를 하나의 스트림 데이터로 병합할 수 있다(S706). According to an embodiment of the present disclosure, the device 140 receives an end control message indicating termination of split stream data transmission from a transmitting side, that is, the user terminal 110 (S705), and is stored in the receive queue 512 The existing stream data can be merged into one stream data (S706).

일 실시예에서, 장치(140)는, 병합된 스트림 데이터가 비디오 플레이어에서 재생이 가능한지 여부를 결정할 수 있다(S707). 일 실시예에서, 장치(140)는, 병합된 스트림 데이터가 비디오 플레이어에서 재생이 가능한지를 결정하고, 재생이 가능한 경우, 사용자 단말(110)로 메시지를 송부하여 파일이 성공적으로 서버에 저장되었음을 통지할 수 있다(S708). 다른 실시예에서, 장치(140)는 수신한 스트림 데이터가 재생이 불가능한 경우, 사용자 단말(110)로 메시지를 송부하여 파일 검증에 실패했음을 통지할 수 있다(S709).In one embodiment, the device 140 may determine whether the merged stream data can be reproduced in the video player (S707). In one embodiment, the device 140 determines whether the merged stream data can be played in the video player, and if playable, sends a message to the user terminal 110 to notify that the file has been successfully saved to the server. It can be done (S708). In another embodiment, when the received stream data cannot be reproduced, the device 140 may send a message to the user terminal 110 to notify that the file verification has failed (S709).

일 실시예에서, 장치(140)는 수신한 스트림 데이터가 재생이 불가능한 경우, 사용자 단말(110)로 메시지를 송부하여 분할되지 않은 전체 스트림 파일을 요청할 수 있다(S710). 장치(140)는 분할되지 않은 전체 스트림 파일을 수신할 수 있다(S711). In one embodiment, when the received stream data cannot be reproduced, the device 140 may send a message to the user terminal 110 to request an entire undivided stream file (S710). The device 140 may receive the entire undivided stream file (S711).

본 개시의 일 실시예에 의하면, 장치(140)는 비디오 플레이어에서 재생이 가능한 하나의 스트림 데이터에 대해 비디오 스트리밍 서비스를 제공하기 위한 절차를 수행할 수 있다(S712). 일 실시예에서, 장치(140)는 비디오 스트리밍 서비스를 제공하기 위하여, 스트리밍 데이터 파일에 접근할 수 있는 주소를 데이터베이스에 기록하고, 스트리밍 데이터 파일을 웹 상에서 접근가능한 상태로 설정할 수 있다.According to an embodiment of the present disclosure, the device 140 may perform a procedure for providing a video streaming service for one stream data playable in a video player (S712). In one embodiment, in order to provide a video streaming service, the device 140 may record an address accessible to a streaming data file in a database and set the streaming data file to be accessible on the web.

또한, 전술한 본 개시의 실시예에서는, 편의상 특정 모듈이 소정의 동작들을 수행하는 것처럼 설명되었으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 위 설명에서 어느 특정 모듈에 의해 수행되는 것과 같이 설명된 동작들이, 그와 다른 별개의 모듈에 의해 각각 수행될 수 있음을 알아야 한다.In addition, in the above-described embodiment of the present disclosure, it has been described as if a specific module performs predetermined operations for convenience, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, it should be noted that the operations described as being performed by any specific module in the above description may be performed by separate modules different from it.

본 개시에서 설명된 단말기 및 서버에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다.Programs executed by the terminals and servers described in this disclosure may be implemented as hardware components, software components, and/or a combination of hardware components and software components. A program can be executed by any system capable of executing computer readable instructions.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(Read-Only Memory), RAM(Random-Access Memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software may be implemented as a computer program including instructions stored in computer-readable storage media. Computer-readable recording media include, for example, magnetic storage media (e.g., ROM (Read-Only Memory), RAM (Random-Access Memory), floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM) (CD-ROM) and DVD (Digital Versatile Disc). A computer-readable recording medium may be distributed among computer systems connected through a network, and computer-readable codes may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.

컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.A computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium does not contain a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily in the storage medium.

또한, 본 개시의 실시예들에 따른 프로그램은 컴퓨터 프로그램(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램은 디바이스의 제조사 또는 전자 마켓(예를 들어, 구글 플레이스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션 (downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.In addition, the program according to the embodiments of the present disclosure may be provided by being included in a computer program (computer program product). Computer programs can be traded between sellers and buyers as commodities. The computer program may include a software program and a computer-readable storage medium in which the software program is stored. For example, a computer program is a product (eg, a downloadable application) in the form of a software program that is distributed electronically through a manufacturer of a device or an electronic marketplace (eg, Google Play Store, App Store). can include For electronic distribution, at least a portion of the software program may be stored on a storage medium or may be temporarily created. In this case, the storage medium may be a storage medium of a manufacturer's server, an electronic market server, or a relay server temporarily storing a software program.

컴퓨터 프로그램은, 서버 및 디바이스로 구성되는 시스템에서, 서버의 저장매체 또는 디바이스의 저장매체를 포함할 수 있다. 또는, 서버 또는 디바이스와 통신 연결되는 제3의 디바이스(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램은 제3의 디바이스의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램은 서버로부터 디바이스 또는 제3 디바이스로 전송되거나, 제3 디바이스로부터 디바이스로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다. 이 경우, 서버, 디바이스 및 제3 디바이스 중 하나가 컴퓨터 프로그램을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 디바이스 및 제3 디바이스 중 둘 이상이 컴퓨터 프로그램을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다. 예를 들면, 서버가 서버에 저장된 컴퓨터 프로그램을 실행하여, 서버와 통신 연결된 디바이스가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다. 또 다른 예로, 제3 디바이스가 컴퓨터 프로그램을 실행하여, 제3 디바이스와 통신 연결된 디바이스가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 제3 디바이스가 컴퓨터 프로그램을 실행하는 경우, 제3 디바이스는 서버로부터 컴퓨터 프로그램을 다운로드하고, 다운로드된 컴퓨터 프로그램을 실행할 수 있다. 또는, 제3 디바이스는 프리로드 (pre-loaded)된 상태로 제공된 컴퓨터 프로그램을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.A computer program may include a storage medium of a server or a storage medium of a device in a system composed of a server and a device. Alternatively, if there is a third device (eg, a smart phone) that is communicatively connected to the server or device, the computer program may include a storage medium of the third device. Alternatively, the computer program may include a software program itself transmitted from the server to the device or the third device or from the third device to the device. In this case, one of the server, the device, and the third device may execute the computer program to perform the method according to the disclosed embodiments. Alternatively, two or more of the server, the device, and the third device may execute the computer program to implement the method according to the disclosed embodiments in a distributed manner. For example, a server may execute a computer program stored in the server to control a device communicatively connected to the server to perform a method according to the disclosed embodiments. As another example, the third device may execute a computer program and control a device connected to the third device to perform a method according to the disclosed embodiment. When the third device executes the computer program, the third device may download the computer program from the server and execute the downloaded computer program. Alternatively, the third device may perform the method according to the disclosed embodiments by executing a computer program provided in a pre-loaded state.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 컴퓨터 시스템 또는 모듈 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the methods described, and/or components such as the described computer systems or modules may be combined or combined in a manner different from the methods described, or other components or equivalents. Appropriate results can be achieved even if substituted or substituted by

100: 비디오 메시지 서비스 제공 시스템
110: 사용자 단말
120: 통신망
130: 제3 사이트 서비스 서버
140: 비디오 메시지 서비스 장치
100: video message service providing system
110: user terminal
120: communication network
130: third site service server
140: video message service device

Claims (11)

사용자 단말의 애플리케이션 레이어에 위치한 제3 사이트를 통한 비디오 메시지 서비스 소프트웨어 스택에 있어서,
미디어 스트리밍 소프트웨어 스택 및
상기 미디어 스트리밍 소프트웨어 스택과 통신가능하도록 연결된 비디오 메시지 서비스 소프트웨어 개발 키트(Software Development Kit, SDK) API를 포함하고,
상기 미디어 스트리밍 소프트웨어 스택은
화면 스트림 데이터, 카메라로부터의 영상 스트림 데이터, 마이크로폰으로부터의 음성 스트림 데이터를 수신하고 통합하여 하나의 스트림 데이터를 생성하도록 구성된 레코딩 모듈(recording module); 및
상기 레코딩 모듈로부터 데이터를 수신하여 종단 간 데이터 전송 서비스를 제공하도록 구성된 트랜스포트 모듈(transport module);
을 포함하고,
상기 트랜스포트 모듈은
스트림 데이터를 수신하여 저장하도록 구성된 센드 큐(send queue); 및
상기 센드 큐에 저장된 스트림 데이터 중 전송된 스트림 데이터를 저장하도록 구성된 Ack 대기 큐(ack-wait queue)
를 포함하는, 제3 사이트를 통한 비디오 메시지 서비스 소프트웨어 스택.
In a video message service software stack through a third site located in an application layer of a user terminal,
media streaming software stack and
Includes a video message service software development kit (SDK) API communicatively connected to the media streaming software stack,
The media streaming software stack
a recording module configured to receive and integrate screen stream data, video stream data from a camera, and audio stream data from a microphone to generate one stream data; and
a transport module configured to receive data from the recording module and provide an end-to-end data transmission service;
including,
The transport module
a send queue configured to receive and store stream data; and
An ack-wait queue configured to store transmitted stream data among stream data stored in the send queue
A video message service software stack via a third site, comprising:
제 1항에 있어서,
상기 비디오 메시지 서비스 SDK API는 메시지 녹화 버튼을 상기 제3 사이트의 웹페이지 화면의 일부에 표시되도록 구성되는 제3 사이트를 통한 비디오 메시지 서비스 소프트웨어 스택.
According to claim 1,
The video message service software stack through the third site, wherein the video message service SDK API is configured to display a message recording button on a part of a screen of a web page of the third site.
제 2항에 있어서,
상기 비디오 메시지 서비스 SDK API는 상기 제3 사이트를 통해 사용자 입력을 수신하고, 상기 사용자 입력에 응답하여 화면, 음성 또는 카메라 영상을 포함하는 비디오 메시지를 녹화를 진행하도록 구성되는 제3 사이트를 통한 비디오 메시지 서비스 소프트웨어 스택.
According to claim 2,
The video message service SDK API is a video message through a third site configured to receive a user input through the third site and record a video message including a screen, voice, or camera image in response to the user input. service software stack.
제 1항에 있어서,
상기 레코딩 모듈은 데이터를 통합하여 하나의 스트림 데이터를 생성하면서, 스트림 데이터가 완결되기 전에, 스트림 데이터를 분할하도록 더 구성되는 비디오 메시지 서비스 소프트웨어 스택.
According to claim 1,
The video message service software stack, wherein the recording module is further configured to divide the stream data before the stream data is completed, while merging the data to generate one stream data.
제1항에 있어서,
상기 레코딩 모듈은 스트림 데이터가 완결되면, 스트림 데이터 전체를 하나의 파일로 생성하도록 더 구성되는 비디오 메시지 서비스 소프트웨어 스택.
According to claim 1,
The video message service software stack, wherein the recording module is further configured to generate the entire stream data into a single file when the stream data is completed.
제1항에 있어서,
상기 트랜스포트 모듈은 상기 레코딩 모듈로부터 분할된 스트림 데이터를 수신하여 센드 큐에 저장하고 센드 큐에 저장된 상기 분할된 스트림 데이터를 전송하도록 더 구성되는 비디오 메시지 서비스 소프트웨어 스택.
According to claim 1,
The video message service software stack, wherein the transport module is further configured to receive divided stream data from the recording module, store it in a send queue, and transmit the divided stream data stored in the send queue.
제6항에 있어서 상기 트랜스포트 모듈은 상기 분할된 스트림 데이터를 전송하고 대응하는 분할된 스트림 데이터에 대한 수신확인응답(Ack)를 수신하면, Ack 대기 큐에서 해당 스트림 데이터를 삭제하도록 더 구성되는 비디오 메시지 서비스 소프트웨어 스택.7. The video method of claim 6, wherein the transport module is further configured to delete corresponding stream data from an Ack waiting queue when transmitting the divided stream data and receiving an acknowledgment response (Ack) for the corresponding divided stream data. Message service software stack. 서버의 애플리케이션 레이어에 위치한 비디오 메시지 서비스 소프트웨어 스택에 있어서,
스트림 데이터를 수신하고 수신한 스트림 데이터에 레퍼런스 번호를 부여하여 스트림 데이터를 관리하도록 구성된 리시버 모듈(receiver module);
상기 리시버 모듈에서 수신한 상기 스트림 데이터를 저장하도록 구성된 리시브 큐(receive queue);
상기 리시버 모듈로부터 복수의 스트림 데이터를 수신하여 하나의 스트림 데이터로 병합하도록 구성된 머지 모듈(merge module);
상기 머지 모듈에서 병합된 하나의 스트림 데이터를 검증하도록 구성된 검증 모듈(validation module) 및
비디오 플레이어에서 재생이 가능한 하나의 스트림 데이터를 수신하고, 비디오 스트리밍 서비스를 제공하기 위한 절차를 수행하도록 구성된 서비스 모듈;
을 포함하고,
상기 서비스 모듈은 상기 스트림 데이터를 보낸 단말의 ID 및 저장된 비디오 링크를 전송하도록 더 구성되는 비디오 메시지 서비스 소프트웨어 스택.
In the video message service software stack located in the application layer of the server,
a receiver module configured to receive stream data and assign a reference number to the received stream data to manage the stream data;
a receive queue configured to store the stream data received by the receiver module;
a merge module configured to receive a plurality of stream data from the receiver module and merge them into one stream data;
A validation module configured to verify one stream data merged in the merge module; and
A service module configured to receive one stream data playable by a video player and perform a procedure for providing a video streaming service;
including,
The video message service software stack, wherein the service module is further configured to transmit an ID of a terminal that has sent the stream data and a stored video link.
제3 사이트를 통한 비디오 메시지 서비스 방법에 있어서,
상기 제3 사이트를 통해 사용자로부터 스크린 입력, 마이크 입력 또는 카메라 입력 중 적어도 하나의 입력을 수신하면서, 상기 입력을 통합하여 스트림 데이터를 생성하는 동작;
상기 스트림 데이터를 일정 시간 간격으로 분할하는 동작;
분할한 스트림 데이터를 전송하는 동작; 및
상기 전송에 대한 응답을 수신하면, 해당 전송에 대응하는 분할한 스트림 데이터를 삭제하는 동작
상기 스트림 데이터를 생성하는 동작, 상기 분할하는 동작, 전송하는 동작 및 삭제하는 동작은 상기 사용자로부터의 모든 입력이 종료될 때까지 반복되는 동작인, 방법.
A video message service method through a third site,
generating stream data by integrating the input while receiving at least one of a screen input, a microphone input, and a camera input from a user through the third site;
dividing the stream data into predetermined time intervals;
transmitting the divided stream data; and
When receiving a response to the transmission, deleting divided stream data corresponding to the transmission
The operation of generating the stream data, the operation of dividing, the operation of transmitting, and the operation of deleting are operations that are repeated until all inputs from the user are terminated.
전자 장치에서 비디오 메시지 서비스를 제공하는 방법에 있어서,
복수의 스트림 데이터를 수신하는 동작;
상기 복수의 스트림 데이터 각각에 레퍼런스 번호를 부여하는 동작;
상기 복수의 스트림 데이터 각각의 수신에 응답하여, 대응하는 레퍼런스 번호를 전송하는 동작;
스트림 데이터의 송신을 종료한다는 종료 제어 메시지를 수신하는 동작;
상기 종료 제어 메시지 수신에 응답하여, 상기 복수의 스트림 데이터를 병합하여 하나의 스트림 데이터를 생성하는 동작
상기 병합된 스트림 데이터가 비디오 플레이어에서 재생이 가능한 경우, 상기 병합된 하나의 스트리밍 데이터를 접근할 수 있는 주소를 데이터베이스에 기록하고, 상기 병합된 하나의 스트리밍 데이터를 웹 상에서 접근가능한 상태로 설정하는 동작을 더 포함하는, 방법.
A method for providing a video message service in an electronic device,
an operation of receiving a plurality of stream data;
assigning a reference number to each of the plurality of stream data;
transmitting a corresponding reference number in response to receiving each of the plurality of stream data;
an operation of receiving an end control message indicating that transmission of the stream data is ended;
In response to receiving the termination control message, generating one stream data by merging the plurality of stream data.
When the merged stream data can be reproduced in a video player, recording an address where the merged single streaming data can be accessed in a database and setting the merged single streaming data to be accessible on the web. Further comprising a method.
컴퓨터 장치로서, 제9항 내지 제10항 중 어느 한 항의 방법을 실행하도록 동작 가능한 컴퓨터 장치.A computer device operable to execute the method of any one of claims 9 to 10.
KR1020220031199A 2021-11-29 2022-03-14 Method and apparatus for providing video message service through a third-party site KR20230080275A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210167214 2021-11-29
KR20210167214 2021-11-29

Publications (1)

Publication Number Publication Date
KR20230080275A true KR20230080275A (en) 2023-06-07

Family

ID=86761451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220031199A KR20230080275A (en) 2021-11-29 2022-03-14 Method and apparatus for providing video message service through a third-party site

Country Status (1)

Country Link
KR (1) KR20230080275A (en)

Similar Documents

Publication Publication Date Title
US8352506B2 (en) Automatic submission of audiovisual content to desired destinations
KR100597670B1 (en) mobile communication terminal capable of reproducing and updating multimedia content, and method for reproducing the same
JP6467554B2 (en) Message transmission method, message processing method, and terminal
US9479728B2 (en) Video SMS message sending and receiving methods and apparatuses thereof, and handheld electronic device
US9977591B2 (en) Image with audio conversation system and method
CN103748609B (en) Method for transmitting the media playback from distinct device
WO2012138742A1 (en) Automated system for combining and publishing network-based audio programming
US8489696B2 (en) Instant messaging exchange incorporating user-generated multimedia content
JP6275201B2 (en) Character transmission method, computer program, and character transmission system
CN107659831B (en) Media data processing method, client and storage medium
KR20160090330A (en) Controlling voice composition in a conference
CN104320417A (en) Method for interconnection and stream transmission and stream media play between mobile terminal and web terminal
US20150092006A1 (en) Image with audio conversation system and method utilizing a wearable mobile device
WO2015070796A1 (en) Method and device for pushing resources to mobile communication terminal by smart television
CN110781417A (en) Method and system for spreading speakable works based on two-dimension code
CN110113298B (en) Data transmission method, device, signaling server and computer readable medium
CN113284500B (en) Audio processing method, device, electronic equipment and storage medium
US10417279B1 (en) Customized cross fades for continuous and seamless playback
WO2017165253A1 (en) Modular communications
WO2014139366A1 (en) Multimedia information distribution method and apparatus
KR20230080275A (en) Method and apparatus for providing video message service through a third-party site
CN110634478A (en) Method and apparatus for processing speech signal
KR101708417B1 (en) Electronic device, contents management server and method for managing contents
KR20150022639A (en) Electronic device and method for using captured image in electronic device
JP2017204856A (en) Computer program and communication method for using ring back tone in VoIP call service

Legal Events

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