美文网首页iOS相关iOSiOS
iOS8视频硬编码-压缩率关键参数设置

iOS8视频硬编码-压缩率关键参数设置

作者: HearnWING | 来源:发表于2015-07-30 12:00 被阅读9965次

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

来源:H.264的档次和级别

在iOS7.0以上,可以直接选择AVVideoProfileLevelH264BaselineAutoLevel,之前的版本既然我们是实时直播,那就应该选择Baseline级别的了,根据视频分辨率和比特率,选择编码标准,例如标清视频使用AVVideoProfileLevelH264Baseline30。

Github有一个非常好硬编码封装库,简化了编码设置的工作,建议直接使用VideoToolboxPlus

相关文章

网友评论

  • feng_dev:如果想做类似微信小视频的功能,如何找到最适合的码率,比特率设置的数值?求教
    学习才真正开始:我也想知道微信的是怎么压缩的,微信压缩率挺高的,自己写的10s视频压缩后6M左右,微信的才2M左右
    feng_dev:@PPFSaber 目前是用的系统的压缩方法,压缩率较小,比较好实现
    PPFSaber:我也一直被这个问题困扰 你找到解决的方法了吗?
  • 4ab8c0ec851f:首先感谢作者,大致已解决了录制压缩的问题,我回复一下前面几个的问题,给后面的人帮助吧。转码直接用AVAssetExportSession输出就可以。这个文章讲的就是压缩。我本地视频直接用了AVAssetExportPresetMediumQuality一刀砍了,录制视频 压缩至960*540*3,可能还差的就是音频的压缩。
  • puppySweet:这个代码太少了
    linzaifei:@puppySweet 你做过了吗???求指教,,1609781601
  • puppySweet:压缩视频上传怎么搞啊
  • 孙健会员:我的邮箱是2262018106@qq.com
  • 孙健会员:你好 我是孙健 恭喜最近要推流 在应变的时候遇到问题 采集数据都没问题 但是如何进行转码 希望大牛指点
  • 83f97c10fe44:你好,很高兴能看见关于iOS硬编码的文章,最近正在研究,通过您的方式能获得视频流吗?

本文标题:iOS8视频硬编码-压缩率关键参数设置

本文链接:https://www.haomeiwen.com/subject/zaomqttx.html