실시간 트랜스코딩

해결하고 싶은 문제

상품상세, 사용자리뷰 동영상의 트랜스코딩은 배치 또는 파이프라인을 통해 진행되는 경우가 많다. 업로드 되는 동영상이 많아지면 목표 시간안에 트랜스코딩이 완료되지 않아 동영상 게시가 지연될 뿐만 아니라 실패처리 비용이 지속적으로 증가한다.

솔루션/패턴 설명

M2 가 클라이언트 요청 동영상을 실시간으로 트랜스코딩한다.

../../_images/dgm020.png

구현

  • 동영상 스토리지/서비스 앞에 M2 를 배치한다.

  • transcoder 을 활성화한다.

    {
      "hosting": [
        {
           "name": "video.example.com",
           "origin": {
             "protocol": "http",
             "address": [ "10.10.10.10", "10.10.10.11" ]
           },
           "functions": {
             "contents": {
               "transcoder": {
                 "meta" : {
                   "enable": true,
                   "keyword": "xcdr"
                 }
               }
             }
           }
         }
       ]
    }
    
  • 트랜스코딩 옵션을 붙여 호출한다.

    https://video.example.com/video.mp4/xcdr/preset/low
    

장점/효과

  • 동영상을 미리 트랜스코딩하지 않아도 된다.

  • 별도의 백엔드 프로세스나 추가 저장공간의 소비가 없다.

주의점

  • 변환되는 동안 클라이언트가 대기하기 때문에 너무 긴 영상에는 적합하지 않다.

  • 우선순위가 높은 동영상이라면 미리 요청해 두는 것만으로 서비스 품질이 개선된다. (Pre-warming)

기타

선별적으로 비표준 동영상(wmv, mov 등)에 대해서만 표준 동영상/ mp4 로 트랜스코딩이 가능하다.