xia-chu
2378617dd8
修复前向声明导致的编译问题
2023-08-08 16:06:29 +08:00
夏楚
beae515bb2
新增无人观看自动关闭流(无须hook返回)功能 ( #2643 )
...
auto_close参数适用于配置文件、addStreamProxy接口、on_publish hook
2023-07-08 21:36:34 +08:00
夏楚
e52c1cc510
修复addFFmpegSource添加的流事件拦截可能失效问题 ( #2642 #2629 )
...
此pr主要为了修复 #2629,通过新增getMuxer接口,
可以直接获取到所有协议共享的MultiMediaSourceMuxer对象,
在此对象完成事件拦截,防止某种协议事件丢失。
同时调整了下FFmpegSource.cpp代码格式。
2023-07-08 21:35:09 +08:00
XiaoYan Lin
cb0579a16d
新增支持hls-fmp4直播( #2603 #977 #1965 )
...
同时主要优化点包括:
1、编译宏特性开关优化。
2、转协议复用器相关创建代码移动至Recorder类。
3、转协议复用器onAllTrackReady函数修改为addTrackCompleted。
4、startRecord/stopRecord/isRecording接口新增支持ts/fmp4/hls-fmp4协议。
Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: linxiaoyan87 <linxiaoyan87@foxmail.com>
2023-07-02 12:02:33 +08:00
johzzy
03770ff409
Replace the tuple (vhost/app/stream) with MediaTuple. ( #2560 )
2023-06-17 10:28:01 +08:00
夏楚
5ca4ed53b2
防止析构函数抛异常导致崩溃问题 ( #2546 )
2023-06-11 22:07:15 +08:00
夏楚
e4acc59bec
媒体时间戳默认改为相对时间戳,通过时间戳矫正器解决跳跃和回退问题 ( #2523 )
...
通过用户反馈发现,遇到较多直播源时间戳混乱问题,包括rtsp流之rtcp ntp时间戳混乱,国标流时间戳混乱问题。
之前默认采用源流绝对时间戳,但是由于时间戳混乱会导致hls切片异常或视频播放不了等问题。
故默认改成相对时间戳(modify_stamp=2),通过时间戳矫正器过滤了时间戳跳跃以及回退问题(强制加1ms),
同时保留了对之前时间戳覆盖(modify_stamp=1)的兼容。
该修改同时兼容点播流,在点播流开启时间戳覆盖时,不起实质作用(采用原始绝对时间戳)。
2023-06-03 17:34:34 +08:00
Johnny
0232caf068
add MediaTuple
2023-05-30 11:01:27 +08:00
Dw9
978143c86d
rtp级联(ps/ts/es)新增支持gop缓存功能 ( #2395 )
...
该修改主要解决rtp级联(调用startSendRtp接口)未做gop缓存导致上级无法秒开的问题。
同时通过RingBuffer对象线程隔离的特性,实现了在断连续推场景下归属线程切换导致的线程安全问题。
用户如未使用rtp级联功能,请修改配置文件关闭GOP缓存(rtp_proxy.gop_cache=0)以便节省内存。
---------
Co-authored-by: 夏楚 <771730766@qq.com>
2023-04-17 12:19:24 +08:00
xia-chu
ba4296e180
修复断连续推情况下线程迁移导致崩溃的bug:#2283
...
如果一个MultiMediaSourceMuxer对象上挂载了很多个RtpSender对象,
这些对象会绑定MultiMediaSourceMuxer的OwnerPoller(归属线程),
在断连续推发生时,对应的MultiMediaSourceMuxer对象OwnerPoller线程
将发生变更,导致与RtpSender对象的线程不一致。
2023-03-11 10:34:58 +08:00
mtdxc
754073918a
Header refactor ( #2115 )
...
* 优化MultiMediaSourceMuxer头文件包含
* 将MediaSinkDelegate和Demux移到MediaSink中
* MediaSource头文件重构, 独立出PacketCache.h
精简Frame和Track的头文件
* Rtmp头文件重构
* Rtsp头文件重构
* webrtc头文件重构
* 规范.h头文件包含,并将其移到.cpp中:
- 尽量不包含Common\config.h
- Util\File.h
- Rtsp/RtspPlayer.h
- Rtmp/RtmpPlayer.h
* 删除多余的Stamp.h和Base64包含
2022-11-29 11:07:13 +08:00
xiongziliang
50fa671564
修复析构中调用getOwnerPoller抛异常导致崩溃的bug:#2117
2022-11-26 10:16:47 +08:00
ziyue
68948288e0
TcpSession/UdpSession统一为Session类
2022-11-19 09:33:10 +08:00
xiongziliang
9bb6a2f828
全面整理转协议相关配置文件
2022-11-12 23:56:28 +08:00
xiongziliang
b54f50c7c0
修复hls流注销时相关bug:#2082
2022-11-12 09:57:47 +08:00
ziyue
520945c2e9
提高线程安全性
2022-11-01 10:53:38 +08:00
ziyue
15affeff1d
优化关闭媒体源相关逻辑: #1963
2022-09-18 20:36:47 +08:00
cqm
999e0b274e
简化代码:
...
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
xiongziliang
20f1275c58
rtsp拉流、rtp单端口推流新增支持获取丢包率: #1877
2022-09-03 16:32:09 +08:00
xiongzilaing
679c79802f
整理媒体事件相关代码,删除无须重载时的多余代码逻辑
2022-08-28 17:25:56 +08:00
xiongziliang
c2ab45f78d
完善线程安全设计
2022-08-27 10:17:06 +08:00
ziyue
208b0865bd
修复全局变量初始化顺序错乱导致崩溃的问题
2022-08-23 14:11:32 +08:00
xiongziliang
c6a0e3ad66
rtp发送启停支持触发观看人数统计事件
2022-08-20 13:16:25 +08:00
custompal
771844d065
去除rtp_sender_mtx ( #1722 )
...
* 去除rtp_sender_mtx
* 无人观看定时器指定为MediaSource对象所属poller以确保读取观看数是线程安全的
Co-authored-by: xiongziliang <771730766@qq.com>
2022-06-18 13:22:57 +08:00
xiongziliang
fd11c53a78
Merge branch 'feature/srt' of github.com:ZLMediaKit/ZLMediaKit
2022-06-11 15:07:58 +08:00
xiongziliang
97116e1208
完善getOwnerPoller相关逻辑
2022-06-11 13:08:58 +08:00
xiongziliang
b6d3ec5251
完善获取丢包率pull request; 新增MediaSource::getOwnerPoller接口
2022-06-11 12:56:03 +08:00
Leon
be995f9cd2
!17 【功能请求】 /index/api/getMediaList接口 增加LOSS字段用于统计每个轨道丢包率反馈
...
* update webrtc/WebRtcPusher.h.
* update webrtc/WebRtcPusher.cpp.
* update webrtc/WebRtcTransport.h.
* update webrtc/WebRtcTransport.cpp.
* update src/Common/MediaSource.h.
* update src/Common/MediaSource.cpp.
* update server/WebApi.cpp.
2022-06-11 04:31:06 +00:00
xiongguangjie
b9f66ca1ec
add srt push string
2022-06-03 20:38:35 +08:00
ziyue
d037acbf62
完善ipv6支持
2022-05-08 17:06:10 +08:00
xiongziliang
a95bf960e0
完善ipv6支持
2022-05-08 09:25:47 +08:00
xiongziliang
2818e371b8
完善startSendRtp接口
2022-04-03 18:37:22 +08:00
xgj
9d532cf16b
fix startsendrtp pt error
2022-04-01 19:12:37 +08:00
xgj
61625f458f
for webapi startsendrtp can send raw rtp
2022-04-01 18:28:09 +08:00
ziyue
595182cebb
Revert "当调用mk_media_source_close(ptr, 1);时,主动注销流 ( #1401 )"
...
This reverts commit c97aa8483e
.
2022-02-09 14:21:35 +08:00
夏楚
c72cf4cbcc
整理命名空间 ( #1409 )
...
* feat: remove using namespace mediakit in header files.
(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)
* feat: remove using namespace mediakit in FFmpegSource.h
* feat: remove using namespace mediakit in RtpExt.h
* feat: remove using namespace mediakit in header files.
* feat: remove using namespace std in header files.
* feat: remove using namespace std in header files when zltoolkit remove std in header
* 补充命名空间
* 整理命名空间
* 整理命名空间2
* 修复macos ci
* 修复编译问题
* 修复编译问题2
* 修复编译问题3
Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
2022-02-02 20:34:50 +08:00
joshuafc
c97aa8483e
当调用mk_media_source_close(ptr, 1);时,主动注销流 ( #1401 )
...
* 当调用mk_media_source_close(ptr, 1);时,主动注销流
主动调用上述函数时,期望不再等待RtmpSession.cpp:49处getPoller()->doDelayTask(continue_push_ms, [push_src]() { return 0; });捕获的指针,等待析构时反注册,而是立即反注册。
* `MediaSource::close`逻辑执行成功后执行`unregist`
2022-01-27 14:56:18 +08:00
xiongziliang
3bf6ec8939
修复获取推流所有权导致引用计数紊乱的bug: #1397
2022-01-26 00:37:51 +08:00
ziyue
0ae9a8c8c8
Revert "添加递归溢出检测代码: #1363 "
...
This reverts commit 8937d9ea92
.
2022-01-24 11:38:36 +08:00
ziyue
8937d9ea92
添加递归溢出检测代码: #1363
2022-01-17 14:47:55 +08:00
ziyue
5b6ff0af27
完善mingw编译环境的适配
2022-01-11 14:09:57 +08:00
ziyue
f5efd232a9
rtsp/rtmp推流支持断连续推: #1240 , #1300
2022-01-10 16:43:57 +08:00
alexliyu7352
a441168004
修正不使用resetWhenReplay选项时, MediaSource会重复注册的问题 ( #1330 )
2022-01-04 14:47:41 +08:00
ziyue
0b79de9d13
MediaSource: 禁止重复推送一个已经注册的流
2021-11-19 15:33:16 +08:00
ziyue
4067f2beb6
ps rtp推流接口(startSendRtp)支持推送本地mp4录像
2021-10-21 10:21:52 +08:00
xiongziliang
7d1b2583e6
优化代码
2021-09-28 22:44:02 +08:00
ziyue
04bf829540
非rtsp协议减少一帧延时
2021-08-30 18:05:21 +08:00
ziyue
10522e4ea5
完善getOriginUrl接口
2021-08-16 17:31:13 +08:00
ziyue
4dbe0a1d3e
合并pr:#1025
2021-08-12 20:37:46 +08:00
ziyue
30b139eaf0
Merge branch 'feature_bafc' of https://github.com/xia-chu/ZLMediaKit
2021-08-12 11:18:34 +08:00