티스토리 뷰

iOS

iOS ) AVKit과 AVFoundation

Zedd0202 2018. 5. 13. 15:08
반응형

안녕하세요 :) Zedd입니다.

제 친구가 이번에 네이버 핵데이에 참여하게 되었는데, 하는거 보니까 정말 자극이 많이 되더라구요 XD

그래서 저도 만들어보고 싶어졌습니당

네이버 플레이어..!! 앱은 네이버 TV로 바꼈네요

암튼 여러 Gesture를 이용한...플레이어..!!


AVFoundation을 1년전쯤에 써봤었는데, 그때는 문서도 안보고.....남는게 없네요. 역시 문서를 ..봅시다....제발....이번엔...업데이트....잘 해놨길...


아무튼 보다가 AVFoundation은 알겠는데...AVKit은 뭐지?

둘다 미디어와 관련된 프레임워크인데.. 


몰까요 암튼 알아봅시당....차이점이 없을 수도 있고..................별 내용 없을 수도 있고...가볍게 봐주세용

그럼 일단 늘 하던것 처럼 Apple문서를 봅시당!




AVFoundation


시청각 assets 작업, device카메라 제어, 오디오 처리 및 시스템 오디오와의 상호작용 구성
혹시 모르니 영어도 첨부. Work with audiovisual assets, control device cameras, process audio, and configure system audio interactions.


AVFoundation은 Apple플랫폼에서 시청각(audiovisual) 미디어를 캡쳐, 처리, 합성, 가져오기(import), 내보내기(export)를 하는 다양한 작업을 포함한 4개의 주요 기술 영역을 결합한 프레임워크입니다. 

The AVFoundation framework combines four major technology areas that together encompass a wide range of tasks for capturing, processing, synthesizing, controlling, importing and exporting audiovisual media on Apple platforms.


ㅇㅋ...




AVKit


미디어 재생을 위한 View-level서비스를 생성하고, 사용자 제어 기능,  챕터 탐색 기능 및 자막 및 자막 지원 기능을 완벽하게 지원합니다. 
Create view-level services for media playback, complete with user controls, chapter navigation, and support for subtitles and closed captioning.

AVKit은 비디오 컨텐츠를 재생 할 수 있는 고급 인터페이스를 제공하는 프레임워크입니다. (The AVKit framework provides a high-level interface for playing video content.)

오...이렇게 보니까 조금 다른점이 느껴지네요. 뭔가 AVFoundation은 시청각이라니까..뭔가 오디오와 영상 둘다..? 그런거같고, AVKit은 "비디오 컨텐"를 재생 할 수 있는 고급인터페이스를 제공한다니까, AVKit이 AVFoundation보다 비디오에 특화된 프레임워크일까요?


조금 더 찾아보니, 이러한 가이드문서를 발견!




오옹 AVFoundation이 더 밑에? low-level..?프레임워크인 느낌적인 느낌 


그리고 이 그림 밑에 두 프레임워크에 대한 자세한 설명이 나오는데, 같이 봅시다. 


AVFoundation

AVFoundation은 Apple의 iOS, tvOS및 macOS용 미디어 프레임워크입니다. 이 프레임워크를 사용하여 미디어 캡쳐, 편집 및 low-level처리(processing)를 비롯한 다양한 미디어 처리 작업을 수행 할 수 있습니다. 가장 자주사용되는 기능 중 하나는, 미디어 "재생"입니다. AVFoundation을 사용하면, HTTP실시간 스트리밍을 통해 원격으로 제공되는 QuickTime동영상, MP3 오다오 파일 및 시청각(audiovisual) 미디어와 같은 미디어 assets의 재생을 효율적으로 로드하고 제어할 수 있습니다. 

AVFoundation의 기능은 기본 미디어 재생 이상의 기능입니다. 이 프레임워크를 사용한면 descriptive(설명..?) 미디어 메타데이터(descriptive media metadata)를 쉽게 검색 및 표시하고, 자막(subtitles)과 closed captions(자막의 표시 여부를 설정 할 수 있는 자막)을 표시하고, alternative audio(대체 오디오..?) 및 비디오 프레젠테이션을 쉽게 선택 할 수 있습니다. 재생 중에 미디어 샘플의 실시간 처리를 수행하여 미디어를 처리/표시하는 방법을 완벽하게 제어 할 수도 있습니다.


AVFoundation은 풍부한(rich)재생 기능을 제공하는 다양한 기능을 제공합니다. 그러나 이 프레임워크는 사용자 인터페이스 프레임워크(=UIKit)아래에 있기 때문에(위 그림 참고하시면 될 것 같아요.) 재생 제어를 위한 표준 UI를 제공하지 않습니다. 자신의 커스텀 플레이어 인터페이스를 구축하는 것이 가능하지만, 그렇게 하기 위해서는 상당한 작업량이 필요하며, low-level의 AVFoundation 인터페이스에 대한 깊은 이해가 필요합니다. UI를 완벽하게 제어하는 것이 바람직한 경우가 있지만, 더 좋은 해결책은 AVKit프레임워크에서 제공하는 기능에 의존하는 것입니다.


아하!!!!마지막줄을 보니..역시 AVKit이 비디오에 더 특화된게 맞군여ㅛ./

AVKit

AVKit은 AVFoundation위에 구축된 보조 프레임워크입니다.(엥...보조군) AVKit을 사용하면 플랫폼의 기본 재생 환경과 일치하는 앱용 플레이어 인터페이스를 쉽게 제공할 수 있습니다. AVKit은 AVFoundation의 재생 인프라를 사용하여, 재생중인 컨텐츠와 가장 잘 일치하도록 자동으로 조정되는 플레이어 인터페이스를 제공합니다. AVKit을 사용하면, 자막(subtitles)과 closed captions이 자동으로 표시되고, 탐색 가능한 챕터 마커가 표시되며, 대체(alternative) 미디어 옵션을 선택할 수 있는 컨트롤이 제공됩니다. AVKit은 시스템 프레임워크이므로, Playback(재생) 앱은 추가 작업 없이 향후 OS업데이트의 새로운 미학(aesthetics)과 기능을 자동으로 채택합니다.


AVKit은 iOS, tvOS 및 macOS에서 사용 할 수 있습니다. 모든 플랫폼에서 핵심 기능을 많이 공유하지만, 앱에서 사용 할 수 있는 다양한 플랫폼 별 기능을 제공합니다. 


ㅎㅇㅎ

그럼 내가 만들고 싶은건..커스텀 플레이어니까....AVFoundation 프레임워크를 써야하는 군요..!

갸아ㅏㅑㅑ잼땅


출처 : https://developer.apple.com/library/content/documentation/AudioVideo/Conceptual/MediaPlaybackGuide/Contents/Resources/en.lproj/Introduction/Introduction.html#//apple_ref/doc/uid/TP40016757-CH1-SW1

https://developer.apple.com/documentation/avfoundation

https://developer.apple.com/documentation/avkit


반응형