當前位置:編程學習大全網 - 源碼下載 - iOS8視頻硬編碼-壓縮率關鍵參數設置

iOS8視頻硬編碼-壓縮率關鍵參數設置

AVVideoCompressionPropertiesKey:設置對應的值為以下的compressionProperties。

NSMutableDictionary *compressionProperties = [[NSMutableDictionary alloc]init]

[compressionProperties setObject: [NSNumber numberWithInt:height*width*7.5] forKey:AVVideoAverageBitRateKey];

[compressionPropertiessetObject: [NSNumber numberWithInt:10] forKey:AVVideoMaxKeyFrameIntervalKey];

[compressionProperties setObject:AVVideoProfileLevelH264Main30 forKey:AVVideoProfileLevelKey];

AVVideoAverageBitRateKey:視頻尺寸*比率,10.1相當於AVCaptureSessionPresetHigh,數值越大,顯示越精細

AVVideoMaxKeyFrameIntervalKey:關鍵幀最大間隔,1為每個都是關鍵幀,數值越大壓縮率越高

AVVideoProfileLevelKey:?

P-Baseline Profile:基本畫質。支持I/P 幀,只支持無交錯(Progressive)和CAVLC;

EP-Extended profile:進階畫質。支持I/P/B/SP/SI 幀,只支持無交錯(Progressive)和CAVLC;

MP-Main profile:主流畫質。提供I/P/B 幀,支持無交錯(Progressive)和交錯(Interlaced),也支持CAVLC 和CABAC 的支持;

HP-High profile:高級畫質。在main Profile 的基礎上增加了8×8內部預測、自定義量化、 無損視頻編碼和更多的YUV 格式;

實時直播:

低清Baseline Level 1.3

標清Baseline Level 3

半高清Baseline Level 3.1

全高清Baseline Level 4.1

存儲媒體:

低清 Main Level 1.3

標清 Main Level 3

半高清 Main Level 3.1

全高清 Main Level 4.1

高清存儲:

半高清 High Level 3.1

全高清 High Level 4.1

iPad 支持:

Baseline Level 1-3.1

Main Level 1-3.1

High Level 1-3.1

iphone 支持 H.264 視頻最高可達 720p,每秒 30 幀,Main Profile level 3.1

在iOS7.0以上,可以直接選擇AVVideoProfileLevelH264BaselineAutoLevel,之前的版本既然我們是實時直播,那就應該選擇Baseline級別的了,根據視頻分辨率和比特率,選擇編碼標準,例如標清視頻使用AVVideoProfileLevelH264Baseline30。

Github有壹個非常好硬編碼封裝庫,簡化了編碼設置的工作,建議直接使用 VideoToolboxPlus

  • 上一篇:國內視頻會議軟件哪家好
  • 下一篇:如何利用docker快速構建MySQL主從復制環境
  • copyright 2024編程學習大全網