개요
앱의 핵심 컨텐츠가 10초 길이의 영상을 보는 것이었기 때문에, 영상 자르기 기능이 필요
영상 잘라내기 라이브러리를 처음부터 끝까지 만들어내는 것은 프로젝트의 규모를 뛰어넘는 작업이라고 판단, GitHub의 오픈 소스 라이브러리를 사용하기로 결정
찾아낸 영상 자르기 라이브러리
에서 영상 압축기능까지 지원하고 있어 선택
발생 이슈
원작자가 라이브러리의 개선을 정지 - PR을 제출하여 Contribute 하는 것은 불가능
UI 개선의 필요성 - 라이브러리가 영상 잘라내기 액티비티 자체를 제공해주고 있었음. 그러나 DailyFilm 앱의 디자인 통일성을 해치게 됨
압축 산출물의 어중간한 용량 - 영상 데이터의 용량을 줄이기 위해 압축 옵션을 선택하였으나, 그럼에도 불구하고 빠르게 늘어나는 트래픽을 보고 압축률 개선의 필요성을 절실히 느낌
개선 사항
라이브러리 fork 및 재배포
Read-only
로 변경된 원본 라이브러리에 직접적인 Contribute는 불가능 했음
직접
개인 레포지토리에 fork
해서
재배포
하기로 결정
GitHub Release
와
jitpack.io
를 활용
DailyFilm 프로젝트에서 재배포한 라이브러리를 import
압축 인코더 변경
압축 과정 분석
선택한 라이브러리는 영상 압축 기능도 제공하고 있었음
내부 코드를 살펴보니, FFmpeg 명령어로 압축 옵션을 설정하고 있었고 인코더는
MPEG4
사용 (H.264가 아닌,
MPEG-4 Part 2
)