2010-07-15 73 views
11

哪些視頻格式與iPhone的資產庫兼容?什麼視頻格式與資產庫兼容?

換句話說,對於什麼樣的視頻格式,ALAssetsLibrary的videoAtPathIsCompatibleWithSavedPhotosAlbum會返回YES?

我似乎無法在iPhone參考庫中找到關於此的任何信息。

回答

2

如果我猜的話,我可能會使用iPhone's own specifications作爲測試的指導原則:支持

視頻格式:H.264視頻高達720p,每秒30幀,主型材水平3.1 AAC- LC音頻,最高160 Kbps,48kHz,立體聲音頻,格式爲.m4v,.mp4和.mov; MPEG-4視頻,高達2.5 Mbps,640×480像素,每秒30幀,Simple Profile,帶AAC-LC音頻,每通道160 Kbps,48kHz,立體聲音頻,.m4v,.mp4和.mov文件格式; Motion JPEG(M-JPEG)高達35 Mbps,1280 x 720像素,每秒30幀,ulaw音頻,.avi文件格式的PCM立體聲音頻

+0

感謝您的猜測,但我想有一個更明確的答案。任何人都在意做一些測試來驗證這一點? – Avalanchis 2011-04-28 21:11:32

+0

蘋果自己的規格會出錯是不是很奇怪,你不覺得嗎? – 2011-04-28 21:32:31

+0

僅僅因爲iPhone支持給定的視頻格式,並不一定意味着有問題的API接受它。雖然我沒有任何資料可以建議,但我希望有人能證實它確實支持這些格式。 – Avalanchis 2011-04-29 16:45:11

4

如果您需要支持的音頻/視頻技術列表請閱讀iOS技術概述,特別是Media Layer(向下滾動至「Video Technologies」所在的位置)。

iOS中支持 與 .MOV,.MP4,電影的.m4v文件的播放,並.3gp使用文件名擴展 和使用的視頻技術,以下 壓縮標準:

  • H.264視頻,高達1.5 Mbps,640×480像素,每秒30幀, 低複雜度版本的H.264 AAC-LC音頻上調的基線配置文件 到160 Kbps,48 kHz,立體聲音頻在 .m 4V,.mp4和.mov格式

  • H.264視頻,高達768 Kbps的,320×240像素,每秒30幀, 基線簡介達到Level 1.3 AAC-LC音頻,高達160 Kbps的,48kHz時,在的.m4v,的.mp4 立體聲音頻和.MOV 文件格式

  • MPEG-4視頻,高達2.5 Mbps的,640×480像素,每秒30幀, 簡單配置文件AAC-LC音頻高達 160 Kbps,48 kHz,立體聲音頻 .m4v,.mp4和.mov文件格式

  • 衆多音頻格式,包括的那些「音頻 技術」

這對iOS中的媒體框架下的參考信息中列出。

14

沒有人提到過這一點,但它取決於iPhone/iOS設備。在製作一個試圖將Flickr視頻複製到相冊中的應用程序時,當我在writeVideoAtPathToSavedPhotosAlbum上收到無效的數據結果時,我非常沮喪:需要使用非Retina iPhone。

我按照這個問題的要求,對各種尺寸的Flickr視頻進行了一些videoAtPathIsCompatibleWithSavedPhotosAlbum測試。

 
            iPhone  iPhone  iPad 
           (non-Retina) (Retina) 
6119419764_orig.mov 
H.264, 1,920 x 1,080    NO    NO   NO 
Linear PCM, 16 bit 
little-endian signed 
integer, 48000 Hz, 
Stereo (L R) 
35.33 Mbit/s 

6119419764_hd.mp4 
AVC Coding, 1,280 x 720   NO    YES   YES 
AAC, 44100 Hz, Stereo (L R) 
2.15 Mbit/s 

6119419764_site.mp4 
AVC Coding, 640 x 360    NO    YES   YES 
AAC, 44100 Hz, Stereo (L R) 
833.71 kbit/s 

6119419764_mobile.mp4 
AVC Coding, 568 x 320    YES   YES   YES 
AAC, 32000 Hz, Mono 
775.14 kbit/s 

6121206003_orig.mov 
(Taken with iPhone 3Gs)   
H.264, 480 x 360     YES   YES   YES 
AAC, 44100 Hz, Mono 
865.94 kbit/s 
30 fps 

6110638568_reformat.mov 
H.264, 640 x 360     YES   YES   YES 
AAC, 44100 Hz, Mono 
3.57 Mbit/s 

基於這種有限的測試,對於給定的格式和設備,它看起來像大小最重要。 (對於目前的Flickr的編碼方法和url schememobile視頻上的所有iOS設備的相冊工作,而hdsite視頻僅在視網膜iPhone和iPad的工作。)

一個有趣的注意的是,高清視頻將發揮在使用MPMoviePlayerController的非視網膜iPhone上 - 您無法將它們保存到相冊中。

+1

好的詳細圖表!有趣的是,我還沒有找到MPMoviePlayerController會播放高分辨率視頻的情況,這種視頻不會進入CameraRoll - 尤其是使用Galaxy S5拍攝的視頻(不確定哪些設置,要求QA使用最高質量)獲勝甚至不會在iPhone 5C上玩(不會嘗試5S)。但是我沒有提供關於視頻特徵的詳細信息。 – 2014-08-11 06:49:53

0

似乎沒有文檔記錄的方式來查詢什麼格式會使videoAtPathIsCompatibleWithSavedPhotosAlbum高興,而設備可以解碼某種格式的事實並不意味着AssetLibrary將接受它。 但是,您會期望配備相機的設備始終能夠將相機的最高分辨率輸出保存到相機膠捲。

如果你能忍受這種假設,那麼你所要做的就是枚舉AVCaptureDevices並用supportsAVCaptureSessionPreset查詢各種預設。

Victor的測試顯示像素區域似乎最重要,所以一旦你詢問了 AVCaptureSessionPreset1920x1080, AVCaptureSessionPreset1280x720, AVCaptureSessionPreset640x480你應該能夠選擇一個大小,使videoAtPathIsCompatibleWithSavedPhotosAlbum說YES。

我不知道如何找出沒有攝像頭的設備。

3

我最近在我的超高速相機應用程序SnappyCam Pro中添加了視頻導出功能,用於生動照片劇照。

爲配合新舊設備一樣,我結束了創建幾個MPEG-4「探針」的視頻,各自具有單個黑幀,在各種4:3分辨率:

  1. 320x240px
  2. 640x480px
  3. 960x720px
  4. 1440x1080px

四個視頻文件僅增加了12KB到App捆綁。

然後通過遍歷每個與-[ALAssetsLibrary videoAtPathIsCompatibleWithSavedPhotosAlbum:],然後我能夠確定哪些選項是有效的最終相機膠捲視頻導出。

+0

不錯!我喜歡這種方法 – 2014-02-25 23:22:10