우리팀 안드로이드 분들의 실력이 뛰어나셔서, 개발 속도를 맞추기 위해 4주차까지는 NCP VOD Station 서비스를 사용하여 스트리밍 환경을 구축하였다.

그리고 5주차에는 프로젝트 초창기 때부터 목표했던 VOD Station 대체를 했다!

🤔 어떤 방법으로 대체하는게 좋을까?

가장 먼저 떠올랐던 방법은 client에게 mp4 파일을 받은 뒤, 서버에서 ffmpeg 라이브러리를 사용하여 .m3u8, .ts 파일을 추출하고, NCP Object Storage에 업로드하는 방식이었다.

그런데! 우리는 client가 server에게 직접적으로 mp4 파일을 전달하지 않고, presigned url을 사용해서 NCP Object Storage에 mp4 파일을 직접 업로드하고, VOD Station이 Object Storage에 있는 파일을 읽어서 변환하는 구조였다.

그래서 위 방법으로 하려면 client가 server에게 mp4 파일을 전달하는 방식으로 변경하거나, server가 Object Storage에서 mp4 파일을 다시 가져와야 한다.

하지만 우리가 4주차 때 presigned url을 적용하기 위해 server, client 둘다 이미 완성한 api를 변경하는 작업을 거쳤었기 때문에..! 다시 presigned url 방식을 제거해달라고 차마 말씀드릴 수 없었다 ㅎㅎ

IMG_0355.jpg

                                      고민의 흔적

                                  **고민의 흔적**

Cloud Function을 선택한 이유

Untitled

그리고 가장 중요한건, 서버에서 단순히 ffmpeg을 사용해 hls 변환을 하고, Object Storage에 업로드하는 것이 VOD Station을 대체하는 매력적인 방법이라고 느끼지 못했다. (그냥 ffmpeg이 다 해주는 느낌)

그래서 NCP Cloud Function 같은 서버리스 환경에서 hls 변환을 하는건 어떨까 하는 생각이 들었다.

스크린샷 2023-12-11 154219.png