AVFoundation - 비디오의 인코딩(압축) 및 업로드(3) - 업로드 개선
2023. 3. 21. 17:26ㆍiOS/이슈
짧은 비디오가 아니라 20분가까이 되는 비디오이다 보니 압축과 업로드에 유저가 불편함을 느낄 정도로 시간이 많이 소요된다. 해서 업로드 부분을 탭바가 책임지도록 변경했다.
피드 업로드에서 비디오와 제목/컨텐트 등의 데이터로 피드DTO로 가공하여 탭바-뷰모델로 넘겼다. 이 과정에서 2가지 에러가 발생했다.
하나는 AssetReader 참조 에러
이 과정에서
ARC에 의해 assetReader가 먼저 Release되는 에러가 발생했다.
cannot copy next sample buffer before adding this output to an instance of AVAssetReader
나머지 하나는 Memory Crash
용량이 큰 비디오에서 메모리 때문에 앱이 튕기는 현상이 발견되었다. 전에도 해당 이슈가 발생하였다.
Observable.zip()으로 프리뷰 비디오 압축 완료와 원본 비디오 압축 완료를 기다린 뒤 AWS 업로드를 처리했는데 용량이 큰 비디오의 경우 발생하였다. 이 이슈를 압축 완료 -> 업로드 완료까지 진행 후 대기하는 것으로 변경하여 해결하였었다. 이번엔 core Data를 이용해 저장 후 나중에 다시 불러오는 방식으로 해결해야겠다.
포스팅 계속 업데이트 예정입니다~
에러 검색하다가 좋은 소스 발견했다. 득템한 기분 ㅎ
https://www.jianshu.com/p/32c33300eb10
'iOS > 이슈' 카테고리의 다른 글
동영상 피드 스크롤 시 중앙의 비디오만 재생되는 기능 (1) | 2023.03.29 |
---|---|
Nested ScrollView - 프로 프로필 피드 탭 구현 (0) | 2023.03.29 |
AVFoundation - 비디오의 인코딩(압축) 및 업로드(2) - AssetReader / Writer 이용 (0) | 2023.03.20 |
AVFoundation - 비디오의 인코딩(압축) 및 업로드(1) - Export Session 이용 (0) | 2023.03.18 |
잘못된 코드로 인하여 AWS 폭탄 맞은 이야기 (0) | 2023.03.17 |