快速使用


在首页下载最新的可执行文件,与可执行文件一并下载的还包含

  • /kplayer.yaml.example

创建下方格式配置文件并与kplayer可执行文件放置同一目录。

其中需要自定义填写需要播放媒体资源完整路径与需要推流的资源uri

(推流资源uri一般由直播平台提供满足rtmp协议的推流地址)


version: "1.0"
player:
  media:
    list:
      - "/path/example1.mp4"
      - "/path/example2.mp4"

  output:
    type: rtmp
    path: "rtmp://127.0.0.1:1935/push"

至此,大功告成。运行 ./kplayer 开始资源播放

配置文件说明


version

当前配置文件版本号,用于程序支持不同版本配置文件格式

player

关于播放器相关配置

media

媒体资源相关配置

list

播放器媒体资源列表

类型:数组

必要参数: 是

示例:


- "/path/example1.mp4"
- "/path/example2.mp4"
start (v0.2.3+)

播放器媒体资源列表起始索引。若存在该值,第一次播放从该索引值向下播放,只影响首次列表循环。索引值从1开始

类型:>0 并且 < 播放列表总数

必要参数:否

示例:


player:
  media:
    start: 2 # 起始索引值,第一次播放开始媒体资源索引
decode

配置输入资源参数

type

配置输入媒体资源类型

类型:字符串

可选值:

  • file (文件类型)

必要参数:否

示例:


type: "file"
encode

配置编码参数

video_width

配置视频输出分辨率宽度值

类型:整形

默认值:720

示例:


video_width: 720
video_height

配置视频输出分辨率高度值

类型:整形

默认值:480

示例:


video_height: 480
video_fps

配置视频输出帧率(FPS)

类型:整形

默认值:30

示例:


video_fps: 30
audio_sample_rate

配置音频输出采样率

类型:整形

默认值:48000

可选值:44800 、44800

示例:


audio_sample_rate: 48000
bit_rate

配置输出平均比特率

类型:整形

默认值:0 (使用原视频转码后比特率)

示例:


bit_rate: 2000
quality

配置输出视频资源质量

类型:整形

默认值:0 (使用默认转码后视频质量)

取值区间:0-20 (取值越大,压缩程度越高。视频清晰度降低、比特率与网络资源占用更小)

示例:


quality: 10
output

配置终端输出目标相关参数

type

配置播放器最后输出源类型

类型:枚举

必要参数:是

可选值:

  • file (输出为文件类型)
  • rtmp (输出为rtmp直播推流类型)

示例:


type: rtmp
auto_reconnect

是否在输出源异常断开时尝试重新连接

类型:布尔

默认值:false

示例:


auto_reconnect: true
path

配置输出源路径或uri。可配置单路推流或多路推流

类型:数组或字符串

必要参数:是

示例:


# 字符串类型,单路推流
path: "rtmp://127.0.0.1:1935/live"

# 数组类型,多路推流
path: 
  - "rtmp://127.0.0.1:1935/live1"
  - "rtmp://127.0.0.1:1935/live2"
cache (v0.3.0+)

是否使用内建缓存机制,在对媒体资源完整的编解码操作后。在Cache目录生成缓存文件,下次进行媒体推流直接使用缓存文件。避免重复的编解码操作,降低CPU、内存资源占用。

类型:布尔

默认值:false

示例:


cache: true
connect

配置连接类型,通常用于配置编码器、插件等关联选项

type

选择connect连接方式

类型:枚举

默认值:single

可选值:

  • single (使用单线程调度)
  • mulit (使用多线程调度)

示例:


type: single
loop

配置是否在播放器播放完成之后重新调用列表进行循环播放

类型:布尔

默认值:false

示例:


loop: true
api (v0.3.0+)

配置RESTful风格的api接口参数

address

程序运行成功后监听的满足ipv4地址。如:0.0.0.0 127.0.0.1

默认值 0.0.0.0

port

配置程序运行成功后监听的端口,默认值 4156

plugin

配置预加载插件,此配置选项用于配置播放器初始化后需要加载的插件。

数组类型,在使用本配置选项时请先阅读插件提供方支持的插件参数。

该示例使用了libVideoShowFileNamePlugin插件,通过插件支持的font_size与font_color参数传入插件中进行个性化定制


- file "libVideoShowFileNamePlugin"
  params:
    font_size: "17"
    font_color: "white"

该选项必须为数组类型,参数说明如下:

  • file (插件名称,该取值需与plugin/下插件文件名不包含扩展名,保持一致
  • params (插件自定义参数)

插件一般为目标平台动态链接库文件,插件必须存在于当前可执行文件同级的plugin目录中。配置文件中不需要包含文件扩展名,但文件名称需要保持一致

常见问题


推流过程中会自动断开

在一些直播平台上,会存在节省资源的关闭策略或存在版权不允许的情况,会出现主动切断直播权限或推流无法播放的问题。您可设置播放器为自动重连,在网络异常或主动断开推流情况下,重新开启直播后继续播放

短暂的CPU占用波动情况

转码过程中,针对不同的视频资源编解码效率不同。异或当前时刻多插件活动时刻,造成CPU短暂上升