Giter Club home page Giter Club logo

zlmediakit / zlmediakit Goto Github PK

View Code? Open in Web Editor NEW
12.7K 343.0 3.2K 149.91 MB

WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11

Home Page: https://docs.zlmediakit.com

License: Other

C++ 78.18% CMake 5.19% Shell 0.06% Java 0.17% HTML 0.46% JavaScript 15.28% Kotlin 0.50% Python 0.15% CSS 0.01%
rtsp rtmp hls http websocket websocket-flv http-flv gb28181 http-ts http-fmp4

zlmediakit's Introduction

logo

简体中文 | English

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

项目特点

  • 基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。
  • 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC),支持协议互转。
  • 使用多路复用/多线程/异步网络IO模式开发,并发性能优越,支持海量客户端连接。
  • 代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。
  • 支持linux、macos、ios、android、windows全平台。
  • 支持x86、arm、risc-v、mips、龙芯、申威等指令集平台。
  • 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。
  • 提供完善的标准C API,可以作SDK用,或供其他语言调用。
  • 提供完整的MediaServer服务器,可以免开发直接部署为商用服务器。
  • 提供完善的restful api以及web hook,支持丰富的业务逻辑。
  • 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
  • 全面支持H265/H264/AAC/G711/OPUS。
  • 功能完善,支持集群、按需转协议、按需推拉流、先播后推、断连续推等功能。
  • 极致性能,单机10W级别播放器,100Gb/s级别io带宽能力。
  • 极致体验,独家特性
  • 谁在使用zlmediakit?
  • 全面支持ipv6网络
  • 支持多轨道模式(一个流中多个视频/音频)

项目定位

  • 移动嵌入式跨平台流媒体解决方案。
  • 商用级流媒体服务器。
  • 网络编程二次开发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/MJPEG编码,其他编码能转发但不能转协议
  • RTMP[S]

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

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

    • 支持http[s]-ts直播
    • 支持ws[s]-ts直播
    • 支持H264/H265/AAC/G711/OPUS编码
    • 支持多轨道模式
  • fMP4

    • 支持http[s]-fmp4直播
    • 支持ws[s]-fmp4直播
    • 支持H264/H265/AAC/G711/OPUS/MJPEG编码
    • 支持多轨道模式
  • HTTP[S]与WebSocket

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

    • 支持UDP/TCP RTP(PS/TS/ES)推流服务器,可以转换成RTSP/RTMP/HLS等协议
    • 支持RTSP/RTMP/HLS等协议转rtp推流客户端,支持TCP/UDP模式,提供相应restful api,支持主动被动方式
    • 支持H264/H265/AAC/G711/OPUS编码
    • 支持es/ps/ts/ehome rtp推流
    • 支持es/ps rtp转推
    • 支持GB28181主动拉流模式
    • 支持双向语音对讲
    • 支持多轨道模式
  • MP4点播与录制

    • 支持录制为FLV/HLS/MP4
    • RTSP/RTMP/HTTP-FLV/WS-FLV支持MP4文件点播,支持seek
    • 支持H264/H265/AAC/G711/OPUS编码
    • 支持多轨道模式
  • WebRTC

    • 支持WebRTC推流,支持转其他协议
    • 支持WebRTC播放,支持其他协议转WebRTC
    • 支持双向echo test
    • 支持simulcast推流
    • 支持上下行rtx/nack丢包重传
    • 支持单端口、多线程、客户端网络连接迁移(开源界唯一)
    • 支持TWCC rtcp动态调整码率
    • 支持remb/pli/sr/rr rtcp
    • 支持rtp扩展解析
    • 支持GOP缓冲,webrtc播放秒开
    • 支持datachannel
    • 支持webrtc over tcp模式
    • 优秀的nack、jitter buffer算法, 抗丢包能力卓越
    • 支持whip/whep协议
  • SRT支持

  • 其他

    • 支持丰富的restful api以及web hook事件
    • 支持简单的telnet调试
    • 支持配置文件热加载
    • 支持流量统计、推拉流鉴权等事件
    • 支持虚拟主机,可以隔离不同域名
    • 支持按需拉流,无人观看自动关断拉流
    • 支持先播放后推流,提高及时推流画面打开率
    • 提供完整强大的c api sdk
    • 支持FFmpeg拉流代理任意格式的流
    • 支持http api生成并返回实时截图
    • 支持按需解复用、转协议,当有人观看时才开启转协议,降低cpu占用率
    • 支持溯源模式的集群部署,溯源方式支持rtsp/rtmp/hls/http-ts, 边沿站支持hls, 源站支持多个(采用round robin方式溯源)
    • rtsp/rtmp/webrtc推流异常断开后,可以在超时时间内重连推流,播放器无感知

编译以及测试

编译前务必仔细参考wiki:快速开始操作!!!

怎么使用

你有三种方法使用ZLMediaKit,分别是:

  • 1、使用c api,作为sdk使用,请参考这里.
  • 2、作为独立的流媒体服务器使用,不想做c/c++开发的,可以参考 restful apiweb hook.
  • 3、如果想做c/c++开发,添加业务逻辑增加功能,可以参考这里的测试程序.

Docker 镜像

你可以从Docker Hub下载已经编译好的镜像并启动它:

#此镜像为github持续集成自动编译推送,跟代码(master分支)保持最新状态
docker run -id -p 1935:1935 -p 8080:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmediakit:master

你也可以根据Dockerfile编译镜像:

bash build_docker_images.sh

合作项目

授权协议

本项目自有代码使用宽松的MIT协议,在保留版权信息的情况下可以自由应用于各自商用、非商业的项目。 但是本项目也零碎的使用了一些其他的开源代码,在商用的情况下请自行替代或剔除; 由于使用本项目而产生的商业纠纷或侵权行为一概与本项目及开发者无关,请自行承担法律风险。 在使用本项目代码时,也应该在授权协议中同时表明本项目依赖的第三方库的协议。

联系方式

  • 邮箱:[email protected](本项目相关或流媒体相关问题请走issue流程,否则恕不邮件答复)
  • 请关注微信公众号获取最新消息推送:

  • 也可以自愿有偿加入知识星球咨询、获取资料以及加入微信技术群:

怎么提问?

如果要对项目有相关疑问,建议您这么做:

  • 1、仔细看下readme、wiki,如果有必要可以查看下issue.
  • 2、如果您的问题还没解决,可以提issue.
  • 3、如果需要获取更及时贴心的技术支持,可以有偿加入知识星球.

特别感谢

本项目采用了老陈media-server 库, 本项目的 ts/fmp4/mp4/ps 容器格式的复用解复用都依赖media-server库。在实现本项目诸多功能时,老陈多次给予了无私热情关键的帮助, 特此对他表示诚挚的感谢!

致谢

感谢以下各位对本项目包括但不限于代码贡献、问题反馈、资金捐赠等各种方式的支持!以下排名不分先后:

老陈 Gemfield 南冠彤 凹凸慢 chenxiaolei 史前小虫 清涩绿茶 3503207480 DroidChow 阿塞 火宣 γ瑞γミ linkingvision 茄子 好心情 浮沉 Xiaofeng Wang doodoocoder qingci swwheihei KKKKK5G Zhou Weimin Jim Jin 西瓜丶 MingZhuLiu chengxiaosheng big panda tanningzhong hctym1995 hewenyuan sunhui mirs Kevin Cheng Liu Jiang along qingci lyg1949 zhlong 大裤衩 droid.chow 陈晓林 CharleyWangHZ Johnny DoubleX69 lawrencehj yangkun Xinghua Zhao hejilin rqb500 Alex Dw9 明月惊鹊 cgm hejilin alexliyu7352 cgm haorui wang joshuafc JayChen0519 zx wangcker WuPeng starry mtdxc 胡刚风 zhao85 dreamisdream dingcan Haibo Chen Leon custompal PioLing KevinZang gongluck a-ucontrol TalusL ahaooahaz TempoTian Derek Liu ljx0305 朱如洪 lijin PioLing BackT0TheFuture perara codeRATny dengjfzh 百鸣 fruit Juice tbago Luosh linxiaoyan87 waken Deepslient imp_rayjay ArmstrongCN leibnewton 1002victor Grin xbpeng121 lvchenyun Fummowo Jovial Young yujitai KisChang zjx94 LeiZhi.Mai JiaHao chdahuzi snysmtx SetoKaiba sandro-qiang Paul Philippov 张传峰 lidaofu-hub huangcaichun jamesZHANG500 weidelong 小强先生

同时感谢JetBrains对开源项目的支持,本项目使用CLion开发与调试:

JetBrains

使用案例

本项目已经得到不少公司和个人开发者的认可,据作者不完全统计, 使用本项目的公司包括知名的互联网巨头、国内排名前列的云服务公司、多家知名的AI独角兽公司, 以及一系列中小型公司。使用者可以通过在 issue 上粘贴公司的大名和相关项目介绍为本项目背书,感谢支持!

zlmediakit's People

Contributors

a-ucontrol avatar alexliyu7352 avatar baiyfcu avatar charleywanghz avatar chengxiaosheng avatar custompal avatar dcan123 avatar doublex69 avatar dw9 avatar gemfield avatar gongluck avatar johzzy avatar lawrencehj avatar ljx0305 avatar lyg1949 avatar mc373906408 avatar mingyuejingque avatar monktan89 avatar mtdxc avatar nanguantong2 avatar oopy avatar pioling avatar sunhui2013 avatar talusl avatar tsingeye avatar wasphin avatar xia-chu avatar xiongguangjie avatar yujitai avatar zqsong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zlmediakit's Issues

关于HLS和FLV的延迟优化问题

ZLMediaKit支持的流媒体播放方式非常全面,很优秀。在采用devChannel方式注入H264流播放时,flv延迟6s以上,hls延迟10s以上,这两个地方是否能够在代码中进行优化,或者如何修改相关参数来优化这两个的延迟时间呢?

vidoejs播放要如何配置

您好,根据您的指导 这次我打开了openssl 现在flash在网页端是可以播放的,不过videojs还是播放不了?这个还要怎么修改吗

问题咨询

  1. 使用test_server测试,发现无论使用输出的hls还是rtmp还是rtsp都会一卡一卡的, 并且声音会爆音.这是我这里的问题还是程序的问题呢?
  2. 如何做vod呢?我看示例里面并没有vod, 但是代码里面应该是支持的.可否给个例子呢?
  3. 代码里面打开了UDP服务器, 应该是支持rtp的, 但是我发现没办法访问rtp呢.
  4. 如何设置proxy的缓冲时间?, 比如预先缓冲30秒的内容这样客户端播放不会卡.
  5. 如何进行录制呢?
  6. 文档有写配置文件热更新, 可是我发现我修改配置文件后并不会触发热更新.代码我还没有仔细看.
    应该是监控文件读写是么?当发现文件读了就进行更新?

如何开启RTSP/RTMP点播

ZLMediaKit 点播功能在哪里体现,PlayerProxy是否可做到支持本地文件和V4L2,而不是通过推流的方式 @xiongziliang

怎么输入H264和AAC生成rtsp/rtmp直播流?

对群主的框架理解还不是很深,我这边主要是想实现嵌入式端 流媒体服务的功能,所以不需要推流,直接能从V4L2 和 ALSA 拉流就行。我看是有个DevChannel类,怎么做到把DevChannel 和 ZLMeidaKit的server关联起来呢 @xiongziliang

推流到Facebook的时候经常被服务端断开连接

我再向Facebook推送RTMPS的流时,经常被facebook断开连接(connection reset by peer),不知道什么原因?
我按照Facebook的要求对编码器的参数进行了设置,关键帧也设置为2s,码率设置为1000Kbps,发现在正常推流的时候,连接偶尔会莫名其妙被对端断开,也没有任何错误信息反馈。想问一下,您这边有做过向Facebook推流吗,是否有遇到这样的问题?

我对编码器的参数进行了很多修改:

  1. 修改关键帧的时间为1s,基本上刚收到对端发过来的NetStream.Publish.Start后,对方就会把连接断开,我都还没开始发Metadata和音视频数据。(Facebook要求关键帧的最大间隔时间为2s)
  2. 把码率改大一点,比如改到2000Kbps,这种正常推流过程中连接被断开的发生次数显著增多了。
  3. 把编码的preset改慢一点,比如"slow/medium"后,也是刚收到对方的回应(NetStream.Publish.Start)后,就会被对方断开连接。

断开连接的时间也很不固定,有时候推几分钟就断开,有时候推两三个小时才断开。相同的方式,我推流到Youtube、斗鱼、B站等,都没有问题,非常稳定。

相同的媒体源,我用OBS去推facebook是没有问题的,非常稳定。想了解一下,目前ZLMediaKit有没有针对facebook平台做过适配呢

FFmpeg按需拉流失败问题

按照现在按需拉流的流程,无人观看断流,如果用户再次打开rtmp会触发,not_found处理成重新打开流addFFmpegSource,但是按照这个逻辑测试发现,当用户再次打开时rtmp服务器先返回错误“No such stream”,紧接着才打开流,所以客户端在打开第一次失败后再打开一次才成功。这是一个bug还是功能上本来就是这样

vidoejs播放配置?

现在我rtmp推流上去,用vlc potplayer播放没有问题,不过我在网页端播放,可以一直没成功,我把videojs播放的html放在了httpRoot__defaultVhost__目录下,能打开页面但是看不了流,要怎么配置才能在网页端看rtmp直播? 谢谢

网页播放HLS

生成的hls在vlc上可以正常播放,但是在网页上用各种播放器都播放不了,一直在转圈,用ffmpeg生成的hls可以播放..

怎么把音视频rtmp推流出去?

现已经实现了基于海康SDK(ubutnu1604、QtCreator5.12)的实时预览,需要将回调函数中获取到的流数据推送到流媒体服务器上。看了test_pusherMp4与DeviceHk,发现两个例子不太一样,也没明白具体的推流功能是怎么实现工作的。

test_httpApi全局变量初始化顺序BUG

全局静态变量onceToken 初始化时Broadcast::kBroadcastHttpRequest还没有初始化,导致监听事件失败,两处全局变量初始化存在先后顺序问题

How to use this project to create a rtmp video player?

Hi, this is an amazing project with many functions! I have successfully compiled ZLMediaKit on my Linux machine and run the test files, but I am still confused about how to use it as a rtmp video player. Could you please give me some detailed guide about how to run it? Thanks very much!

Failed build ZlMediaKit into Factory.cpp

I found the make problem into Factory.cpp file. In line 122, you have used atomic_int32_t. This type never defined into project. I correct this bug into atomic_int.

Best regards

技术问题请尽量提issue

本项目、流媒体相关的技术问题请尽量在github上提issue!
在QQ上聊天记录以及邮件都是不公开和不可追溯的,
为了防止重复提问以及方便后来者,请尽量提issue!

多屏播放怎么保持视频同步?

Android设备场景下,开启热点组成局域网,如何搭流媒体服务器,并让客户端同步播放?
因为使用场景是多个Android设备共用一个声音输出口(扬声器),观看不同设备的用户,看到的画面需要同步,画面与声音输出也需要同步;

如何只推视频,不推音频

使用方法:
test_rtmpPusher.cpp,拉流rtsp,转成rtmp推出去:domain(rtsp_url, rtmp_url);
问题:
如何只推视频,不要音频呢?

咨询下制作一个播放源所需要的步骤

目的是想通过这个来扩展支持接收GB28181协议中IPC的推流,然后对外提供rtsp播放源,看了里面是通过 MultiMediaSourceMuxer来进行制作, 都是通过 addTrack来添加音视频数据,但是怎么把IPC推过来的RTP转换成 这个音视频数据呢?
不知道我理解有没问题, 或者有没其他思路?谢谢

TS未按GOP切片

设置HLS 切片长度60S,发现有时候TS切片无法播放,之前老版本都是直接判断SPS采取保存的

80端口被占用,程序启动崩溃

centos7 环境下运行,开了nginx,运行MediaServer程序崩溃。日志如下:

[root@VM_0_5_centos bin]# ./MediaServer
MediaServer(6099) /root/projects/github/ZLMediaKit/server/System.cpp 356
2019-07-30 17:39:44.799 I | systemSetup core文件大小设置为:18446744073709551615
MediaServer(6099) /root/projects/github/ZLMediaKit/server/System.cpp 365
2019-07-30 17:39:44.799 I | systemSetup 文件最大描述符个数设置为:100002
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Util/SSLUtil.cpp 114
2019-07-30 17:39:44.811 W | loadPrivateKey error:02001002:system library:fopen:No such file or directory
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Util/SSLUtil.cpp 63
2019-07-30 17:39:44.811 W | loadPublicKey error:2006D080:BIO routines:BIO_new_file:no such file
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Util/SSLUtil.cpp 63
2019-07-30 17:39:44.819 W | loadPublicKey error:02001002:system library:fopen:No such file or directory
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Util/util.cpp 312
2019-07-30 17:39:44.821 D | operator() Stamp thread started!
terminate called after throwing an instance of 'std::runtime_error'
what(): listen on 0.0.0.0:80 failed:address already in use
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Poller/EventPoller.cpp 463
2019-07-30 17:39:44.822 I | EventPollerPool 创建EventPoller个数:1
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Network/TcpServer.h 304
2019-07-30 17:39:44.822 I | start_l TCP Server listening on 0.0.0.0:9000
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Network/TcpServer.h 304
2019-07-30 17:39:44.822 I | start_l TCP Server listening on 0.0.0.0:554
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Network/TcpServer.h 304
2019-07-30 17:39:44.822 I | start_l TCP Server listening on 0.0.0.0:1935
MediaServer(6099) /root/projects/github/ZLMediaKit/3rdpart/ZLToolKit/src/Network/sockutil.cpp 529
2019-07-30 17:39:44.822 W | bindSock 绑定套接字失败:address already in use
crash date:2019-07-30 17:39:44
exe: MediaServer
signal: 6
stack:
[0]: ./MediaServer() [0x922894]
System.cpp:?

[1]: /lib64/libc.so.6(+0x36340) [0x7f10bd6b2340]
??:0

[2]: /lib64/libc.so.6(gsignal+0x37) [0x7f10bd6b22c7]
??:0

[3]: /lib64/libc.so.6(abort+0x148) [0x7f10bd6b39b8]
??:0

[4]: /lib64/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x165) [0x7f10bdfc17d5]
??:0

[5]: /lib64/libstdc++.so.6(+0x5e746) [0x7f10bdfbf746]
??:0

[6]: /lib64/libstdc++.so.6(+0x5e773) [0x7f10bdfbf773]
??:0

[7]: /lib64/libstdc++.so.6(+0x5e993) [0x7f10bdfbf993]
??:0

[8]: ./MediaServer(_ZN7toolkit9TcpServer7start_lI16WebSocketSessionI11EchoSessionN8mediakit11HttpSessionEEEEvtRKSsj+0x177) [0x984d8d]
??:?

[9]: ./MediaServer(_ZN7toolkit9TcpServer5startI16WebSocketSessionI11EchoSessionN8mediakit11HttpSessionEEEEvtRKSsj+0x30) [0x980d24]
??:?

[10]: ./MediaServer(main+0x974) [0x9787c1]
??:?

[11]: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f10bd69e495]
??:0

[12]: ./MediaServer() [0x90dd39]
??:?

Aborted (core dumped)
[root@VM_0_5_centos bin]#

创建QT工程

Hi,
Thanks for the great package. I would like to use it along with QT. Is it possible to add it to QT creator? If so any idea on how can I add it to QT?

RtmpPlayer多次收到error,异常退出

void RtmpPlayer::onPlayResult_l(const SockException &ex) {
这个函数在网络差的情况下连续被调用收到ex时候:
broken pipe,多次打印后异常fault退出,看了一下应该是多次调用shutdown或者teardown导致的

ipc相机侧采集端的音视频同步问题

你好群主,我这边有个服务器推送rtsp流的需求,目的是将ZLMediaKit框架部署在ipc侧,但是如何保证摄像机端和麦克风端过来的音视频数据同步问题,ZLMediaKit框架 上有保证吗?

android端rtsp转rtmp

你好,看你项目写的可以实现rtsp转rtmp,且用个android,请问你的项目可以实现在android端实现rtsp转rtmp吗?

rtsp推到rtmp

看着很强大!请问有没有基于这个项目,能在linux下,将rtsp推到rtmp的脚本执行文件呢?谢谢!

动态编码率(VBR)无法播放

I wanted information about rtsp pusher. I noticed that by publishing a video source (camera) with cbr the server behaves well and the player correctly shows everything. if instead the video source applies the vbr the movement of the camera is freezed on the player. Obviously I tried with different players, all has the same problem. it appears that the server adjusts its receive buffer based on the first rtsp packet. There is configuration to be done in the config file for server to also satisfy vbr or is there a problem in the management of buffers variable in time? Thank you

RTMP推流端崩溃

复现步骤:
1、开启客户端RTMP推流
2、待推流成功后,将服务端直接关闭
3、客户端崩溃

原因:
在RtmpPusher.h函数onSendRawData(line: 69),没有对_sock 做防御,导致访问为空错误。

建议修复

主动关闭RTSP流会crash的问题!

看了下代码似乎是主动关闭RTSP流时,
RtspPlayer::teardown() 中调用了RtpReceiver::clear();
但RtpReceiver::handleOneRtp仍然再跑之前的, 最后在RtpReceiver::sortRtp中调用到了上面 clear释放掉的.
导致EXC_BAD_ACCESS (code=EXC_I386_GPFLT) crash .

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.