JESSICA 插件
通过 Websocket 传输音视频数据,使用 Jessibuca 播放器进行播放。
插件地址
https://github.com/Monibuca/plugin-jessica
插件引入
go
import _ "m7s.live/plugin/jessica/v4"
配置
可配置 WS 协议和 WSS 协议监听地址端口
yaml
jessica:
http:
listenaddr: :8080 # 网关地址,用于访问API
listenaddrtls: "" # 用于HTTPS方式访问API的端口配置
certfile: ""
keyfile: ""
cors: true # 是否自动添加cors头
username: "" # 用户名和密码,用于API访问时的基本身份认证
password: ""
subscribe:
subaudio: true # 是否订阅音频流
subvideo: true # 是否订阅视频流
subaudioargname: ats # 订阅音频轨道参数名
subvideoargname: vts # 订阅视频轨道参数名
subdataargname: dts # 订阅数据轨道参数名
subaudiotracks: [] # 订阅音频轨道名称列表
subvideotracks: [] # 订阅视频轨道名称列表
submode: 0 # 订阅模式,0为跳帧追赶模式,1为不追赶(多用于录制),2为时光回溯模式
syncmode: 0 # 音视频同步模式,0 为按照时间戳同步,1 为按照写入时间同步
iframeonly: false # 只订阅关键帧
waittimeout: 10s # 等待发布者的超时时间,用于订阅尚未发布的流
writebuffersize: 0 # 订阅者写缓存大小,用于减少io次数,但可能影响实时性
key: "" # 订阅者鉴权秘钥
secretargname: secret # 订阅者鉴权参数名
expireargname: expire # 订阅者鉴权过期时间参数名
internal: false # 是否内部订阅,内部订阅不会触发发布者自动断开功能
协议说明
该插件提供 websocket 格式的协议供 jessibuca 播放器播放。
WS-RAW
地址格式:ws://[HOST]/jessica/[streamPath]
该协议传输的是私有格式,第一个字节代表音视频,1 为音频,2 为视频,后面跟 4 个字节的时间戳,然后接上字节流(RTMP 的 VideoTag 或 AudioTag)
WS-FLV
- 地址格式:ws://[HOST]/jessica/[streamPath].flv
- 该协议传输的 flv 格式的文件流
Raw-H26x
- 地址格式:
<http|ws>://[HOST]/jessica/[streamPath].<h264|h265>
- 该协议传输裸流格式的 H264 或 H265 数据