ziyue
23296ae5fa
加大参数冗余,提高webrtc抗丢包能力
2023-03-07 10:37:44 +08:00
xiongziliang
4942a0f574
优化nack重传rtt间隔时间估算逻辑
2023-03-05 21:54:27 +08:00
xiongziliang
3bc75d6ba8
注释过多的日志
2023-03-05 20:55:57 +08:00
xiongziliang
280ee30aac
优化webrtc nack响应速度且精简代码
2023-03-03 22:13:59 +08:00
ziyue
8ab3e0a4d4
初始化selectedTuple为nullptr, 修复webrtc ice建连状态错误
2023-03-03 15:25:15 +08:00
ziyue
56d6eb0f28
批量替换tab为4个空格
2023-03-03 15:24:12 +08:00
mtdxc
4783ac0808
修复webrtc多候选地址无法来回切换的bug ( #2266 )
...
最后一个连通的候选地址会被赋值并锁定为_selected_session,如果之前的候选地址再发送数据,将通过_selected_session回复,导致无法切换为旧的候选地址。
2023-03-03 11:18:21 +08:00
xiongziliang
c2e1083493
复用rtp/rtcp判断逻辑过滤非rtp包: #2247
2023-02-28 22:23:30 +08:00
ziyue
a981ce8cb3
优化webrtc nack算法:#2249
2023-02-25 00:19:00 +08:00
Talus
46842e6f29
修复WebRTC播放导致媒体延迟注销问题 ( #2246 )
...
因WebRtcPlayer中使用RtspMediaSource的共享指针,特定情况下引起媒体注销无法触发的问题。
- 重现步骤
在ZL的webrtc demo页面推流
浏览器打开如下html
webrtc.html
关闭推流器页面,推流器停止推流
webrtc.htm浏览器console->network将观察到:即使推流停止,但webrtc sdp请求一直能成功获取sdp,且流媒体一直不注销
- 原因
因为每个WebRtc 播放 SDP请求都会产生 WebRtcPlayer,产生RtspMediaSource的共享指针,产生强引用。
而DTLS超时释放需要一定的时间,WebRtcPlayer销毁需要超时。如果请求sdp的时间足够短,强引用会一直存在。将永远无法触发媒体注销
- 场景
webrtc播放存在重试,但是udp不通。DTLS无法创建
有人对ZLM执行恶意攻击,短时间内不断请求SDP但是不建立WebRTC通信
2023-02-20 16:23:29 +08:00
Alexandr
8bcc2cddc8
Build without usrsctp
2022-12-30 08:51:37 +03:00
xiongguangjie
96f549ab32
avoid bug for #2159
2022-12-15 19:17:09 +08:00
monktan89
f6a36180b4
修复webrtc转发可能内存越界的bug: #2159
2022-12-14 15:08:59 +08:00
Dw9
9d40c82141
修复手机推rtc,其他协议拉流画面旋转
2022-12-08 21:52:55 +08:00
老衲不出家
f05a9501fa
Unified code style ( #2137 )
2022-12-02 14:43:06 +08:00
monktan89
a12b7c8021
修正代码拼写错误
2022-11-30 18:24:35 +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
Johnny
59ecdd13e5
fix: WebRtcTransport 切换 poller 线程时,创建 WebRtcSession 不需要加锁
2022-11-28 17:54:16 +08:00
johzzy
bc4fa2bc53
fix(rtcp/bye): 收到rtcp bye时不断开webrtc连接 ( #2123 )
...
bye(203) 会在 sender audio track mute 时出现, 不能作为 shutdown 的依据
2022-11-28 17:52:37 +08:00
Dw9
fef9d31631
webrtc支持通过http参数指定是否优先tcp模式 ( #2105 )
...
* webrtc push/play支持通过http参数指定tcp
* force_tcp改成perferred_tcp
Co-authored-by: xiongziliang <771730766@qq.com>
2022-11-27 12:43:16 +08:00
ziyue
9fd5152aa1
确保webrtc关闭udp模式时可用
2022-11-19 09:52:10 +08:00
ziyue
d910c80a00
优化webrtc iceandidate端口相关代码
2022-11-19 09:46:04 +08:00
xiongguangjie
0d6fa1281a
add rtc tcp port config and ignore candidate when port is 0
2022-11-19 01:51:53 +08:00
Dw9
47530ce830
新增支持webrtc over tcp模式 ( #2092 )
...
* webrtc server/session/cadidate 改为tcp
* 先屏蔽检查isCurrentThread
* 接受和发送的数据处理tcp 2字节头
* 处理rtc tcp 分片
* 完善webrtc over tcp
* 精简rtp服务器相关代码
* 适配webrtc AV1编码: #2091
* webrtc tcp模式支持Firefox
* webrtc tcp模式支持线程安全
* c sdk支持webrtc tcp
Co-authored-by: ziyue <1213642868@qq.com>
2022-11-18 22:52:57 +08:00
ziyue
fc433de9ac
适配webrtc AV1编码: #2091
2022-11-18 16:47:02 +08:00
ziyue
520945c2e9
提高线程安全性
2022-11-01 10:53:38 +08:00
baiyfcu
4a51d6b488
修复第三方引用ZLM编译webrtc避免生成dll文件
2022-10-17 10:53:39 +08:00
xiongziliang
a916760ac3
整理webrtc c接口
2022-10-06 12:35:14 +08:00
ziyue
0b355759de
整理webrtc相关代码命名空间
2022-09-18 21:03:05 +08:00
ziyue
15affeff1d
优化关闭媒体源相关逻辑: #1963
2022-09-18 20:36:47 +08:00
xiongguangjie
d04a6d4355
rtc receive sr reset alive ticker
2022-09-09 23:04:28 +08:00
夏楚
4a35ddbddb
Merge pull request #1942 from mtdxc/reduce_code
...
简化代码
2022-09-09 11:10:55 +08:00
xiongguangjie
7f86299c80
rtc stop push unregister mediasource
2022-09-07 19:10:06 +08:00
xiongguangjie
96c19ac85f
修复webrtcsession getIdentifier 为空的bug,导致GetAllSession webrtcsession的id 为空
2022-09-07 13:58:26 +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
custompal
0d6509ce03
统一部分变量名和代码样式风格
2022-08-30 21:24:25 +08:00
custompal
04aa3ef41f
增加获取媒体流播放器列表功能
2022-08-30 21:05:19 +08:00
xiongzilaing
679c79802f
整理媒体事件相关代码,删除无须重载时的多余代码逻辑
2022-08-28 17:25:56 +08:00
Dw9
b7ef766701
支持单独的datachannel通道 ( #1894 )
...
* 支持单独的datachannel 通道
* 当仅有datachannel时 ,忽略rtp和rtcp超时
* 单独开启datachannel时,通过dtls包维持心跳
Co-authored-by: xiongziliang <771730766@qq.com>
2022-08-20 10:28:19 +08:00
gongluck
0764e48f6c
兼容安卓平台,to_string模板处理pt值
2022-08-18 19:13:22 +08:00
ziyue
ba947cb6b5
调整switch case语句缩进
2022-08-05 17:42:17 +08:00
Xiaofeng Wang
c14a777598
修正启用 SCTP 后编译问题
2022-07-28 23:15:22 +08:00
Xiaofeng Wang
0fc38bbadb
避免对外传递 srtp 依赖
2022-07-26 00:04:03 +08:00
Xiaofeng Wang
9d3ead61de
整理 CMakeLists.txt
2022-07-25 00:22:30 +08:00
xiongguangjie
cffc0743d7
format code use clang-format
2022-07-14 22:49:31 +08:00
xiongguangjie
602b475a3c
for rtc send can receive rtcp xr, player can calculate rtt , for metaRTC player send rtcp xr
2022-07-12 19:26:17 +08:00
Haibo Chen
576056c465
get ip from env, for externIP in file 'config.ini' ( #1786 )
2022-07-09 21:44:57 +08:00
bin-work
2e1a45895a
修改webrtc码率带宽约束字段 ( #1771 , #1768 )
2022-07-07 16:44:42 +08:00
xiongziliang
2490fd2115
MS_ASSERT改成抛异常
2022-06-18 21:09:57 +08:00
xiongziliang
94839fd93c
添加bom头
2022-06-18 14:34:58 +08:00
xiongziliang
df7a3242bb
修复获取webrtc推流丢包率除0的bug
2022-06-11 14:23:43 +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
sha-long-ba-si
3a9408bcec
webrtc answer m-lines次序错误 ( #1695 )
...
Co-authored-by: james <mrjamesli@126.com>
2022-06-11 12:26:31 +08:00
xiongziliang
b23cbaa0f8
on_publish hook新增continue_push_ms参数,用于断连续推延时控制
2022-06-04 11:06:35 +08:00
xiongziliang
b0f0bdb6ae
调整优化webrtc sdp处理相关代码
2022-05-20 22:14:21 +08:00
cqm
2b29e58f71
sdp代码重构, 增加addItem和addAttr
2022-05-18 18:56:09 +08:00
cqm
9d9315d8c6
支持SDP munging方式simulicast
2022-05-18 09:21:21 +08:00
xiongziliang
4f768cacf1
修复编译警告
2022-05-14 18:46:50 +08:00
xiongziliang
b0f15c9647
sctp关闭编译时,关闭datachannel相关功能
2022-05-13 20:45:27 +08:00
xiongziliang
7e58d91a57
修复rtp two byte ext解析相关bug: #1631
2022-05-13 20:01:57 +08:00
mtdxc
301cbf0a83
支持多个rtc候选地址 ( #1622 )
...
* 支持多个rtc候选地址
* fixed missing extern_ips check
2022-05-12 15:21:09 +08:00
xiongziliang
d66845425c
完善ipv6网络适配
2022-05-08 00:26:01 +08:00
xiongziliang
fb003714e9
新增webrtc datachannel功能: #1216
2022-05-04 22:15:21 +08:00
xiongziliang
1ed793fe97
初步实现webrtc datachannel sdp握手
2022-04-03 17:12:23 +08:00
xiongziliang
03dfcbad36
优化webrtc sdp处理相关代码
2022-04-03 17:10:39 +08:00
xiongziliang
b0af3334c1
修复firefox上webrtc echo测试无法通过的问题: #1493
2022-03-26 22:11:50 +08:00
xiongziliang
4314006551
调整nack相关参数
2022-03-13 19:22:19 +08:00
xiongziliang
aef2ae65af
优化代码
2022-03-12 19:29:58 +08:00
xiongziliang
b8277974aa
webrtc sdp msid不存在时,不添加
2022-03-12 19:27:32 +08:00
xiongziliang
4dc621e1bb
转协议选项抽象为ProtocolOption对象
2022-03-12 13:24:23 +08:00
zx
cd4e772985
remove dumplicate line rtc_media.type
...
remove dumplicate line
`rtc_media.type = mline.type;`
2022-03-04 16:18:26 +08:00
ziyue
d88fe077ed
on_publish hook新增originType字段
2022-03-02 18:03:44 +08:00
xiongziliang
7f66e6b4bf
消除编译警告
2022-02-27 21:52:12 +08:00
xiongziliang
497bf289b6
完善rtc网络迁移日志打印
2022-02-27 21:40:32 +08:00
xiongziliang
f8ef5579ee
整理webrtc相关日志
2022-02-27 21:26:49 +08:00
xiongziliang
a0b464958c
优化rtp重发列队性能
2022-02-27 12:26:11 +08:00
xiongziliang
6707b13418
rtp nack重传列队长度限制为5秒
2022-02-27 02:08:32 +08:00
xiongziliang
ba5ca8f5c7
修复rtp seq重复导致rtp nack重传列队异常的bug
2022-02-27 02:07:25 +08:00
xiongziliang
7a5cf925b0
Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit
2022-02-27 01:03:49 +08:00
xiongziliang
b82cd5a500
确保ntp时间戳获取失败时,webrtc rtp重传缓存列队长度正常
2022-02-27 01:02:54 +08:00
夏楚
3a2a60c40a
防止开启模拟丢包代码时,生成twcc rtcp紊乱的bug
2022-02-27 00:33:39 +08:00
夏楚
db3df7b92e
修复ssrc大小端转换bug
2022-02-26 22:33:00 +08:00
ziyue
72caa43c97
主动关闭的流不支持断流续推: #1401
2022-02-09 14:31:40 +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
xgj
341459fbf5
fix non rtc push rtc play g711 audio loss
2022-01-24 11:57:24 +08:00
ziyue
09ac333e35
webrtc支持断连续推
2022-01-10 17:43:28 +08:00
ziyue
5a592e6db6
优化循环池性能
2022-01-06 14:30:44 +08:00
ziyue
80d24d2884
修复Windows下编译问题
2021-12-31 14:24:15 +08:00
ziyue
7f6be9e118
Refine: 消除编译警告
2021-12-30 15:28:27 +08:00
ziyue
254bc6889e
RTC: 链接迁移后确保老链接及时销毁
2021-12-15 15:55:43 +08:00
xgj
78d014cf51
fix chrome ufrag too short to play webrtc
2021-11-29 16:54:40 +08:00
xiongziliang
f45830cbb8
Refine: 优化webrtc对象追踪机制
2021-11-28 21:43:21 +08:00
xiongziliang
61c55f4030
Refine: 使用socket fd作为日志追踪id
2021-11-28 21:42:54 +08:00
xiongziliang
bc4453015f
RTC: 降低rtx重传日志优先级
2021-11-27 22:37:15 +08:00
xiongziliang
8a1f979375
RTC: 修复twcc rtp ext seq回退处理逻辑bug
2021-11-27 22:35:51 +08:00
xiongziliang
8b3a5dda1c
Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit
2021-11-27 21:34:51 +08:00
xiongziliang
90315ebce5
RTC: srtp发送减少一次内存拷贝,提高webrtc发送性能
2021-11-27 21:30:46 +08:00
xiongguangjie
c1b78629e1
fix rtc play signal stream only audio or video failed ( #1239 )
2021-11-25 20:42:51 +08:00