|
C++源码可商用的,功能丰富、高性能、高可扩展的流媒体服务
支持RTSP、RTMP、WEBRTC、GB28181、HTTP-FLV、HLS、JT1078等协议。各个协议可以单独剥离出来,相互独立;也可以互相转换协议。
软件架构1.协议转封装流程
C++源码可商用的,功能丰富、高性能、高可扩展的流媒体服务
功能RTSP
- 作为服务端,支持客户端推拉流
- 作为客户端,支持向其他服务器推拉流
- 支持rtp over udp、tcp
- 支持rtp封装ps
- 支持超大rtp(type=huge或者type=hugePs)
- 支持加速pts,降低延时(type=fastPts)
- 支持264/265/vp8/vp9, aac/g711/opus
RTMP
- 作为服务端,支持客户端推拉流
- 作为客户端,支持向其他服务器推拉流
- 支持enhanced h265(type=enhanced)
- 支持加速pts,降低延时(type=fastPts)
- 支持264/265/av1/vp9, aac/g711/opus
GB28181
- 作为服务端,支持客户端推拉流
- 作为客户端,支持向其他服务器推拉流
- 支持rtp over udp、tcp
WEBRTC
- 作为服务端,支持客户端拉流
- 作为服务端,支持客户端推流
- 作为客户端,向其他服务器推拉流
- 支持whip/whep
- 支持264/265/vp8/vp9/av1, g711/opus
HTTP-FLV
- 作为服务端,支持客户端拉流
- 作为客户端,向其他服务拉流
HLS
- 作为服务端,支持客户端拉流
- 作为客户端,向其他服务拉流
- 支持实时hls(本人魔改的hls;Android微信可播;)
- 支持ll-hls
HTTP-TS
- 作为服务端,支持客户端拉流
- 作为客户端,向其他服务拉流
HTTP-PS
- 作为服务端,支持客户端拉流
- 作为客户端,向其他服务拉流
SRT
- 作为服务端,支持客户端推拉流
- 作为客户端,向其他服务推拉流
EHOME2
HTTPS
WEBSOCKET(ws/wss)
- 作为服务端,支持客户端拉流,如flv,ts等
- 作为服务端,接收对讲数据
JT1078
点播
录制
安装教程- mkdir build
- cd build
- cmake ..
- make -j4
- 如果需要ssl功能,将conf下的sms.com.crt和sms.com.key,拷贝到build目录
- 如果需要前端页面实例,拷贝research到build目录,http的根目录默认是build
- gcc版本最好大于8
- 如果不想编译源码,进群找我要二进制执行文件
使用说明- 检查配置,如 server.conf,将其拷贝到build目录
- 运行程序:./SimpleMediaServer
- 用ffmpeg推流:ffmpeg -re -i inputfile -c copy -f flv rtmp://ip:port/live/test
- 用vlc播放
- rtsp地址:rtsp://ip:port/live/test
- rtsp地址:rtsp://ip:port/live/test?type=ps(rtp封装ps)
- rtmp地址:rtmp://ip:port/live/test
- http-flv地址:http://ip:port/live/test.flv
- hls地址:http://ip:port/live/test.m3u8
- 实时hls地址: http://ip:port/live/test.sms.m3u8
- webrtc获取sdp:http://ip:port/api/v1/rtc/play
- srt: srt://ip:port?steamid=|path:/live/test|request:pull|

链接:https://pan.quark.cn/s/0fc268de6b62
提取码下载:
|
|