1. 영상 전송 프로토콜 종류
- RTSP : 1996년 온라인 비디오 스트리밍용 프로토콜
- RTMP : 2009년 기술 일반인 공개
- SRT : 2017년 오픈 라이선스 전환
- NDI : 2016년 다양한 소프트웨어에 뉴텍은 무상 배포
- HLS : 애플에 의해 2009년 공개
- DASH : 2011년 공개
- WebRTC : 구글 2011년 공개
2. 영상전송 프로토콜 기술 설명
스트리밍 이란?
인터넷 환경에서 물이 흐르듯이 비디오, 오디오 등 멀티미디어 정보를 제공하는 기술이며, 하드디스크 등에 물리적으로 다운로드 없이 실시간 재생해주는 기술입니다.
즉 재생 시간을 단축시키며 저장장치의 용량에도 영향을 주지 않습니다.
- RTSP(Real Time Streaming Protocol)
스트리밍의 시작이라고 말할 수 있다. 1996년 등장하였으며 RTSP가 등장 전 영상, 음악 등 멀티미디어 정보를 완전히 다운로드한 후 시청할 수 있었다.
"1시간짜리 영상을 다운로드하다 네트워크 문제로 중지가 되면 처음부터 받아야 된다"
이것을 해결하기 위해 등장한 최초의 스트리밍 기술인 것이다.
현재에는 CCTV에서 사용하고 있는 프로토콜입니다.
다만 오래된 기술이라 화질 저하, 미디어 서버 운영에 대한 높은 난이도 등으로 도태되고 있는 실정이다.
- RTMP (Real Time Messaging Protocol)
2009년 메크로미디어 회사에서 RTMP가 공개하였고 현재 가장 많이 사용되는 프로토콜이다.
개인적으로 실무에서 가장 많이 사용 중인 스트리밍 프로토콜이며 유튜브, 트위치, 페이스북에 스트리밍 할 때 주로 사용하고 있습니다.
각 플랫폼별 서버 주소
유튜브 : rtmp://a.rtmp.youtube.com/live2
트위치 : rtmp://live-sel01.twitch.tv/app/
아프리카 TV : rtmp://rtmpmanager-freecat.afreeca.tv/app/
카카오 : rtmp://rtmp.play.kakao.com/kakaotv
페이스북 : rtmp://rtmp-api.facebook.com:80/rtmp
장점
- 낮은 지연 및 안정성 : 유튜브 스트리밍시 약 20초 정도의 대기시간(지연)을 유지하여 불안전한 인터넷 환경에서도 시청자가 불편함 없이 영상을 볼 수 있습니다.
- 자유로운 타임라인 : 생방송에 늦게 참여하여도 과거의 방송 분량을 볼 수 있으며, 자유롭게 타임라인을 선택할 수 있습니다.
- 낮은 보안성(보안 방법은 아래)
실무에서 RTMP 낮은 보안성을 보안하는 방식은 유튜브 생방송에 있는 '공개 범위 설정'의 '비공개' 옵션으로 시청자를 특정할 수 있다.추가로 위 옵션은 특정된 시청자의 Gmail을 등록하면 된다.
단점
- 스트리밍 서버 구성 : 높은 비용 발생(기업 입장)
- HEVC(H.265) 미지원 : Adobe가 메크로미디어를 인수하여 RTMP 프로토콜의 권리를 가지고 있었으나 2020년에 RTMP의 지원을 종료했기 때문에 HEVC 코덱을 지원해줄 명분이 없어졌습니다.
- SRT (Secure Reliable Transport)
2017년 오픈소스로 공개되었으며 RTSP, RTMP의 장점을 혼합한 프로토콜입니다. SRT를 사용하는 분야는 뉴스의 특파원 등 장거리에서 인터넷으로 안정적으로 보낼 목적으로 주로 사용되고 있다고 한다.
실무에서 사용하고 있는 프로토콜이다.
사용하는 이유는 NDI로 영상을 보냈을 때 내부 내트워크 허브 or 기타 이유로 프레임 드롭현상이 발생하여 NDI 대신 SRT로 사용하는 중이며 NDI의 프레임 드랍 문제가 완벽히 해결되었다.
사용하면서 불편한 점은 NDI보다 SRT의 지연이 조금 더 높은데 있다.
채감 되는 지연 속도
NDI = 50~200ms
SRT = 200~800ms
사용 방법
- OBS
OBS에서 응용할 수 있는 방법을 수록한 웹페이지 : (링크)
- VMIX
설명이 복잡하니 VMIX 공식 유튜브 페이지에서 SRT 출력과 입력방법을 정리해둔 영상을 참고해주세요(링크)
위 설정창은 VMIX에서 SRT를 출력을 설정할 수 있는 창입니다. VMIX에서는 소프트웨어당 총 4개(트림마다 다름)의 SRT를 출력할 수 있습니다.
실무에서 사용하고 있는 SRT 옵션들입니다. 지금까지 사용해본 결과 매우 만족스러운 프로토콜입니다. 하지만 처음 입문과정이 한글로 친절하게 설명된 자료가 없어 조금은 헤매실 겁니다.
아래 VMIX SRT 설명 영상을 통해 학습해보시는 것을 권장드립니다.
아래 기초를 익히시면 OBS에서도 약간의 학습을 통해 SRT를 사용할 수 있습니다.
- SRTminiserver(링크)
실무에서 SRT를 사용하면서 사내의 내부망의 IP 이슈로 포트 포워딩과 같은 기술의 수정이 어려워 구글링을 통해 솔루션을 찾았습니다.
OBS, VMIX SRT 사용을 어느 정도 숙련했다면 해당 소프트웨어 또한 쉽게 설정하여 사용할 수 있었습니다.
장점
- 높은 전송 퀄리티
- 낮은 지연
- 방화벽 친화적
- 보안 기능 : SRT를 출력할 때 패스워드를 설정하여 보안을 높일 수 있습니다.
- NDI (Network Device Interface)
2016년 NewTek사에 의해 공개되었고 무손실, 압축, 제로 딜레이를 특징으로 네트워크 비디오 전송요 코덱이며 라이센스가 무료이며 다양한 소프트웨어를 무상으로 배포돠고 있습니다.
실무에서 정말 많은 빈도로 사용 중인 프로토콜이며, 스위칭 허브와 네트워크를 조합하여 정말 많은 SDI, HDMI 케이블의 혁신적으로 줄여 프로덕션 하고 있습니다.
장점
- 하드웨어 축소 가능 : 스트리머들은 두대 이상의 PC로 스트리밍 환경을 구축하는데 NDI를 이용하면 게임 영상을 굳이 캡처카드를 이용하여 캡처할 필요 없이 바로 스트리밍 PC로 입력할 수 있습니다. 또한 한번 NDI로 네트워크에 뿌려진 영상 데이터는 내부의 어떤 기기에서도 입력할 수 있습니다.
- 케이블 사용 감소 : 커트롤, 입출력 등 모든 케이블이 네트워크 케이블 하나에서 이루어집니다.
- 내부망에서 모두 공유 가능 : 스위칭 허브에 물려있는 모든 기기에서 원본 그대로 사용할 수 있습니다.
단점
- 화질 열화 : h.264/h.265 코덱을 사용하여 완전한 원본은 아닙니다.
- 내부망 전용 : SRT처럼 인터넷 스트리밍이 아닌 내부망에서만 이용 가능합니다.