영상 데이터 반으로 줄여바쓰 (VAS : Video Admin System 구축)

AWS-VOD(Video On Demand) Service 기술을 곁들인

범범
CJ 온스타일 기술 블로그
5 min readJan 29, 2024

--

CJ온스타일의 새로운 영상관리 시스템(VAS)

안녕하세요 CJ온스타일에서 전시서비스 개발을 맡고 있는 범범입니다.

CJ온스타일의 새로운 영상관리 시스템(VAS)의 기반 기술을 소개합니다.

CJ온스타일의 새로운 영상관리 시스템 VAS: Video Admin System
AWS 영상처리 VOD(Video On Demand) Service 기술 사용

우선 VAS 관리 시스템이 생겨야 했던 배경 중 하나로 숏츠 영상의 대량 제작 및 노출이 있었습니다.

많은 영상을 등록하고, 많은 영상을 노출하며 영상들을 사용자의 취향에 맞게 노출할 수 있는 내부 데이터를 쌓아야 했기에 영상 노출의 최적화 및 관리시스템이 필요했습니다.

💸최대 684,184번의 호출, 5831GB의 요청..

많아지는 영상, 효율적인 데이터 관리를 위한 고민

사용자의 데이터비용과 CDN Cache 비용 등의 요소를 고려하여 최초에 홈탭에 직접 업로드 된 영상을 노출하는 ‘숏핑특가’ 모듈의 업로드 제한 용량은 10MB로, 10MB이상의 용량은 아예 업로드 할 수 없어서 등록자가 직접 용량을 줄인 후 등록해야 했습니다.

이렇게 10MB 이하로 등록된 영상도 6~7MB의 용량의 영상으로 하나의 영상으로 해당 모듈이 전시되는 동안 최대 684,164번 호출 5831GB의 요청이 있었습니다.

이렇게 하나의 영상만 노출할 때도 노출되는 영역에 따라 상당한 호출양이 나온 상태 였고, 여기서 많은 영상들을 등록하고 노출하게 되면 영상을 등록하는 불편함은 물론이고 사용자에게 부과되는 데이터비용과 저희쪽 CDN Cache 비용도 상당할 수 밖에 없는 상태였습니다.

따라서, 등록자의 편의를 위해 용량에 큰 제약 없이 사용자가 영상을 올릴 수 있고 해당 영상의 해상도를 최적화하고 용량을 줄일 수 있는 최적화 시스템이 필요했습니다.

영상을 최적화 해 줄 인코딩 시스템 구축, AWS를 활용한

그렇게 VAS의 기본 영상 인코딩 시스템을 구축할 계획을 세우게 됐습니다. (물론 영상컨텐츠 시스템 통합 등의 여러 등장 배경도 있습니다…ㅎ)

사용 기술은 AWS 서비스를 적극 활용했습니다.

AWS Service Architecture

위 서비스를 간략히 설명드리자면,

  • video file upload & object upload event
  • update setting file & create job for mediaConvert
  • detection mediaConvert Event & encoding
  • put MP3, HLS, Thumbnail & publish SNS
  • subscribe message & update data

VAS에서 영상을 upload 하면 영상이 S3에 upload 되고, 해당 이벤트를 감지하여 lambda에서 job에 사용할 파일 내용을 update하고 mediaConvert에 job을 등록합니다.

mediaConvert가 동작하고 upload 된 동영상 파일을 인코딩하여 MP4파일과 HLS파일, Thumbnail 이미지, 5초 미리보기 MP4영상을 만들어 S3에 보관합니다.

이때, 영상 변환에 실패하거나 lambda 수행 시 오류가 발생하면 전시서비스개발팀 팀즈 채널로 알림이 오게 됩니다.

mediaConvert 작업이 완료되면 SNS로 해당 정보를 publish 하고 SQS를 통해 VAS에서 해당 Message를 subscribe하여 VAS에 등록한 영상 정보를 update 하여 영상 인코딩을 완료합니다.

VAS에서 인코딩 완료 처리 된 영상은 화면에 노출 될 수 있고, cloudFront로 접근하여 S3에 올라간 영상을 확인할 수 있습니다.

여기까지 VAS의 영상 처리 시스템에 대한 설명이었습니다.

해당 서비스 CDK로 빌드 된 템플릿으로 CFN을 통해 배포되고, 콘솔 작업이 아니기 때문에 추가로 다른 시스템에 적용해야 할 경우 CDK 소스배포만 하면 한 벌의 시스템을 더 만들 수 있습니다.

VAS 구축과 최적화 미션 달성

현재는 27초의 고해상도 462MB영상을 업로드하면, 720p의 해상도로 5.7MB 영상으로 인코딩할 수 있습니다.

VAS에 등록되는 숏츠 영상들의 평균 원본 사이즈는 30MB 정도고, 인코딩 후 용량은 평균 2MB로 화면에 노출됩니다. ( 미리보기 영상은 400KB )

반절로 줄여VAS……

VAS 시스템 적용 후 업로드 된 숏핑특가 모듈의 영상 호출에 따른 비용도 최대 642,178번 호출에 2308GB로 요청 데이터도 절감됐습니다.

여기까지 VAS 시스템 개발 배경과 적용 기술의 소개였습니다.

--

--