[Flutter] WebRTC 사용한 라이브 스트리밍 환경

메모하는 개발자·2021년 12월 16일
0

WebRTC는 중개자 서버를 거치지않고 client - client 간에P2P 연결을 할 수 있는 기술이다.

하지만 내가 구현한 라이브 스트리밍 환경에서는 영상데이터를 보내주는 서버는 필요하므로 WebRTC를 사용하여 client - 영상송출 서버를 P2P로 연결한셈이다.

결국, 서버에서 영상을 모든 client들에게 내려주는 구조는 같지만
=> 그 구조가 websocket이 아닌 webrtc 로 구현했을경우 아래의 장점이 있다.

1. webrtc는 영상, 오디오, 임의의 데이터의 통신이 high-performance, hight-quality 이도록 설계되었기 때문!
2. webrtc는 브라우저간 직접 통신이어서 훨씬 빠르다!
3. webrtc의 지연시간이 훨씬 짧다(low-latency)

Rtmp -> 미디어서버(m3u8로 바꾸면서 ts파일 내려주면서 딜레이 있음) -> m3u8 -> server -> client
Rtmp -> 미디어서버(소켓신호를 다이렉트로 내려서 딜레이 없음) webrtc -> server -> client

0개의 댓글