HLS
-
[WWDC20] AVAssetWriter fmp4writer 소스 분석iOS Swift 2023. 6. 9. 11:20
코드 리뷰 이 문서는 WWDC20 Author fragmented MPEG-4 content with AVAssetWriter 세션의 샘플 예제에 대한 코드를 리뷰합니다. 여기서는 해당 프로그램의 구조를 먼저 살펴보겠습니다. Overview 해당 예제는 기본적으로 Combine 을 이용해 파이프라인 형태의 구조를 채택하고 있습니다. Segment Generator는 ReaderWriter에서 세그먼트를 만들어 send(_)를 통해 해당 세그먼트를 퍼블리시합니다. 해당 세그먼트는 Segment File Writer에서 세그먼트를 수신할 때마다 해당 세그먼트를 설정된 출력 디렉토리에 세그먼트 파일을 생성합니다. 그 와 함꼐 Reduce 에서 세그먼트와 함께 수신된 AVAssetSegmentReport를 통해..
-
[WWDC20] AVAssetWriter를 이용한 fragmented MPEG-4 ContentiOS Swift 2023. 6. 8. 14:34
iOS14에 AVAssetWriter에 fragmented MPEG-4 파일 형식의 미디어 데이터를 출력할 수 있도록 기능이 추가되었습니다. Apple HLS는 MPEG-2 전송 스트림, ADTS 및 MPEG 오디오와 같은 형식을 지원하지만 이 기능은 Fragmented MP4에만 해당됩니다. 해당 강의에서 VOD 와 라이브 스트리밍에 어떻게 사용될 수 있는 예시를 보여줍니다. Fragmented MPEG-4(fMP4)는 ISO에 정한 미디어 파일 포맷으로 2016년 부터 Apple HTTP Live Streaming에서 지원되어왔습니다. 간단하게 전통적인 MP4 파일과 fMP4 파일을 살펴보면 다음과 같은 구조를 같습니다. MP4 파일에는 파일 타입, 모든 샘플 데이터에 대한 정보를 구성하는 Movie..