본문 바로가기
728x90

기타7

[webRTC] H264코덱을 사용해보자 본 테스트는 Firefox와 Chrome을 기준으로 작성하였습니다. 기본적으로 Chrome과 Firefox의 동영상 코덱은 VP8코덱을 디폴트 값으로 가지고 있다. 어떤 코덱을 디폴트로 가지고있는지는 sdp를 생성하고 그안의 정보를 확인하면 알 수 있는데 바로 이부분이다. m=video 9 UDP/TLS/RTP/SAVPF문우 뒤의 숫자 순서대로 우선순위를 가지며 사용가능한 코덱을 나열해 놓은 것이다. 해당 번호가 어떤 코덱인지는 스크롤을 내리면 아래쪽에 나와있다. a=rtpmap 이라는 문구를 찾아서 보면 FF기준 제일 우선순위가 높던 120번이 VP8코덱임을 알 수 있었다(크롬도 마찬가지로 내려보면 96번은 VP8코덱으로 나와있다). 이제 우선순위가 높은 코덱을 H264로 변경해보자. 방법은 생각보다 .. 2022. 6. 9.
[webRTC, React, TypeScript] 간단하게 1:1 화상 통화를 만들어보자 webRTC에 대한 개념은 다른글에 설명을 하였습니다. 개념이 필요하시다면 하단글 먼저 읽어 주세요 https://kbs77.tistory.com/94 Web RTC? WebRTC(Web Real-Time Communications)란, 웹 어플리케이션(최근에는 Android 및 IOS도 지원) 및 사이트들이 별도의 소프트웨어 없이 음성, 영상 미디어 혹은 텍스트, 파일 같은 데이터를 브라우져끼리 주고 받 kbs77.tistory.com 어떻게 구현해야 할까 ? Peer A가 먼저 Room에 들어와있는 상태이고, Peer B가 이후에 Room에 접속을 하였다고 가정해봅시다. ㅁ 먼저 PeerA는 브라우저에서 미디어 스트림을 받습니다.(getUserMedia) stream을 등록합니다(addStream x.. 2022. 5. 27.
MQTT MQTT(Message Queueing Telemetry transport)의 약자로 국제 표준화된 발행 - 구독 기반의 메시지 송수진 프로토콜 입니다. MQTT는 M2M, IoT를 위한 프로토콜로써 최소한의 전력과 패킷량으로 통신하는 프로토콜 입니다. 다라서 IoT와 모바일 어플리케이션 등의 통신에 매우 적합한 프로토콜 입니다. MQTT는 HTTP, TCP등의 통신과 같이 클라이언트-서버 구조로 이루어지는 것이 아닌, Broker, Publisher, Subscriber 구조로 이루어집니다. Publisher는 Topic을 발행하고, Subscribers는 Topic에 구독합니다. Broker는 읻르을 중계하는 역할을 하며, 단일 Topic에 여러 Subscriber가 구독할 수 있기 때문에 1 : N.. 2022. 5. 19.
소켓 통신 기본 개념 정리 소켓 통신 소켓이란 두 프로그램이 서로 데이터를 주고 받을 수 있고 양쪽(두 프로그램 모두)에 생성되는 통신단자입니다. 소켓통신이란 서버와 클라이언트 양방향 연결이 이루어지는 통신으로, 클라이언트도 서버로 요청을 보낼 수 있고 서버도 클라이언트로 요청을 보낼 수 있는 통신으로 다음과 같은 특성을 지닙니다. 클라이언트와 서버 양쪽에서 데이터 전달을 하는 방식의 양방향 통신 보통 스트리밍이나 실시간 채팅 등 실시간으로 데이터를 주고 받아야 하는 경우 Connection을 자주 맺고 끊는 HTTP 통신보다 소켓 통신이 적합니다. 소켓 통신은 계속해서 Connection을 들고 있기 때문에 HTTP 통신에 비해 많은 리소스가 소모됩니다. 소켓 실행 흐름 서버의 입장 1. socket() 소켓 통신을 위해 가장 .. 2022. 5. 19.
동영상 압축, MP4 와 H.264 MP4와 H.264를 알기전에 코덱과 동영상 압축을 왜하는가에대해 한번 말아봅시다. 코덱 : 동영상을 압축하거나 해제할 수 있는 프로그램 Coder와 Decoder의 합성어 인코딩 : 영상, 소리 등 멀티미디어 데이터들을 압축, 변환한다 디코딩 : 영상을 보거나 소리 등을 재생할 때 압축된 데이터를 해석하는 것 동영상 압축 이유? 당연하게도 동영상의 용량을 효율적으로 관리하기 위함입니다. 보통의 1시간짜리 동영상의 크기는 약 10GB인데, 우리가 흔히 인터넷에서 다운받는 동영상의 크기는 1.4GB정도의 낮은 용량을 가지고 있습니다. 그러나 코덱을 사용해 용량을 줄이게 된다면 동영상 화질에는 그만큼의 손상이 발생하게 됩니다. 송상의 유무는 코덱의 성능에 따라서 달라지게 됩니다. 동영상 압축 기술 동영상을 .. 2022. 5. 19.
웹어셈블리 (WASM)? 웹어셈블리? 웹어셈블리는 자바스크립트가 아닌 다른 프로그래밍 언어로 작성된 코드를 브라우저에서 실행시키기 위한 방법입니다. 그래서 사람들이 웹어셈블리가 빠르다고 이야기하는 건, 자바스크립트와 비교했을때 빠르다는 말입니다. 자바스크립트는 1995년에 만들어졌습니다. 자바스크립트는 빠르게 동작하도록 다지안되지 않았으며, 처음 10년동안은 실제로 빠르지 않았습니다. 2008년에 사람들이 성능 전쟁이라고 말하는 기간이 시작되었다. 많은 브라우저들이 JIT(Just-In-Time)를 도입하였고 실제로 코드를 더 빨라지도록 만들었습니다. JIT가 등장하면서 자바스크립트의 성능에는 많은 변화가 생겼습니다.. 자바스크립트의 실행 속도가 눈에띄게 빨라진 것 때문입니다. 그리고 현재 우리는 아마 도다른 변곡점에 있는지도 .. 2022. 5. 18.
728x90