IOS 使用IJKPlayer时进行Options设置方法
2016-01-29 16:09
621 查看
在对ijkplayer进行使用调试的时候(使用FFMoviePlayer),我发现输出栏中有:
这就是当前player的一些选项,那么我们再看看ffoptions中包含的东西:
这里的category就是对应上面的option的,
那么我们怎么改变这些参数呢,我们继续往下看FFoptions:
我们可以看到,作者提供了这样的设置接口给我们
那么根据这个我们就可以在初始化播放器时对options进行调整:
比如这样:
“`
IJKFFOptions *options = [IJKFFOptions optionsByDefault];
[options setOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@”skip_frame” ofCategory:kIJKFFOptionCategoryCodec];
[options setOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@”skip_loop_filter” ofCategory:kIJKFFOptionCategoryCodec];
[options setOptionIntValue:1 forKey:@”videotoolbox” ofCategory:kIJKFFOptionCategoryPlayer];
[options setOptionIntValue:60 forKey:@”max-fps” ofCategory:kIJKFFOptionCategoryPlayer];
_player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
“`
这里要注意几个地方
Options初始化不能少[IJKFFOptions optionsByDefault],然后可能由于一些误解可能会使用错函数:setvalue forkey,然后忽略了category,导致设置不成功。
至于ffmpeg内部的options呢就只能自己去configure里面设置了
===== options ===== player-opts : start-on-prepared = 1 player-opts : overlay-format = fcc-i420 player-opts : max-fps = 60 player-opts : framedrop = 0 player-opts : videotoolbox-max-frame-width = 960 player-opts : videotoolbox = 1 player-opts : video-pictq-size = 3 format-opts : ijkinject-opaque = 140449007406288 format-opts : user-agent = ijkplayer format-opts : auto_convert = 0 format-opts : timeout = 30000000 format-opts : reconnect = 1 format-opts : safe = 0 codec-opts : skip_frame = 0 codec-opts : skip_loop_filter = 0 ===================
这就是当前player的一些选项,那么我们再看看ffoptions中包含的东西:
typedef enum IJKFFOptionCategory { kIJKFFOptionCategoryFormat = 1, kIJKFFOptionCategoryCodec = 2, kIJKFFOptionCategorySws = 3, kIJKFFOptionCategoryPlayer = 4, } IJKFFOptionCategory;
这里的category就是对应上面的option的,
那么我们怎么改变这些参数呢,我们继续往下看FFoptions:
我们可以看到,作者提供了这样的设置接口给我们
- (void)setOptionValue:(NSString *)value forKey:(NSString *)key ofCategory:(IJKFFOptionCategory)category; - (void)setOptionIntValue:(int64_t)value forKey:(NSString *)key ofCategory:(IJKFFOptionCategory)category;
那么根据这个我们就可以在初始化播放器时对options进行调整:
比如这样:
“`
IJKFFOptions *options = [IJKFFOptions optionsByDefault];
[options setOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@”skip_frame” ofCategory:kIJKFFOptionCategoryCodec];
[options setOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@”skip_loop_filter” ofCategory:kIJKFFOptionCategoryCodec];
[options setOptionIntValue:1 forKey:@”videotoolbox” ofCategory:kIJKFFOptionCategoryPlayer];
[options setOptionIntValue:60 forKey:@”max-fps” ofCategory:kIJKFFOptionCategoryPlayer];
_player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
“`
这里要注意几个地方
Options初始化不能少[IJKFFOptions optionsByDefault],然后可能由于一些误解可能会使用错函数:setvalue forkey,然后忽略了category,导致设置不成功。
至于ffmpeg内部的options呢就只能自己去configure里面设置了
相关文章推荐
- IOS开发之——蓝牙通信浅谈
- iOS粘性拖拽红点动画研究
- iOS--新建工程需知
- 解决iOS开发中涉及到的retain cycle导致控制器无法释放的问题
- 用 NSURProtocol 注入测试数据
- iOS 项目中添加pch文件
- iOS:基于Socket的第三方框架CocoaAsyncSocket的使用
- 致2015最后2个月ios开发
- iOS加载Html文件时不能显示图片
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- [IOS 开发] __block的用途和实现原理
- iOS开发~CocoaPods使用详细说明【转】
- iOS远程推送服务
- iOS 支付宝的使用
- iOS开发-Quartz2D绘制时定时器选择
- iOS发布应用透明图标转非透明图标
- [iOS]集成环信SDK然后运行时候crash了-[NSBundle initWithURL:]: nil URL argument'
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- ios高效开发-理解属性和正确的使用属性
- IOS 运行时 Runtime 今天开始学习