초기에 숏폼 스트리밍을 구축할 당시 직접 모든 과정을 처리해야할지 아니면 기존 서비스의 도움을 어느 정도 받아야할지 고민이었다.
멘토님의 조언과 6주라는 비교적 짧은 그룹 프로젝트 기간을 고려했을 때 일단 기존 서비스를 이용하는 쪽으로 방향을 잡았고, N Cloud의 VOD station 과 CDN 서비스 중 하나인 Global Edge 를 이용해 숏폼 스트리밍을 제공하였다.
하지만 CDN은 크레딧으로 지원이 안 된다는 것을 뒤늦게 알게 되었다. 돈이 생각보다 많이 나가길래 결국 인코딩과 스트리밍은 서비스를 사용하지 않고 직접 수행하는 쪽으로 변경했다.
이 글에선 어떻게 해당 작업을 진행했는지 간단하게 정리하고자 한다.
각 서비스는 다음과 같은 방식으로 대체하였다.
Q. CDN에서 돈이 나가는건데 왜 VOD station까지 건드나? A. VOD station으로 인코딩만 띡 하는 게 안됐다. 다른 서비스랑 연동해서 사용해야해서 CDN을 없애려니 어쩔 수 없이 VOD station도 떼낼 수 밖에 없었다.
Cloud Function에 인코딩 로직을 구현하기에 앞서 해당 환경에 ffmpeg이 설치돼있어야 했다. Cloud Function을 초기에 설정할 때 다양한 기본 환경을 제공해주지만 전부 다 기초적인 것들만 지원해주는 상황이라 ffmpeg을 사용하려면 Custom Image를 이용해야 했다.
Cloud Function에 Custom Image를 사용하려면 Base OS의 종류라던가 몇가지 지켜야할 사항이 있었는데, 이는 링크에서 확인할 수 있다.