IJKPlayer参数

/////播放前的探测Size,默认是1M, 改小一点会出画面更快

[_options setFormatOptionIntValue:1024 * 16*0.5 forKey:@"probsize"];

//播放前的探测时间

[_options setFormatOptionIntValue:50000 forKey:@"analyzeduration"];

//软解,更稳定,硬件解码CPU消耗低,

[_options setPlayerOptionIntValue:0 forKey:@"videotoolbox"];

//解码参数,画面更清晰

[_options setCodecOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@"skip_loop_filter"];

[_options setCodecOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@"skip_frame"];

/// 最多缓存

[_options setCodecOptionIntValue:3000 forKey:@"max_cached_duration"];

/// 无限读

[_options setPlayerOptionIntValue:1 forKey:@"infbuf"];

/// 关闭播放缓冲

[_options setPlayerOptionIntValue:0 forKey:@"packet-buffering"];

/// framedrop 是在视频帧处理不过来的时候丢弃一些帧达到同步的效果

[_options setPlayerOptionIntValue:5 forKey:@"framedrop"];

//最大fps

[_options setPlayerOptionIntValue:30 forKey:@"max-fps"];

/// 帧速率(fps)

[_options setPlayerOptionIntValue:29.97 forKey:@"r"];


遇到的问题

1达不到秒开,首屏显示慢,后来把播放前探测时间改为1,

2音画不同步,有同事发现在模拟器的情况下音画不同步,刚开始理解以为是CPU处理画面处理不过来,所以加了framedrop参数 做了丢帧处理,后来才明白是因为模拟器处理效率低,不需要做丢帧处理,


目前我使用的参数是

//    //播放前的探测时间

[_options setFormatOptionIntValue:1 forKey:@"analyzeduration"];

//解,更稳定

[_options setPlayerOptionIntValue:1 forKey:@"videotoolbox"];

你可能感兴趣的:(IJKPlayer参数)