9 Star 24 Fork 17

ztwlla / RelayLive

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

RelayLive

地址:

说明:

  • ipc_server: 进程间通讯和进程保护的工具
    • pm.json 配置文件,需要启动的程序信息。

对接视频流

  • relay_server: 将视频流转为ws-flv,流可以为rtsp、rtmp、hls等(理论上可以,只使用过rtsp)
    • 客户端请求格式为(不包含[]) http(ws)://IP:port/relay?url=[rtsp地址]&hw=[960*480]&type=[flv]&probsize=[102400]&probtime=[2]&outcatch=[16384]
      • url 原始视频地址
      • 其他参数见下
  • relayctrl_server: 查看客户端信息

对接国标gb28181平台

  • sip_server: sip服务器,用来与下级平台交互
  • live_server: 将下级推送的基于PS的rtp流转为ws-flv
    • 客户端请求格式为(不包含[]) http(ws)://IP:port/live?code=[code]&hw=[960*480]&type=[flv]&probsize=[102400]&probtime=[2]&incatch=[16384]&outcatch=[16384]
      • code 相机的国标编码,必填项
      • hw 可选, 用来缩放视频大小, 默认不进行缩放. 用来缩小视频,只有填写的值小于视频原始值才生效
      • type 可选, 指定媒体封装格式,默认为flv. 可以是mp4、h264等, 另找播放方式
      • probsize 可选, ffmpeg探测流信息的缓冲大小,不指定时使用配置文件里的值,配置文件也未指定时默认25600. ffmpeg默认值为5000000
      • probtime 可选, ffmpeg探测流信息的缓冲时间,不指定时使用配置文件里的值,配置文件也未指定时默认1秒. ffmpeg默认值为0, 不同格式时间不一,ps流是7秒
      • incatch 可选, ffmpeg读取内存中ps流数据的缓存大小,不指定时使用配置文件里的值,配置文件也未指定时默认1024*16.
      • outcatch 可选, ffmpeg输出转换后的数据的缓存大小,不指定时使用配置文件里的值,配置文件也未指定时默认1024*16.
  • livectrl_server: 查看设备信息、客户端信息、设备控制

编译方法

  • 平台: Windows vs2012
  • 用vs打开RelayLive.sln,按顺序编译ThirdParty、Common、Modules、Projects下的项目。
  • 在输出目录部署配置文件pm.json,config.txt和脚本文件 XXX.lua。
  • 从thirdparty/libffmpeg拷贝对应的dll到输出目录。
  • 使用ipc_server启动
  • http-flv和websocket-flv都可以,但最好使用websocket-flv,免的出现跨域问题
  • 只保留了视频,音频丢弃了。

nginx

  • 页面demo静态文件通过nginx来访问
  • 信息查询和设备控制等http请求通过nginx转发到XXXctrl_server
  • 视频播放请求通过nginx进行负载均衡,转发到对应的视频服务

第三方:

Comments ( 20 )

Sign in for post a comment

About

视频服务中继,转换传输协议。将rtsp、gb28181转为html5可以直接播放的协议。 spread retract
Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more
C++
1
https://gitee.com/ztwlla/RelayLive.git
git@gitee.com:ztwlla/RelayLive.git
ztwlla
RelayLive
RelayLive
master

Search