C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[38221] 그냥 생각나는데로 적어봅니다. 해본적없음
황경록 [] 877 읽음    2004-11-30 00:34
실시간 화상 전송이란 의미는 이렇게 해석될 수도 있겠군요(음성은 제외해 보도록 하겠습니다.)

우선 실세계의 타임라인이 있습니다.

예를 들어 12시 50분이 스타트 타임이라 생각하시고 시간은 계속 흐릅니다.

실시간으로 화상 전송을 하기 위해서 첫번째는 화상의 입력이겠죠? 이것 화상카메라의 IN 이 어떤건지에 따라서 다르겠지만 USB 의 경우라면 USB 에서 들어오는 데이터를 버퍼에 저장하고 있을 겁니다.

관련 API 함수를 통해 현재 시간 12시 50분 30초의 화면을 지정된 버퍼에 저장후 사이즈를 줄이기 위해
인코딩을 합니다.

인코딩된 버퍼의 내용을 접속된 클라이언트에 보내는 쓰레드가 있다고 가정하고
초당 몇 프레임(Frame per second)을 전송할 것인이 결정합니다.

1초에 한 화면을 보낸다고 가정하고 1 frame per second 라 치구 쓰레드를 통해 계속 전송합니다.

받는 쪽은 버퍼링을 해야 합니다. 버퍼링 타임을 넉넉잡아 5초라 치고 인코딩된 데이터를 받는 쓰레드가 있다구 치고
버퍼에 데이터를 계속 기록합니다.

데이터를 디코딩해서 시간을 계산해서 화면에 뿌려줍니다.

데충 이러한 흐름(flow)가 되지 않을까 생각됩니다. -_-;;;; 써놓구 보니 무슨말인지 헷갈리네요
술을 한잔했더니;;;;

정리하면

화면캡쳐 - 인코딩 - 전송 - 버퍼링 - 디코딩 - 화면출력

이정도입니다.


이성제 님이 쓰신 글 :
: 화상채팅은 어떤 원리 인가요.
:
: 그냥 파일로 저장한 후에 전송한다음 재생하는겁니까??
:
: 그럼 실시간이 안될텐데..
:
: 흠 막 화상채팅 같은거 보면 실시간으로 바로 바로 되잖아요
:
: 어떤 원리 인지좀 가르쳐 주세요.
:
: 감사합니다.

+ -

관련 글 리스트
38219 화상채팅에 관해서요 ㅎ 이성제 764 2004/11/29
38221     그냥 생각나는데로 적어봅니다. 해본적없음 황경록 877 2004/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.