Streaming Protocols
Progressive Download
youtube, ESPN, CNN 등이 사용한 동영상 전송 방법. 점진적으로 다운로드하여 플레이 되는 방식. 미디어 서버가 아닌, 웹 서버의 비디오를 플레이어에게 URL을 알려주어 HTTP로 동작하며, 가장 구현이 쉽고 비용이 적다. (단순하게 웹에서 파일을 다운받아 진행하는 방식)
클라이언트에서 비디오를 재생하면 웹 서버에서 즉시 다운로드 시작, 즉시 플레이 가능할 수도 있고, 시간이 지난 후 플레이 될 수도 있으나 전체 파일이 다운로드 될 필요는 없다. 클라이언트의 인터넷 환경에 따라 다르며, 중간 부분이 다운되지 않았으면 재생되지 않는다.
이 방식으로 동영상이 꾸준히 재생되기 위해서는 서버에서 클라이언트로 전달되는 네트워크 속도가 동영상의 데이터 레이트보다 높아야한다. 512Kbps 동영상이라면 적어도 그에 맞는 네트워크 속도가 있어야 끊김 없이 제공된다.
단점은 파일을 다운로드하여 가져오는 방식으로 보안에 문제가 있고, 유료 서비스를 위한 사이트에서는 이용할 수 없고, 라이브 스트리밍을 지원하지 않는다.
또한, bandwidth traffic 소모가 다운로드 한 만큼 소모된다. 1GB 사이즈 영상을 300MB만 시청했더라도, 나머지 부분도 다운로드가 완료된 상태이기 때문에 비용이 청구된다. 한 번 다운로드가 시작되면 비디오의 품질은 고정되며, 중간에 변경할 수 없다. Fullscreen 모드에서도 화면 사이즈만 커질 뿐 화질이 변경되지 않는다.
Live가 아닌 VOD에서 유용하며, 점진적으로 사용자 PC에 다운로드하며 재생
Pseudo Streaming
Progressive 방식(사용자 단말에 다운로드하는 방식)의 bandwidth 비효율적인 것을 보완하고 Live 서비스와 고화질을 제공하기 위해 나온 기술이다. 아직 다운받지 않은 부분을 요청해도, 메타 프레임 정보를 통해 다시 다운로드를 시작하여 플레이하여, 중간부터 시청이 가능하다. 웹 서버에 모듈을 설치해야 작동하며, Flash Player, HTML5 Player에서 지원된다. 화질을 클라이언트가 선택하게 해준다.
Progressive 다운로드의 단점 보완, 라이브 지원, bandwidth 조절, Seeking 기능, 보안 강화
RTSP / RTMP
RTMP (Real-Time Messaging Protocol)
Adobe 사의 독점 TCP 기반 프로토콜. 오디오, 비디오 등의 데이터를 인터넷을 통해 스트리밍 할 때 사용. adobe flash player와 서버 사이 통신에 이용.
- 기본 1935번 포트. 실패 시 443 포트(RTMPS), 80 포트(RTMPT)로 재시도
- RTMPT (RTMP Tunneled): RTMP 데이터를 HTTP로 감싼 것. HTTP 헤더로 RTMP보다 크기가 큼
- RTMPS: RTMP + HTTPS. Flash player에서 SSL 입출력 지원
- RTMPE: 128비트로 암호화된 RTMP. SSL보다 가볍지만 인증이 없음. 암호화 채널 사용으로 성능에 영향 있음
- RTMPTE: RTMPT + RTMPE. 서버 성능에 영향
- RTMFP: Real Time Media Flow Protocol. UDP에서 동작하며 항상 암호화된 상태로 데이터 전송
RTSP (Real-Time Streaming Protocol)
Adaptive Streaming
미디어 서버와 같이 비싼 장비와 RTMP 같이 복잡한 프로토콜 기술을 사용하지 않고, Bandwidth 효율이 좋아 화질 변경이 용이하다.
'CDN - Platform' 카테고리의 다른 글
Platform: Wowza (0) | 2018.08.28 |
---|---|
Streaming Protocol: HLS (0) | 2018.08.21 |