동영상, 웹의 일부가 되다

HTML5 동영상을 두고 애플과 어도비 그리고 웹 브라우저 벤더와 서비스 업체들의 혼란이 가중되고 있다.

유튜브를 비롯 많은 웹 서비스들은 아이폰과 아이패드 호환성을 위해 HTML5 <video> 기능을 제공하고 있는데 반해 최근 인터넷 TV 서비스인 Hulu는 <video>를 관망하고 플래시 동영상을 유지하겠다는 입장을 보였기 때문이다. 마치 과거 넷스케이프 vs. IE와 이에 따른 웹 서비스들의 줄서기 같은 데자뷰가 일어난다고 이야기 하는 분들도 있다. 중요한 것은 웹의 본질을 이해하고 스스로 판단해야 한다는 점이다.

콘테이너를 벗어나 웹의 일부가 되다
웹의 일부냐 아니냐를 가를 수 있는 구분자는 바로 웹에 있는 자원을 우리가 찾고(URL addressable), 읽고(Readable), 저장(Indexable)할 수 있느냐는 것이다.

웹이 처음 만들어졌을 때, 음성 및 동영상 같은 멀티미디어들도 웹의 일부가 될 수 있는 기술적 고려는 있었다. 하지만, 90년대말과 2000년대 초반 인터넷 방송을 해 봤던 경험에 따르면 당시 네트워크 속도, 저작권, 공유 기술의 부족으로 인해 플러그인의 콘테이너에 갇혀 제공될 수 밖에 없었다.

지금까지 웹 상의 동영상은 실버라이트, 리얼플레이어, 윈도우 플레이어 등에 갇혀 있었고 웹 2.0 조류를 타고 오디오의 경우 팟캐스트, 동영상은 유튜브가 나오고 나서야 사용자가 직접 만들어 공유 가능하게(sharable) 서비스가 나오기 시작했다. 특히 과거에 비하면 서비스 비용도 획기적으로 낮아졌고, 광고 시장의 성장도 눈부셔서 멀티미디어가 웹의 일부가 될 수 있는 토대가 된 것은 웹2.0의 또다른 혜택 중 하나다.

진정한 개방 동영상(Open Video) 시대로
동영상이 웹의 일부가 된다는 말은 무엇일까? 바로 웹 문서와 같이 콘테이너를 벗어나 URL을 통해 사용자나 검색 크롤러가 읽고(보여주고) 저장할 수 있다는 이야기이다.

얼마 전 CSS 창시자인 하콤비움리 국내 강연 중 “HTML5에서 동영상 저작권은 어떻게 해결해야 하나?”라는 질문을 던진 사람이 있다고 한다.

HTML5 동영상이 URL로 자유롭게 제공하여 크롤러나 사람이나 보고 저장할 수 있다는 것을 전제로 한다. 만일 저작권이 중요하다고 판단하는 서비스 제공자는 기존 처럼 콘테이너에 담거나 DRM 솔루션으로 꽁꽁 묶어 제공하면 된다. (Hulu가 HTML5 동영상에 소극적인 이유도 바로 이 때문이다.)

<video>와 <audio> 태그가 HTML5의 기술 사양에 포함된 것은 일찌기 이미지 파일이 그랬듯이 동영상을 통해 더 많은 사람들이 더 많은 정보 공유의 이익을 얻을 수 있기 때문이다.

유튜브에서 음성 인식을 통한 자동 자막 생성 기능을 경험해 보셨다면 이 기능이 얼마나 유용한지 알 수 있을 것이다. 누구나 웹 동영상을 접근할 수 있담면 이를 이용한 다양한 혁신 서비스가 나올 수 있다는 증거 중 하나다.

정보 접근성과 단계적 기능 축소
HTML5 동영상에 대한 또 하나의 관점은 코덱에 관한 것이다. 사파리, 크롬 (그리고 IE9)의 최신 버전은 특허료를 지급해야 하는 H.264(AVC)를 기본 지원하고, 파이어폭스, 오페라, 크롬은 특허 무료인 오픈소스 코덱 ‘오그 테오라’를 지원하고 있다.

세간에서는 웹 코덱 전쟁이라고 칭하면서 어느 코덱이 대세가 될 것인지 이슈꺼리가 되고 있다. Mozilla나 오페라가 지향하는 바는 웹에 어떤 콘텐츠를 저작하거나 제공할 때, 누군가에게 돈을 내야 하는 것은 진정한 웹은 아니기 때문에 특허 무료 코덱을 주장하고 있다.

사실 웹 서비스 업체나 웹 개발자들이 누가 이길지 관망하면서 기다리는 것은 크게 도움이 되지 않는다. 단언하거나 HTML5 표준을 100% 구현하는 웹 브라우저도 없을 뿐더라 100% 같은 사양으로 구현한다는 것은 불가능하다. (과거 W3C의 웹 표준 사양을 100% 구현한 웹 브라우저도 없다.)

웹 개발의 중요한 고려 사항 중 하나는 단계적 기능 축소(Graceful Degradation)라는 개념이다. 자바스크립트를 꺼도 실행이 되고, CSS를 꺼도 보여주어 궁극적으로 HTML만 남아도 중요한 기능은 동작하게 하는 것이다. 우리가 웹 브라우저 호환성(Cross Browser compatibility)를 제공하는 것도 같은 이유이다. 이는 웹 개발자들의 필연적인 업무이다.

동영상 코덱의 경우, ogg나 mp4냐를 관망하는 건 의미가 없는 일이다. 접근성 향상에는 필연적으로 비용이 수반된다. HTML5 동영상 코덱 선택도 단계적 기능 축소 관점에서 접근할 필요가 있다는 의미이다.

구글이 이번 주 Google I/O에사 VP8 코덱을 오픈 소스로 제공하고, 여기에 애플을 제외한 어도비, 모질라, 오페라가 직접 참여하고, 마이크로소프트가 지원을 천명했기에 더욱 그렇다.

우리가 원하는 궁극적인 동영상 제공 방법은 바로 다음과 같이 한 줄의 코드로 요약할 수 있다.


<video>
<source src="openvideo.ogg" type="video/ogg"/>
<source src="openvideo.mp4" type="video/mp4"/>
<embed src="player.swf?openvideo.flv" type="application/x-shockwave-flash" width="480" height="300" allowscriptaccess="always" allowfullscreen="true"/>
</video>

HTML5 동영상은 HTML5의 극히 일부분에 지나지 않는다. HTML5의 수 많은 기술을 정확하게 이해하고 선택하는 것은 ‘웹 개발자’들의 몫이다. 주변에 이야기를 휘둘리기 보다 내가 웹 개발자로서 어떤 판단을 해야 하는지가 더 중요하다는 의미이다.

그것이 우리가 웹 개발자로서 살아가야 하는 의무이자 책임이기도 하다.

여러분의 생각

  1. 좋은 글 잘 읽었습니다 ^^

  2. 자막을 불러올 수 있는 속성이 있으면 좋을 것 같네요.
    지금까지는 플레이어에서 처리하는 방식으로 제작됐지만 img의 alt처럼 subtitle 속성이 있으면 어떨까 해봅니다.

  3. @조현진, 자막에 대해서는 W3C에서 TimedText라는 표준을 만들어 두었지요. (현재 계속 진행 중…)
    http://www.w3.org/TR/2010/CR-ttaf1-dfxp-20100223/

  4. ‘궁극적인’ 제공방법에서 embed 에 swf 플레이어로 재생한다는 것은 HTML5에서 플레이어는 지원하지 않고 코덱만 제공한다는 것인가요?
    video 태그에 player 태그를 통해 처리하는 것이 더 깔끔해보이긴 하는데 말이죠.

  5. 유튜브의 붙여넣기 코드에 옵션을 넣으면 특정 위치에서 재생, 화질 선택등 각종 옵션이 적용 가능하더군요.
    http://webchobo.com/924

    또한 유튜브의 개방성은 유튜브 영상을 이용 여러 언어로 자막을 http://dotsub.com/ 씌워 서비스하거나 마치 별도의 서비스처럼 만들 수 도 있죠.
    http://mar.gar.in/joogunking/web2.0+youtube

    이런 형식의 발전을 HTML5가 불러 올 수 있었으면 좋겠습니다.
    좋은 글 감사합니다.

  6. 단순히 libavcodec 등을 래핑해서 제공하지 않을까 싶었는데, 브라우저 차원에서 코덱별로 대응이 차별화 되는 것은 바람직한 것인지 아닌지 아리송하네요.

의견 쓰기

이름* 이메일* 홈페이지(선택)