mirror of
https://github.com/Monibuca/plugin-rtsp.git
synced 2025-09-26 19:51:14 +08:00
db07f0d5882eba42cf8a3d4cceb460842d8dc7f4

`vpacketer.Packetize`再打包的过程中会把当前的timestamp+samples作为下一次打包的时间戳,如果多slice会连续传递samples导致同一帧的时间戳不一致
RTSP插件
插件地址
github.com/Monibuca/plugin-rtsp
插件引入
import (
_ "github.com/Monibuca/plugin-rtsp"
)
默认插件配置
[RTSP]
# 端口接收推流
ListenAddr = ":554"
Reconnect = true
[RTSP.AutoPullList]
"live/rtsp1" = "rtsp://admin:admin@192.168.1.212:554/cam/realmonitor?channel=1&subtype=1"
"live/rtsp2" = "rtsp://admin:admin@192.168.1.212:554/cam/realmonitor?channel=2&subtype=1"
ListenAddr
是监听的地址Reconnect
是否自动重连RTSP.AutoPullList
可以配置多项,用于自动拉流,key是streamPath,value是远程rtsp地址
特殊功能
当自动拉流列表中当的streamPath为sub/xxx 这种形式的话,在gb28181的分屏显示时会优先采用rtsp流,已实现分屏观看子码流效果
插件功能
接收RTSP协议的推流
例如通过ffmpeg向m7s进行推流
ffmpeg -i **** rtsp://localhost/live/test
会在m7s内部形成一个名为live/test的流
从远程拉取rtsp到m7s中
可调用接口
/api/rtsp/pull?target=[RTSP地址]&streamPath=[流标识]
使用编程方式拉流
new(RTSPClient).PullStream("live/user1","rtsp://xxx.xxx.xxx.xxx/live/user1")
罗列所有的rtsp协议的流
可调用接口
/api/rtsp/list
从m7s中拉取rtsp协议流
直接通过协议rtsp://xxx.xxx.xxx.xxx/live/user1 即可播放
h265 编码拉流尚未实现,敬请期待
Languages
Go
100%