Photo by Heidi Sandstrom. on Unsplash

 

인터넷을 이용해 영화를 보거나 노래를 들을 때, ‘스트리밍(streaming)’이란 말을 접하곤 한다. 스트리밍이란 무엇일까? 공급자가 자료를 주고 수신자가 이를 받아 재생하는 과정이, 스트리밍이란 말뜻과 같이 ‘물 흐르듯’ 이어지는 과정을 말한다. 즉, 인터넷에서 용량이 아주 큰 파일을 전송 및 재생할 경우가 있는데, 이때 이 과정이 끊김 없이 물 흐르듯 진행될 수 있도록 하는 기술이 바로 스트리밍이다.

 

이제 인터넷을 이용해 노래를 듣는 경우를 생각해 보자. 노래 한 곡의 파일 전체를 10이라고 하자. 1을 다 듣고 나면 준비되어 있던 2가 나오고 이런 과정을 쭉 이어보면 우리는 끊김 없이 1부터 10까지의 노래를 들을 수 있다. 물이 흐르는 것처럼 말이다. 인터넷을 이용해 노래를 듣는 방법은 두 가지가 있을 것이다. 하나는 1부터 10까지 일단 모두 다운로드 해 두고, 오늘 당장 듣거나 며칠 후에 듣거나, 1부터 듣거나 3부터 듣거나 하는 방법일 것이고, 다른 하나는 실시간으로 1 하나만 받아서 들으며, 듣는 시간을 이용해 2나 3을 준비해 가며 듣고 파일은 저장하지 않는 방법이다. 각각의 방법은 그 나름대로 장단점이 있다. 그런데 노래 파일을 소장할 목적이 아니라면 아마도 뒤의 경우가 더 효율적일 것이다. ㉠한 번 듣고 말면 충분할 것을 통째로 내 것으로 만들 필요는 없을 것이기 때문이다. 아무리 용량이 큰 파일이라도 같은 크기로 조각조각 나눠서 준비해 두면 이것을 이용하는 사람들이 가장 먼저 필요한 조각을 가져가고, 그다음 필요한 조각이 이용자에게 도달하면 자료는 물이 흐르듯이 흘러갈 것이다. 스트리밍 기술은 이런 생각에서 출발한다.

 

그런데 이런 경우가 있을 수 있다. 실행하는 동안 다음 조각 파일이 도달하지 않은 경우이다. 이때 필요한 것이 ‘버퍼’와 ‘버퍼링’이다. ‘버퍼’란 전송 받은 파일을 임시로 저장하는 공간이다. 첫 번째 조각 파일을 전송 받아 재생하는 중에 그다음 조각 파일이 버퍼에 도달한다면 파일 재생이 물 흐르듯 이루어질 것이다. 그러나 그다음 파일이 미처 버퍼에 쌓이지 않았다면 재생이 물 흐르듯 이루어지지 못할 것이다. 이때 몇 초간 ‘버퍼링’이란 글자를 보게 된다. 버퍼링이란 재생을 위해 준비하는 과정이다. 버퍼링이 끝나면 다시 재생이 시작된다. 그때부터는 끊김 없이 물 흐르듯 진행되어야 한다. 그럼에도 불구하고 인터넷에서 가끔 노래나 영상이 잠시 멈추거나 끊기는 경우가 있다. 물 흐르듯 끊김 없이 진행되는 것이 스트리밍이라고 했는데, 왜 그럴까? 초고속 통신망이 많이 발전했다고는 하나 아직도 전송량에는 한계가 있기 때문이다. 그러나 인터넷 전송 기술이 계속 발전하고 있기 때문에 머지않아 진정한 스트리밍이 실현될 것이다.

 

스트리밍 기술은 다양하게 활용될 수 있다. 현재까지 온라인 음악 서비스나, 인터넷 방송, 동영상 강의를 활용한 원격 교육 등이 스트리밍 기술의 장점을 가장 잘 살린 경우라고 할 수 있다. 영화를 보려는 사람이 영화 파일을 자기 컴퓨터에 다운로드 하는 수고를 하지 않고 서버에 저장된 영화 파일을 불러와 보는 것이 더 좋지 않을까? ㉡스트리밍 기술은 이런 생각을 멋지게 실현한 것이다.

 

― 이강룡, ‘웹기술, 스트리밍’