(一)前言
視頻內(nèi)容的捕捉赏廓。當設置捕捉會話時,添加一個名為AVCaptureMovieFileOutput的輸出傍妒。這個了定義了方法將QuickTime 影片捕捉到磁盤幔摸。這個類大多數(shù)核心功能繼承于超類AVCaptureFileOutput.這個超類定義了許多實用功能。比如錄制到最長時限或錄制到特定文件大小時為止颤练。還可以配置成保留最小可用的磁盤空間既忆。這一點在存儲空間有限的移動設備上錄制視頻時非常重要。
? 通常當QuickTime影片準備發(fā)布時嗦玖,影片頭的元數(shù)據(jù)處于文件的開始位置患雇。這樣可以讓視頻播放器快速讀取頭包含信息,來確定文件的內(nèi)容宇挫、結構和其包含的多個樣本的位置苛吱。不過,當錄制一個QuickTime影片時器瘪,直到所有的樣片都完成捕捉后才能創(chuàng)建信息頭翠储。當錄制結束時,創(chuàng)建頭數(shù)據(jù)并將它附在文件結尾處橡疼。
將創(chuàng)建頭的過程放在所有影片樣本完成捕捉之后存在一個問題援所,尤其是在移動設備的情況下。如果遇到崩潰或其他中斷欣除,比如有電話撥入住拭,則影片頭就不會被正確寫入,會在磁盤生成一個不可讀的影片文件历帚。 AVCaptureMovieFileOutput 提供一個核心功能就是分段捕捉QuickTime影片废酷。
? ? 當錄制開始時,在文件最前面寫入一個最小化的頭信息抹缕,隨著錄制的進行澈蟆,片段按照一定的周期寫入,創(chuàng)建完整的頭信息卓研。默認狀態(tài)下趴俘,每10秒寫入一個片段睹簇,不過這個時間的間隔可以通過修改捕捉設備輸出的movieFragentInterval屬性來改變。寫入片段的方式可以逐步創(chuàng)建完整的QuickTime影片頭寥闪。這樣確保了當遇到應用程序崩潰或中斷時太惠,影片仍然會以最好的一個寫入片段為終點進行保存。我們用默認的間隔來做這demo疲憋,但是如果你可以在你的的APP修改這個值凿渊。
小伙伴們閱讀后,請喜歡一下缚柳。文章更新可以提醒到你哦~~~~