본문 바로가기
IT

스트리밍 (Streaming)

by 비준 2022. 9. 27.

스트리밍 (Streaming)

스트리밍 (Streaming)은 주로 소리 (음악)나 동영상 등의 멀티미디어 파일을 전송하고 재생하는 방식의 하나이다.

보통 파일은 내려받고 난 뒤에 열리는 작업을 하지만, 동영상과 같이 크기가 큰 파일을 재생할 때에는 내려받는 데에 시간이 오래 걸릴 수 있다. 파일을 다운로드하는 것과 더불어 재생을 함으로써 기다리는 시간을 크게 줄일 수 있다. 이 기술을 응용하여, 디브이 카메라 등을 사용해 컴퓨터 네트워크 위에 스트리밍 하여 (스트리밍 - Streaming) 실시간 중계도 가능하다. 

역사

컴퓨터의 미디어를 보여주는 시도는 20세기 중반의 컴퓨터 역사에서 비롯된다. 그러나 비용이 많이 들고 컴퓨터 하드웨어의 성능이 낮아서, 여러 해동안 큰 발전을 보여주지 못하였다.

 

1970년대의 학술 실험은 컴퓨터에 스트리밍의 기본 개념과 이용성을 증명해 냈다.

  • 필요한 데이터 속도를 뒷바쳐 줄 충분한 CPU 전력과 버스 대역폭을 가지고 있어야 한다.
  • 운영체체에서 낮은 레이턴시 인터럽트의 경로를 만들어 버퍼 언더런을 막아야 한다.

그러나 컴퓨터 네트워크는 여전히 제한이 있어서, 미디어는 보통 시디롬과 같은 "스트리밍 비지원" 채널을 통해 보급되어야 했었다.

 

1990년대 말에는 아래와 같은 이슈가 있었다.

  • 네트워크 대역폭이 더 넓어졌다.
  • 인터넷과 같은 네트워크로의 접근이 늘었다.
  • TCP/IP, HTTP, HTML과 같은 표준 프로토콜과 포맷을 사용하였다.
  • 인터넷이 상업화 되었다.
  • 스트리밍이라는 개념이 확립되었다.

이렇게 컴퓨터 네트워크가 발전하면서 더 강력한 가정용 컴퓨터와 현대의 운영체제를 소비자에게 실용적일 만큼으로 스트리밍과 결합하게 되었다. 독립 인터넷 라디오 장치들은 라디오 방송을 듣는 사람들에게 컴퓨터가 없더라도 오디오 스트림을 들을 수 있는 옵션을 제공하였다. 보통 멀티미디어 콘텐츠는 크기 때문에 미디어를 저장하고 전달하는 데에 드는 비용은 크다고 할 수 있다. 그리하여 이를 줄이려면 스트리밍 방식을 사용하여 저장하여 압축하는 것이 보통이다. 스트리밍 주문형 방송 (Demand), 라이브 (Live), 생방송이라고도 불린다. 이러한 스트림들 위에 오랜 시간 동안 서버에 저장이 되며 사용자의 요청에 따라 자료를 전송할 수 있다. 라이브 스트림은 또한 특정한 시간대에만 사용할 수 있다.  스트리밍에 대한 연구는 아직도 진행 중이다.

 

프로토콜

오디오 스트림은 파일 크기를 더 작게 만들기 위해 MP3, Vorbis, AAC, Opus 등의 오디오 코딩 포맷을 사용하여 압축한다. 비디오 스트림은 파일 크기를 더 작게 만들기 위해 비디오 코딩 포맷을 사용하여 압축된다. 비디오 코딩 포맷에는 H.264, HEVC, VP8, VP9가 포함이 된다. 인코딩 된 오디오와 비디오 스트림들은 MP4, FLV, WebM, ASF, ISMA 등의 컨테이너 비트스트림 내에 조합된다. 비트 스트림은 어도비의 RTMP, RTP 등의 전송 프로토콜을 사용하여 스트리밍 서버에서 스트리밍 클라이언트 (인터넷이 연결된 컴퓨터 사용자)로 전달된다. 2010년대에는 애플의 HLS, 마이크로소프트의 스무스 스트리밍 (Smooth Straming), 어도비의 HDS, MPEG-DASH 등의 유명한 포맷이나 비 사유 포맷 등의 기술 등이 등장하여 사유 전송 프로토콜을 사용하지 않고도 HTTP, HTTPS를 통한 가변 비트레이트 스트리밍을 가능하게 하였다. 스트리밍 전송 프로토콜을 사용하여 이벤트 베뉴 (Event Venue)로부터의 비디오를 클라우드 트랜스코딩 서비스와 CDN으로 전송하기도 하며 여기에서 HTTP, HTTPS 기반 전송 프로토콜을 사용하여 비디오를 개개의 가정과 사용자들로 배급한다. 스트리밍 클라이언트는 MMS, RTSP와 같은 제어 프로토콜을 사용하여 스트리밍과 통신할 수 있다. 최근에는 대표적으로 유튜브가 있다.

 

댓글