개요

비디오오디오를 실시간으로 전송하는 기술이다.

UDP 스트리밍

UDP 스트리밍에서 서버는 클라이언트에서의 비디오 소비율에 대응하는 일정한 시간 간격으로 비디오를 전송한다. UDP 스트리밍의 또다른 특성은 서버-클라이언트 간의 비디오 스트림 외에도 클라이언트에서의 연결 상태 변화에 관한 요청을 서버에 전달하는 별도의 제어 연결을 병렬적으로 유지한다는 것이다 (FTP참고). UDP 스트리밍이 많은 공개 시스템과 상용 제품에 적용되어 왔다 .. (이제는 HTTP 가 대세).

단점

  1. 서버와 클라이언트 간의 예측하기 어려운 가용 대역폭의 변화로 UDP 스트리밍은 연속적인 재생을 제공하는 데 실패할 수 있다.
  2. UDP 스트리밍이 클라이언트와 서버 간의 대화식 요구 및 상태 추적을 위해 RTSP 서버와 같은 미디어 제어 서버를 필요로 한다.
  3. UDP 트래픽은 종종 방화벽에 의해 차단되는데 이는 스트리밍을 할 수 없게 한다.

HTTP 스트리밍

특징

  1. 비디오가 HTTP 서버 내의 특정 URL 을 갖는 일반적인 파일로 저장된다.
  2. 사용자가 비디오 시청을 원하면 서버에게 TCP연결을 통해서 HTTP GET 요청을 전송하여 응답 패킷을 받는다.
  3. TCP가 제공하는 신뢰도 있는 프로토콜이 제공할 수 있는 최선의 속도로 패킷을 전송할 수 있다.
  4. 저장된 바이트가 미리 정해진 버퍼의 크기를 넘어서면 클라이언트 애플리케이션이 재생을 시작한다.

선인출 비디오

서버는 비디오를 소비하는 비율보다 더 빠르게 전송 할 수 있다. 즉 미래의 소비에 대비해 비디오 프레임을 선인출 하는 것이 가능하다.

클라이언트 애플리케이션 버퍼와 TCP 버퍼

StreamingBuffer.png

TCP 버퍼는 한계가 존재함으로 서버가 전송하는 속도는 결국 재생속도에 수렴하게 된다. 버퍼로의 바이트 이동은 일반적인 HTTP 버퍼로 채우는 것과 동일하다. 네트워크의 데이터 전송률이 비디오 소비율보다 커야 끊김 없는 비디오 시청이 가능하다.

비디오 조기 종료와 재생 위치 조정

HTTP byte-range 헤더를 사용해서 서버에게 파일의 어느 byte 지점을 보내야 하는지 알린다. 시청을 안하거나 넘긴 부분은 대역폭을 낭비하게 한다.

같이 보기

DASH
RTP