IOS 使用IJKPlayer时进行Options设置方法
来源:互联网 发布:sql的服务器名称 编辑:程序博客网 时间:2024/05/19 06:46
在对ijkplayer进行使用调试的时候(使用FFMoviePlayer),我发现输出栏中有:
===== options =====player-opts : start-on-prepared = 1player-opts : overlay-format = fcc-i420player-opts : max-fps = 60player-opts : framedrop = 0player-opts : videotoolbox-max-frame-width = 960player-opts : videotoolbox = 1player-opts : video-pictq-size = 3format-opts : ijkinject-opaque = 140449007406288format-opts : user-agent = ijkplayerformat-opts : auto_convert = 0format-opts : timeout = 30000000format-opts : reconnect = 1format-opts : safe = 0codec-opts : skip_frame = 0codec-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 使用IJKPlayer时进行Options设置方法
- IOS使用ijkPlayer
- IOS使用ijkPlayer
- IOS使用ijkPlayer
- IOS使用ijkPlayer
- 使用ijkplayer进行视频播放
- IOS使用ijkPlayer(转)
- iOS Bilibili/ijkplayer 集成与使用
- 使用angularjs的ng-options时如何设置默认值(初始值)
- 使用angularjs的ng-options时如何设置默认值(初始值)
- IJKPlayer使用
- Ijkplayer使用
- 使用options对象进行二次采样
- iOS: NSData的方法dataWithContentsOfFile:options:error:
- iOS: NSData的方法initWithContentsOfFile:options:error:
- iOS: NSData的方法rangeOfData:options:range:
- iOS:NSData的方法writeToFile:options:error:
- iOS: NSData的方法rangeOfData:options:range:
- 【机房合作总结篇】——vb.net版机房与C#版对比
- jquery移除、绑定、触发元素事件使用示例详解
- Spring bean的生命周期
- 计算机网络和因特网大二暑假
- 关于TouchEvent中MessageQueue-JNI问题
- IOS 使用IJKPlayer时进行Options设置方法
- Java历史
- Android-开发工具及测试工具
- KMP的应用实例
- Codeforces Round #330 (Div. 1) A. Warrior and Archer
- android的窗口机制分析------事件处理
- Android 获取以太网Mac地址和IP地址
- Handler.post执行时所在线程分析
- little SAS book