ijkplayer 内核选项设置

 

在 ijkplayer 播放器内核中,有很多的选项可以设置,选项设置会影响到放器的具体行为。 进行选项设置时,要切实理解选项产生的影响,不要盲目胡乱设置。

在开发 fijkplayer 的过程中,我也对 ijkplayer 增加了一些额外的选项。 这节内容主要是对这些额外选项设置的说明。附加对部分 ijkplayer 内核中原有的选项进行说明。

选项分类

播放器内核中的选项有 5 中分类,分类作为 setOption 的 category,或者直接使用 FijkOption 中的方法,分类体现在方法名中。

具体的分类有:

  • int formatCategory = 1;
    此分类用来设置 ffmpeg AVFormatContext 中的一下设置,option 会直接传递给 ffmpeg AVFormatContext

  • int codecCategory = 2;
    此分类用来设置 ffmpeg 解码器,在 openCodec 的时候会把 option 传递给 AVCodecContext

  • int swsCategory = 3; 此分类用在目前编译的 ijkplayer 中没有用到

  • int playerCategory = 4;
    这个分类是最常用的。用于设置播放器中的行为

  • int swrCategory = 5;
    此分类用于设置音频重采样时的一些属性,option 会被传递到 SwrContext

fijkplayer 中修改新增 ijkplayer 的属性

cover-after-prepared

playerCategory,取值 0,1

在播放器 prepared 之后对视频进行解码,并把视频第一针画面渲染出来。在一些情况下可以作为封面,但不建议使用。 建议在服务端生成封面,然后在 flutter 中显示图片。

enable-position-notify

playerCategory,取值 0,1

播放器播放过程中,主动将播放进度作为消息进行广播通知。用户订阅进度更新广播,就能一直收到更新提醒

pos-update-interval

playerCategory,取值 [10, 1000] ,取值单位是毫秒

设置上面 enable-position-notify 进行进度更新的时间间隔。设置后关于进度更新的消息会参考此时间间隔进行发送,但不保证完全对齐此间隔。 进度更新消息的间隔还受到视频帧率,以及音频播放回调间隔的影响。

常用 ijkplayer 原有属性解释

seek-at-start

playerCategory,取值 [0,INT_MAX]

seek-at-start 用来设置播放器的起播位置。比如电视剧集跳过片头、或者从用户上次离开位置继续播放。 属性设置取值单位是毫秒。


您的支持是我的动力。你可以通过以下方式支持我:

  • 给该项目点赞   给该项目点赞
  • 关注我的 Github   关注我的 Github
微信赞赏码 支付宝
微信赞赏码 支付宝二维码