본문 바로가기

Telepresence

[연재] 영상 압축 코덱 전쟁의 서막 - 하. WebRTC를 위한 코덱 전쟁

                                                                                       글 싣는 순서
                                                                                        상. H.264 SVC 
                                                                                        중. H.264 High Profile
                                                                                        하. WebRTC를 위한 코덱 전쟁


"영상 압축 코덱 전쟁의 서막"이라는 연재를 쓰다가 한참을 잊고 있었습니다. 원래 마지막 장은 H.265를 주제로 할 계획이였지만 이미 "비디오 압축의 혁명, H.265가 온다"라는 글에서 이미 설명하였기에 마지막은 사라질 위기였습니다.^^ 때마침 ZDnet 코리아의 기사 중에 "동영상 코덱 시장에 때아닌 시스코 태풍 ( http://www.zdnet.co.kr/news/news_view.asp?artice_id=20131103012333 )"이라는 기사로 인해 새로운 코덱 전쟁에 대한 이야기를 정리할 수 있었습니다.  


시작하며
구글 VP8/9 코덱에 대해 정리하던 중 코덱 전쟁의 중심에 있는 HTML5와 WebRTC를 언급할 필요가 있었으며, 코덱보다는 WebRTC에 관한 내용이 더 많아졌습니다. 결국 WebRTC에 대한 자세한 이야기와 아직 끝나지 않은 코덱 전쟁으로 글을 정리하겠습니다. 처음에는 날로먹는 글 하나 정리하려다가 배보다 배꼽이 큰 글이 되었습니다.  

HTML5 부터 정리해보겠습니다.  


HTML5는 무엇인가?
HTML (HiperText Markup Language)은 웹페이지를 만들기 위한 기본 언어로 인터넷 검색을 위해 사용하는 웹브라우저에서 사용합니다. 최신 버전은 HTML 버전 5로 별도의 플러그인을 설치하지 않고도 플래시나 실버라이트 자바와 같은 화려한 그래픽 효과 및 멀티미디어 컨텐츠를 사용할 수 있도록 개발되었습니다. 

대표적인 웹브라우저인 크롬, 파이어폭스, 사파리, 인터넷 익스플로러에서 HTML 5를 지원하고 있으며, PC 뿐만 아니라 스마트폰에서 사용되는 모바일 웹브라우저에도 적용중입니다. HTML 5에서 멀티미디어 컨테츠 및 실시간 커뮤니케이션 기능을 가능하게 해주는 것이 WebRTC입니다.  

다음으로는 WebRTC에 대해 살펴보겠습니다.   


WebRTC는 무엇인가?
WebRTC는 Real-Time Communications의 약자인 RTC와 Web을 결합한 용어로 W3C (World Wide Web Consortium)에서 최초 제안되었습니다. 단순한 자바스크립트 API를 통해 웹브라우저에서 실시간 커뮤니케이션 기능을 활성화하려는 개방형 프로젝트입니다. 웹브라우저가 WebRTC를 지원한다는 의미는 별도의 클라이언트나 플러그인 없이 웹브라우저만으로 실시간 음성 및 영상 통화, 문서 공유와 같은 실시간 커뮤니케이션이 가능하게 된다는 것입니다. 

현재 웹브라우저를 이용한 실시간 음성 및 영상 통화를 제공하는 서비스로는 MS Skype, 구글 행아웃, 시스코 재버와 웹엑스 등이 있지만, 아래 그림과 같이 플러그인 설치가 반드시 필요합니다.   


플러그인 설치는 플래폼이나 OS 및 웹브라우저에 따라 설치 시에 문제를 일으키기도 하고, 플러그인의 종류에 따라 사용할 수 있는 어플리케이션도 틀립니다. HTML 5의 WebRTC는 표준화를 통해 웹브라우저만으로 자유롭게 멀티미디어를 제어할 수 있습니다.   

또한, 개발자들은 디바이스나 OS 지원 여부나 엔진 배포에 대한 부담없이 손쉽게 음성 및 영상 통화를 자신의 어플리케이션에 추가할 수 있습니다. WebRTC는 개인 뿐만 아니라 기업의 웹환경에 UC 서비스 사용을 촉진하고 새로운 변화를 가져올 것입니다.     


WebRTC의 활용사례로는 위의 그림에 내용뿐만 아니라 모든 어플리케이션에 적용할 수 있습니다. 좀 더 구체적인 활용사례는 아래의 "모두를 위한 시스코 재버 게스트"라는 글을 참조하시기 바랍니다.  

2013/11/04 - [Collaboration] - 모두를 위한 시스코 재버 게스트 (Jabber Guest)

WebRTC에 대해 자세히 알고 싶으신 분들은 아래 유투브 내용을 참조하시기 바랍니다. 기술적인 내용과 구체적으로 무엇을 할 수 있는 지를 자세하게 설명하고 있습니다. 영어를 모르더라도 뭘 보여주는 지 이해가 가능한 동영상입니다. 동영상을 보지 않더라도 WebRTC의 핵심 기능 세가지도 알고 가면 나중에 아는체하기 좋습니다. ^^ 

  • Media Stram (사용자의 웹켐과 마이크를 이용하기)
  • Peer Connection (손쉽게 고품질 음성 영상 통화하기)
  • Data Channel (P2P 어플리케이션 데이타 전송)



현재 기업에서 사용중인 수많은 UC 서비스를 WebRTC가 대체할 수는 없습니다. WebRTC에 대한 관심이 높은 이유는 개발자 및 사용자에게 편리하고 단순하고 용이한 접근성을 제공해 주기 때문입니다. WebRTC에서 고려되는 문제점도 같이 짚어 보겠습니다.  

  • 음성과 영상에서 많이 사용하는 사용자 디렉토리, 녹화, 컨퍼런싱 등의 기능 미흡
  • 영상 코덱 표준화 미비  
  • 기존 장비들과의 호환성 고려 미흡 
  • 성능과 신뢰성이 검증 미흠 
  • 사용자의 상태정보 미흡
  • 통화를 위한 시그널링에 대한 고려 미흡
위의 문제점들은 반드시 고려되어야 할 내용이지만, 웹브라우저 제조사들은 별로 관심을 보이지 않았습니다. 처음 WebRTC는 구글과 같은 웹브라우저 제조사에서 주축되어 진행되었으므로 웹브라우저와 웹브라우저간 통신에 집중했을 것입니다. 위의 언급된 문제점 중 상당 수는 표준 코덱을 선정하는 것만으로도 해결될 수 있습니다. 
 


WebRTC용 코덱 VP8과 H.264
실시간 커뮤니케이션을 지원하는 WebRTC는 영상을 압축하고 재생하는 코덱이 필요합니다. WebRTC를 이야기할 때 등장하는 코덱은 H.264와 VP8입니다. H.264는 이 연재에서 자주 설명하였으므로 생략하고, VP8/9에 대해서만 간략히 살펴보겠습니다. 

VP8은 On2 Technologies에서 만들었으며, 로열티가 없는 오픈소스입니다. 구글은 2010년 2월 On2 Technologies를 합병한 후에 크롬에 VP8을 적용하였으며, H.264 지원을 중단하였습니다. VP9은 VP8의 차기버전으로 H.265와 경쟁하기 위해 개발된 코덱으로 비슷한 성능과 특징을 가집니다. VP8/9 코덱은  오픈소스로 웹기반의 영상회의 어플리케이션 개발자들이 가장 선호하는 코덱이지만, 태생이 구글이라는 한계와 기존 영상회의 장비들과 호환이 되지 않는다는 단점이 있습니다.   

WebRTC는 필수 표준 코덱이 필요합니다. 웹브라우저 마다 사용하는 코덱이 틀리다면, 서로 실시간 영상 통화를 원활하게 할 수 없기 때문입니다. 표준으로 선정된 코덱은 모든 웹브라우저에 자동으로 탑재되어 호환성문제를 해결할 것입니다. 


WebRTC를 위한 코덱전쟁
IT 관계자 분들이 WebRTC를 조금만 살펴보면 엄청난 기회가 창출되는 시장이라는 것을 쉽게 감지합니다. 이런 곳에는 수많은 이해당사자들의 의견이 엇갈리기 마렵입니다. 처음에는 구글로 대표되는 웹브라우저 제조업체가 중심으로 진행되었고 관망중이던 시스코와 같은 영상회의 장비 업체가 나중에 뛰어 들면서 주도권 경쟁이 시작되었습니다.   

가장 첨예하게 부딪힐 수 밖에 없었던 부분이 바로 "실시간 음성 및 영상 통화에 사용할 표준 코덱을 무엇으로 정하는 가" 하는 부분이였습니다. 10월 말부터 시스코와 구글의 움직임을 기사의 내용에 맞추어 날짜별로 정리해 보겠습니다.   
    • 2013년 10월 30일 시스코의 H.264 오픈소스화 선언  
    • 2013년 11월  7일  IETF 88차 회의 개최 (표준 코덱 선정 예정)
    • 2013년 11월 11일 HTML5의 WebRTC 표준 코덱 선정 무산  

이슈의 핵심은 WebRTC의 표준 코덱을 H.264와 VM8 가운데 어느 것으로 정하는 것인가 하는 문제였습니다. 구글이 제안한 VM8 코덱은 오픈소스로 라이센스가 없었기 때문에 가장 유력한 후보였지만, 시스코가 H.264를 웹브라우저에서 사용하는 것에 한해서는 오픈소스화하기로 발표하면서 H.264가 유력 후보로 급부상했습니다. 

시스코는 지금까지 웹브라우저용 표준 코덱에 관심이 적었습니다. 지금까지 웹브라우저는 주로 동영상 재생에 코덱을 사용하였기 때문입니다. 이제 웹브라우저로 실시간 커뮤니케이션 및 협업이 가능해지면서 시스코와 같은 제조사들이 가만히 있을 수 많은 없었고 지난 3주간은 매우 적극적이였습니다.  

시스코 시스템즈는 10월 말 전격적으로 WebRTC용 H.264를 오픈소스화를 발표하였습니다. H.264는 MPEG 뿐만 아니라 다수의 영상회의 제조사가 함께 참여하여 만든 코덱이지만 시스코가 오픈소스화를 선언할 수 있었던 이유는 특허의 많은 부분을 시스코가 보유하고 있으며, 개발자들을 대신해 로열티를 MPEG LA에 지불하기로 하였기 때문입니다. 또한, MPEG LA는구글의 VM8의 오픈 소스화로 인해 2015년 까지 웹기반 동영상 스트리밍서비스에 한해 H.264를 무료로 사용할 수 있도록 되어 있었습니다.  

시스코의 발표에 처음 힘을 실어준 웹브라저는 모질아의 파이어폭스 브라우저입니다. 모질라는 이미 구글의 VM8을 지원하고 있는 상황에서 H.264 우선 지원을 발표하였습니다. 구글과 시스코의 미묘한 주도권 다툼하에서 11월 11일 캐나바 벤쿠버에서 HTML5의 WebRTC용 표준 코덱을 결정하기 하였지만,  결국 표준 코덱 선정이 무산되었습니다. 

이제 WebRTC 코덱 전쟁은 브라우저 및 관련 제품 개발사들에게 넘어갔습니다. 이들이 어떤 선택을 하느냐에 따라 업계 표준이나 산업 표준으로 될 것입니다. 현재 VP8을 탑재한 웹브라우저는 구글 크롬, 모질라의 파이어폭스, 오페라이며, H.264를 탑재한 웹브라우저는 마이크로소프트의 인터넷익스플로러와 애플의 사파리입니다.  모질라의 파이어폭스는 H.264 지원을 이미 공식 선언하여 양쪽 코덱을 모두 지원할 예정입니다. 

WebRTC의 미래가 무엇이길래 제조사들이 빠르게 움직이고 있는 지 생각해 보겠습니다.


새로운 UC 혁신을 일으키는 WebRTC
영상회의 및 영상 통화는 주로 하드웨어 기반 단말이 주도하였지만, UC (Unified Communications) 시장이 확대되면서 마이크로소프트 링크 및 스카이프, 시스코 재버와 웹엑스, 구글 행아웃 등이 주도하기 하고 있습니다.  이제는 플러그인도 클라이언트 프로그램도 필요없는 WebRTC의 시대가 열립니다. 웹브라우저의 범용 및 필수 기능으로 음성 및 영상 통화가 적용되어 웹브라우저로 전세계의 모든 사람이 UC 서비스를 손쉽게 이용할 것입니다. WebRTC는 PC 뿐만 아니라 모든 모바일 브라우저에서도 이미 적용되고 있습니다. 또한, 플래쉬나 실버라이트는 더이상 필요없는 기술이 될 것입니다. 

개발자들에게 UC 서비스는 라이센스와 복잡한 문제를 해결하기 위한 골치아픈 어플리케이션이 아니라 단순한 자바스크립트일 뿐이여서 수많은 어플리케이션과 기업의 비지니스 프로세스에 적용될 것입니다. WebRTC는 먼 미래의 기술이 아니라 현재 진행중인 기술입니다. 시스코는 재버게스트 솔루션을 출시하였으며, 어바이이도 곧 비슷한 솔루션을 출시할 계획입니다. 표준화가 완료되기 전에는 플러그인이 웹브라우저에 설치되는 지금의 방식이 여전히 적용될 것입니다.   

WebRTC로 인해 커뮤니케이션의 방식이 바뀌면서 코덱을 선점하는 것이 중요해집니다. 시장의 주도권을 누가 가지느냐 될 것이기 때문입니다.  


마치며
WebRTC 표준 코덱 전쟁의 남아있는 관전 포인트는  어떤 브라우저가 어떤 코덱을 기본으로 채택하는 가 입니다. 이미 진영이 어느정도 나누어 있지만 언제든 뒤집어질 수 있습니다.  


<참조자료>
  • itopen.tistory.com 메모리얼의 iPackage
  • ZDnet 기사 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20131103012333

<관련 연재>


라인하
트 (CCIEV #18487)
  ----------------------------------------------------------
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/ucwana (라인하트의 트위터 ) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스) 
정리하고 보니 나도 디지털 네이티브 ___________________________________________________________