Sign inSign up

panjjo/zlmediakit

By panjjo

•Updated about 4 years ago

项目地址:https://github.com/xia-chu/ZLMediaKit

Image
30

100K+

panjjo/zlmediakit repository overview

logo

⁠项目地址⁠

⁠一个基于C++11的高性能运营级流媒体服务框架

⁠docker说明

  • 快速体验:docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit
  • 项目内ffmpeg为新增h265自编译版本(安装目录 /usr/local/ffmpeg,已添加PATH可直接使用)
  • 项目主目录为 /zlmediakit
  • 程序运行入口 /zlmediakit/MediaServer 配置文件默认获取/zlmediakit/config.ini 如需修改配置文件请使用文件挂载
  • 程序运行过程中所产生的数据默认存在 /zlmediakit/www 中。可以使用目录挂载将www数据挂载到container外部以防容器重启造成数据丢失,并且可做请求负载均衡(同时挂在NFS等方式)。
  • 对外端口(具体端口功能请看项目文档或配置文件说明)
    • 554
    • 322
    • 1935
    • 19350
    • 80
    • 443
    • 9000
    • 10000

⁠版本更新记录(版本更新记录请参考github项目)项目地址⁠

⁠1.2.8(2022-01-07)(未测试版本)

支持webrtc打包,配置文件需要配置对应rtc部分 文档地址⁠

⁠1.2.6(2021-10-08)
⁠1.2.5(2021-09-13)
⁠1.2.4(2021-08-30)
⁠1.2.3(2021-07-26)
⁠1.2.2(2021-07-16)
⁠1.2.1(2021-07-05)
⁠1.2.0(2021-06-22)
⁠1.1.9(2021-06-07)

录制mp4时不会触发无人观看事件

⁠1.1.8(2021-05-24)
⁠1.1.7(2021-05-08)
⁠1.1.6(2021-04-27)

优化内存

⁠1.1.5(2021-04-25)
⁠1.1.4(2021-04-10)
⁠1.1.3(2021-03-26)
⁠1.1.2(2021-03-11)
⁠1.1.1(2021-02-18)
⁠1.1.0(2021-01-26)
⁠1.0.9(2021-01-06)
⁠1.0.8(2020-12-28)

运行目录由meida变更为zlmediakit

⁠1.0.7 (2020-11-30)
⁠1.0.6 (2020-11-10)
⁠1.0.5 (2020-11-03)
⁠1.0.4 (2020-10-20)
⁠1.0.3 (2020-10-06)
  • 支持H264/H265/AAC/G711/OPUS编码
⁠1.0.2(2020-9-21)
  • 新增实现http-ts/websocket-ts直播服务器
  • 新增实现http-fmp4/websocket-fmp4直播服务器
  • 支持按需转协议,有人观看时自动开始转协议。
  • 实现其他协议转GB28181协议推流。
⁠1.0.1 (2020-09-15)
  • ffmpeg 新增h265模块
  • 支持按需解复用、转协议,当有人观看时才开启转协议
⁠1.0.0 (2020-09-11)

⁠项目特点

  • 基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。
  • 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/Websocket-FLV/GB28181/MP4),支持协议互转。
  • 使用多路复用/多线程/异步网络IO模式开发,并发性能优越,支持海量客户端连接。
  • 代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。
  • 支持linux、macos、ios、android、windows全平台。
  • 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒⁠)。
  • 提供完善的标准C API⁠,可以作SDK用,或供其他语言调用。
  • 提供完整的MediaServer⁠服务器,可以免开发直接部署为商用服务器。
  • 提供完善的restful api⁠以及web hook⁠,支持丰富的业务逻辑。
  • 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
  • 全面支持H265/H264/AAC/G711/OPUS。

⁠项目定位

  • 移动嵌入式跨平台流媒体解决方案。
  • 商用级流媒体服务器。
  • 网络编程二次开发SDK。

⁠功能清单

  • RTSP[S]

    • RTSP[S] 服务器,支持RTMP/MP4/HLS转RTSP[S],支持亚马逊echo show这样的设备
    • RTSP[S] 播放器,支持RTSP代理,支持生成静音音频
    • RTSP[S] 推流客户端与服务器
    • 支持 rtp over udp rtp over tcp rtp over http rtp组播 四种RTP传输方式
    • 服务器/客户端完整支持Basic/Digest方式的登录鉴权,全异步可配置化的鉴权接口
    • 支持H265编码
    • 服务器支持RTSP推流(包括rtp over udp rtp over tcp方式)
    • 支持H264/H265/AAC/G711/OPUS编码,其他编码能转发但不能转协议
  • RTMP[S]

    • RTMP[S] 播放服务器,支持RTSP/MP4/HLS转RTMP
    • RTMP[S] 发布服务器,支持录制发布流
    • RTMP[S] 播放器,支持RTMP代理,支持生成静音音频
    • RTMP[S] 推流客户端
    • 支持http[s]-flv直播
    • 支持websocket-flv直播
    • 支持H264/H265/AAC/G711/OPUS编码,其他编码能转发但不能转协议
    • 支持RTMP-H265⁠
    • 支持RTMP-OPUS⁠
  • HLS

    • 支持HLS文件生成,自带HTTP文件服务器
    • 通过cookie追踪技术,可以模拟HLS播放为长连接,可以实现HLS按需拉流、播放统计等业务
    • 支持HLS播发器,支持拉流HLS转rtsp/rtmp/mp4
    • 支持H264/H265/AAC/G711/OPUS编码
  • HTTP[S]与WebSocket

    • 服务器支持目录索引生成,文件下载,表单提交请求
    • 客户端提供文件下载器(支持断点续传),接口请求器,文件上传器
    • 完整HTTP API服务器,可以作为web后台开发框架
    • 支持跨域访问
    • 支持http客户端、服务器cookie
    • 支持WebSocket服务器和客户端
    • 支持http文件访问鉴权
  • GB28181与RTP推流

    • 支持UDP/TCP国标RTP(PS或TS)推流服务器,可以转换成RTSP/RTMP/HLS等协议
    • 支持RTSP/RTMP/HLS转国标推流客户端,支持TCP/UDP模式,提供相应restful api
    • 支持H264/H265/AAC/G711/OPUS编码
  • MP4点播与录制

    • 支持录制为FLV/HLS/MP4
    • RTSP/RTMP/HTTP-FLV/WS-FLV支持MP4文件点播,支持seek
    • 支持H264/H265/AAC/G711/OPUS编码
  • 其他

    • 支持丰富的restful api以及web hook事件
    • 支持简单的telnet调试
    • 支持配置文件热加载
    • 支持流量统计、推拉流鉴权等事件
    • 支持虚拟主机,可以隔离不同域名
    • 支持按需拉流,无人观看自动关断拉流
    • 支持先拉流后推流,提高及时推流画面打开率
    • 提供c api sdk
    • 支持FFmpeg拉流代理任意格式的流
    • 支持http api生成并返回实时截图

Tag summary

Content type

Image

Digest

sha256:47abecbf8…

Size

143.1 MB

Last updated

about 4 years ago

docker pull panjjo/zlmediakit