Commit Graph

388 Commits

Author SHA1 Message Date
ziyue
4dcac10b3a 修复webrtc echo test无法在chrome上使用的问题 2021-10-18 17:35:14 +08:00
ziyue
1a5fd824dd mediasoup移植代码开启日志打印 2021-10-18 16:02:41 +08:00
ziyue
9433a0c383 重写webrtc sdp校验逻辑,确保无有效track时抛异常:#1157 2021-10-16 16:46:05 +08:00
ziyue
d2a9878557 删除多余空行 2021-10-16 11:04:49 +08:00
ziyue
34365a2f8f 新增webrtc echo test双向会话示例 2021-10-16 10:52:28 +08:00
ziyue
f0e896a5e2 双向会话时,确保收发ssrc一致 2021-10-16 10:51:48 +08:00
ziyue
85fec6da0b 整理WebRtcSession代码 2021-10-16 10:29:00 +08:00
ziyue
8c1caeff50 合并pr:#1163 2021-10-16 10:25:23 +08:00
Johnny
25a1434e00 进一步改善 WebRtcTransportImp 的生命周期逻辑。 2021-10-15 18:56:49 +08:00
ziyue
efa839c60b 确保完全忽略webrtc客户端不支持的rtp 2021-10-15 17:37:51 +08:00
ziyue
82b78f4544 完善webrtc对象追踪相关日志 2021-10-15 17:14:59 +08:00
ziyue
7f3f47abbb 提取webrtc推流、播放代码为单独的派生类 2021-10-15 16:27:17 +08:00
ziyue
8531b5e1cb webrtc codec类型不支持时,设置为inactive类型 2021-10-15 16:15:23 +08:00
Johnny
638ef8c731 Refine: 调整 WebRtcSession::getPoller 静态函数为 QueryPollerByBuffer 全局函数,以改善其他 getPoller 同名函数可读性。 2021-10-15 11:21:10 +08:00
Johnny
c98e85caec 增加 RtcpContextForSend/RtcpContextForRecv作为RtcpContext子类 2021-10-15 11:21:10 +08:00
ziyue
e4cdc5f213 webrtc extmap方向匹配失败时,不添加进sdp 2021-10-14 16:22:13 +08:00
ziyue
b2bec61932 webrtc rtp扩展(extmap)支持方向设定 2021-10-14 16:18:15 +08:00
ziyue
aaecd74080 rtc answer sdp存在多个ssrc时,确保最后一个不为空 2021-10-14 15:10:55 +08:00
ziyue
043c1bab72 回复rtc sdp时,不拷贝ssrc相关信息 2021-10-14 14:59:37 +08:00
johzzy
2ec3b0ccea
增加 WebRtcTransportManager (#1156)
增加 WebRtcTransportManager
2021-10-13 14:15:29 +08:00
ziyue
acbe99cb43 整理优化webrtc ssrc与simulcast相关代码 2021-10-12 21:26:01 +08:00
ziyue
fbc5378058 合并webrtc相关pr:#1154 2021-10-12 17:32:22 +08:00
Johnny
2a906ad04a 保留 WebRtcTransport::onCheckSdp 接口。 2021-10-12 17:07:04 +08:00
Johnny
0f4289a584 Refine(webrtc/sdp): 函数 WebRtcTransport::onCheckSdp() 拆分为WebRtcTransport::onCheckAnswer() 和 RtcSession::checkSdp() 2021-10-12 16:15:37 +08:00
Johnny
c7633fb5bb Refine(webrtc/sdp): 移除getSdp(SdpType type)。相较而言,直接使用_offer_sdp 和 _answer_sdp 更好。 2021-10-12 15:35:18 +08:00
ziyue
712bdf7310 添加utf8 bom头,防止windows下编译不过 2021-10-11 17:17:39 +08:00
xiongziliang
8d85e6cee0 修复linux下编译问题 2021-10-07 16:12:42 +08:00
xiongziliang
438fd952f2 前移时间戳生成逻辑,防止耗时代码干扰时间戳精度 2021-10-07 15:49:33 +08:00
xiongziliang
29cc6a94f2 初步实现twcc rtcp发送 2021-10-07 15:39:02 +08:00
xiongziliang
0ae1d46892 基本完成twcc rtcp fci的生成 2021-10-07 12:28:59 +08:00
xiongziliang
dbc377a1f9 初步添加twcc rtcp发送逻辑 2021-10-06 22:42:17 +08:00
xiongziliang
fc5b09365e 修复rtp ext解析相关bug 2021-10-06 22:10:54 +08:00
xiongziliang
b1666eb651 实现媒体源pause/speed接口:#1129 2021-09-29 00:16:56 +08:00
ziyue
00f01afec7 修复webrtc相关漏洞:#1110 2021-09-24 11:29:04 +08:00
ziyue
0514278ce6 修复webrtc播放不能秒开的问题 2021-09-16 10:47:49 +08:00
ziyue
dfa9001ed1 优化代码 2021-09-16 10:05:04 +08:00
ziyue
3d64f7253c 优化webrtc性能 2021-09-16 10:03:28 +08:00
ziyue
0aec2ee1c0 修复WebRtcTransport对象使用时释放导致崩溃的问题 2021-09-15 20:41:34 +08:00
ziyue
2b5cad97cf 完善webrtc相关对象生命周期管理逻辑 2021-09-15 20:08:18 +08:00
ziyue
704ea59502 修复无人观看主动关闭webrtc推流线程安全的问题 2021-09-15 14:56:58 +08:00
ziyue
3c4285a056 提高webrtc代码健壮性 2021-09-15 11:50:15 +08:00
xiongziliang
d2a0b1e3e6 基本完成webrtc单端口改造 2021-09-10 22:39:15 +08:00
ziyue
7ba44d1ac8 webrtc单端口模式支持线程安全,支持链接迁移 2021-09-10 18:37:32 +08:00
ziyue
c025b5092d 防止访问空指针 2021-09-08 18:06:40 +08:00
ziyue
02da99e285 初步实现webrtc单udp端口模式 2021-09-08 18:00:55 +08:00
ziyue
8352f119f2 修复webrtc MediaTrack对象循环引用导致内存泄露的问题 2021-09-07 16:33:57 +08:00
ziyue
209d47cf3b 修复webrtc simulcast推流崩溃的bug 2021-09-07 16:22:34 +08:00
ziyue
41f8d7fbd2 修复webrtc模块循环引用导致的内存泄露问题:#1024 2021-09-03 11:46:36 +08:00
ziyue
08e74256da 修复编译警告 2021-09-03 11:45:44 +08:00
ziyue
415bc95dda 完善ntp时间戳计算逻辑 2021-09-02 21:39:10 +08:00
Johnny
6f3f69b459 fix stun packet memory leak. 2021-08-19 19:14:58 +08:00
Xinghua Zhao
da25ce9b83 修改Nakc.cpp在Windows下编译报错的Bug 2021-08-14 10:42:32 +08:00
ziyue
1d161bcdc2 修复webrtc srtp相关功能在大端64位系统崩溃的问题 2021-08-13 16:07:27 +08:00
ziyue
018fa40946 打印codec信息时,打印url信息 2021-08-05 14:49:52 +08:00
ziyue
5c52c636a3 完善nack/srtp相关代码 2021-07-28 11:18:09 +08:00
ziyue
80ab84cbb5 防止nack异步触发时对象析构导致的崩溃 2021-07-27 20:58:01 +08:00
ziyue
b1dc285649 优化代码 2021-07-27 20:52:51 +08:00
ziyue
c59a7a04c3 nack/rtx支持多次重传,提高抗丢包率 2021-07-27 20:42:25 +08:00
ziyue
30840d8200 修复nack/rtx发送时相关bug 2021-07-21 16:44:40 +08:00
ziyue
6ddd420f1c 修复webrtc rtx包计入receiver report统计导致simulcast推流失效的问题 2021-07-14 21:40:08 +08:00
ziyue
298f6e3864 rtp使用ntp时间戳作为时间戳,用于实现rtsp音视频同步 2021-07-12 21:18:22 +08:00
xiongziliang
99a8154fa5 修复webrtc单track功能异常的问题 2021-07-10 20:36:32 +08:00
ziyue
d62cdd81b8 webrtc不支持的mline设置为inactive 2021-07-07 17:58:29 +08:00
ziyue
6220db77e8 修复webrtc纯音频推流时不能注册流的bug:#963 2021-07-07 14:47:41 +08:00
xiongziliang
756b6a4cff Merge branch 'master' of https://github.com/xia-chu/ZLMediaKit into dev 2021-07-06 23:12:52 +08:00
夏楚
ea39ffe558
Merge pull request #966 from johzzy/master
整合rtp ext相关定义.
2021-07-06 23:13:05 +08:00
xiongziliang
986e9511a2 完善rtt相关代码 2021-07-06 23:09:56 +08:00
ziyue
4c296488f1 修复rtcp rr/sr时间戳转换相关问题,计算rtt 2021-07-06 21:48:51 +08:00
Johnny
849a2a0de8 整合rtp ext相关定义. 2021-07-06 17:54:10 +08:00
wxf
1e4963b8fc 修正 Nack 回环检查 2021-07-02 15:56:35 +08:00
ziyue
3165a2f81c 修改服务器版本信息声明相关代码 2021-06-29 11:16:05 +08:00
ziyue
8c670c652e 提前映射ssrc与rid的关系 2021-06-25 18:18:48 +08:00
ziyue
0f1d1ded7e rid支持更新 2021-06-25 18:08:03 +08:00
ziyue
365aead8b6 修复注释 2021-06-25 17:24:32 +08:00
ziyue
edf30a04cf 优化代码 2021-06-25 17:17:48 +08:00
ziyue
89ef183647 精简代码 2021-06-25 17:10:27 +08:00
ziyue
423dd454ca 整理代码 2021-06-25 17:02:58 +08:00
ziyue
76ebf02ced 记录所有rtp的ssrc 2021-06-25 16:57:38 +08:00
ziyue
a7f75774e9 整理RtpReceiver相关代码 2021-06-25 16:24:44 +08:00
ziyue
18b7e45906 整理nack相关代码 2021-06-25 15:43:47 +08:00
ziyue
7406281c96 抽象RtpExtContext对象 2021-06-25 15:31:13 +08:00
ziyue
964cf39145 RtcpContext修改时间戳单位、整理WebRTC相关代码 2021-06-25 14:59:27 +08:00
ziyue
6c01cf336e 抽象MediaTrack与RtpChannel对象 2021-06-25 14:37:11 +08:00
ziyue
ebb947c698 完善simulcast与ssrc相关处理代码 2021-06-24 17:54:16 +08:00
ziyue
74a935a8cd 完善simulcast播放统计功能 2021-06-24 13:20:17 +08:00
ziyue
7a02d2c8d6 不支持的rtp方向,answer sdp设置为inactive 2021-06-24 13:09:51 +08:00
ziyue
a91f4d29f2 完善simulcast接收及处理 2021-06-24 11:39:55 +08:00
ziyue
dcb91e3b50 初步支持simulcast流的接收和分流 2021-06-23 21:44:04 +08:00
wxf
f5786fcba3 兼容 glibc < 2.18
* https://stackoverflow.com/a/8132440/5218590
* https://sourceware.org/bugzilla/show_bug.cgi?id=15366
2021-06-23 10:39:08 +08:00
Johnny
89d8f005f8 fix: fix typo. 2021-06-20 01:46:24 +08:00
wxf
5fc5a9ef5f webrtc: 修正 sdp 中 candidate 解析问题
https://datatracker.ietf.org/doc/html/rfc5245#section-15.1
> foundation = 1*32ice-char
2021-06-18 13:36:25 +08:00
ziyue
807f9626d5 webrtc新增对av1的支持 2021-06-16 11:14:10 +08:00
ziyue
d74589945a 还原 2021-05-19 18:39:23 +08:00
xiongziliang
5b57b9d6ae 确保rtc播放不强引用rtsp直播源 2021-05-16 22:13:08 +08:00
xiongziliang
44b0e13ba7 完善打印svc tid 2021-05-16 22:12:26 +08:00
xiongziliang
c6d2b41d97 完善rtp ext相关处理方法 2021-05-16 21:49:46 +08:00
xiongziliang
5f05df98b0 添加获取类型方法 2021-05-16 21:17:55 +08:00
xiongziliang
a84bcec4aa 完善rtp ext处理相关逻辑 2021-05-16 20:56:03 +08:00
xiongziliang
bda378c340 完善发送rtx rtp处理 2021-05-16 18:06:34 +08:00
xiongziliang
7cdd5ed9df 修复rtx包未修改rtp ext id的问题 2021-05-16 16:59:12 +08:00
xiongziliang
d4ff84e447 完善ssrc相关处理 2021-05-16 16:12:10 +08:00
xiongziliang
f6eb84b413 添加ssrc相关方法 2021-05-16 12:28:50 +08:00
ziyue
a7cd4d0719 rtp ext不做内存拷贝 2021-05-13 01:29:55 +08:00
ziyue
5f13335166 关闭丢包测试代码 2021-05-12 20:53:37 +08:00
ziyue
8fdfc14f6f 整理 nack/rtx/ssrc 2021-05-12 20:51:51 +08:00
ziyue
12be56493e 优化代码 2021-05-12 15:41:50 +08:00
xia-chu
cb280e1eeb rtc推流支持nack/rtx重传 2021-05-11 15:48:01 +08:00
xia-chu
0d61de758e 完善nack与丢包重传2 2021-05-11 12:12:28 +08:00
xia-chu
5c90a1e137 完善nack与丢包重传 2021-05-11 11:18:55 +08:00
xia-chu
cbafdbabc6 防止拷贝 2021-05-11 09:09:35 +08:00
xiongziliang
7ad361b22d rtc播放支持nack重传 2021-05-11 00:54:33 +08:00
xia-chu
c57f31d3d0 代码优化 2021-05-10 18:14:51 +08:00
xia-chu
a42e5f6470 完善ssrc处理逻辑 2021-05-10 18:11:12 +08:00
xia-chu
d4ce5b0091 添加ssrc相关的方法 2021-05-10 17:35:22 +08:00
xia-chu
985fe310b6 extmap改回vector存放 2021-05-10 10:14:42 +08:00
xgj
7f917211e4 fix gcc for linux compile error 2021-05-08 22:25:56 +08:00
xiongziliang
783321e74e 关闭调试日志 2021-05-08 21:47:17 +08:00
xiongziliang
d74f2ff155 修复remb和twcc开关相关bug 2021-05-08 21:43:27 +08:00
xiongziliang
60a6d4af0b 拷贝后再修改rtp,防止修改共享数据 2021-05-08 21:16:51 +08:00
xiongziliang
47dc661bb2 初步兼容simulcast 2021-05-08 20:27:46 +08:00
xiongziliang
826ec33c2c rtx ssrc不强制指定 2021-05-08 19:45:53 +08:00
xiongziliang
0377796c03 修复clang下编译警告和错误 2021-05-08 19:33:51 +08:00
xia-chu
e81d91988d 完善sdp对ssrc的处理 2021-05-08 18:43:22 +08:00
xia-chu
26762b6a6f 添加offer simulcast sdp 2021-05-08 15:15:05 +08:00
xia-chu
16fa359cc5 默认不添加无效的codec plan 2021-05-08 15:05:13 +08:00
xia-chu
e84d16213c sdp中添加msid属性 2021-05-08 15:01:30 +08:00
xia-chu
1403923138 设置rtx ssrc 2021-05-08 15:01:14 +08:00
xia-chu
c10296d432 未选中的plan也返回到sdp中 2021-05-08 14:50:19 +08:00
xia-chu
0d8a3ef790 完善代码 2021-05-08 11:40:18 +08:00
xia-chu
f625b3fbf3 无法处理的rtp ext清空 2021-05-08 11:37:54 +08:00
xia-chu
d5eb486f54 修改rtp的ext id
优化代码结构
2021-05-08 10:51:10 +08:00
xia-chu
9f95f743e7 解析rtp ext时不再赋值类型 2021-05-08 10:37:47 +08:00
xia-chu
5756ed46e0 添加ext调试代码 2021-05-07 18:34:04 +08:00
xia-chu
e9f11a89fd 支持修改ext id 2021-05-07 18:33:45 +08:00
xia-chu
cdbd210a10 默认关闭mediasoup的日志 2021-05-07 17:58:10 +08:00
xia-chu
0b8eb6a76f 完善rtp ext解析代码 2021-05-07 17:52:33 +08:00
xia-chu
f263dd5d9d 优化rtp ext相关代码 2021-05-07 14:56:01 +08:00
xia-chu
c5fff23040 extmap改用map存放 2021-05-07 14:08:43 +08:00
xia-chu
cd96267dc8 extmap相关设置改成枚举 2021-05-07 14:02:03 +08:00
xia-chu
9f25392f69 精简api命名 2021-05-07 14:01:24 +08:00
xia-chu
2e8a7be5ea 完善rtp ext相关代码 2021-05-07 12:00:26 +08:00
xia-chu
b2be30fd51 添加bom头 2021-05-07 11:19:12 +08:00
xia-chu
d337b8d864 添加rtp ext解析相关代码 2021-05-06 16:25:18 +08:00
xia-chu
f9ebd82e6d 支持更多rtp ext 2021-05-06 10:54:06 +08:00
xia-chu
521d9f906b 完善remb相关控制代码 2021-05-06 10:40:21 +08:00
xia-chu
c77c4cfd4d sdp相关特性暴露成常量 2021-04-30 15:15:35 +08:00
xia-chu
dc2c882994 添加remb开关 2021-04-30 15:08:43 +08:00
xia-chu
8f17fcdf1d remb改成固定间隔发送 2021-04-30 14:49:06 +08:00
xia-chu
726e909601 支持remb控制推流比特率 2021-04-28 15:41:36 +08:00
xia-chu
9396270ce2 添加twcc相关api 2021-04-28 15:07:15 +08:00
xia-chu
26cd5660cd sdp返回真实ip和端口 2021-04-27 01:16:01 +08:00
xia-chu
2d8ef45e4d 完善fci相关代码 2021-04-26 21:03:04 +08:00
xia-chu
aa54adb1ab 修复编译问题 2021-04-26 20:29:06 +08:00
xia-chu
8702ad101b 完善rtcp feedback相关代码 2021-04-23 18:27:47 +08:00
xia-chu
48338af700 完善FCI相关代码 2021-04-23 15:06:55 +08:00
xia-chu
90ad90cb78 初步完成TWCC包的解析 2021-04-22 17:34:26 +08:00
xia-chu
cc5dee0abf 优化sdp fmtp字段处理逻辑 2021-04-15 19:40:17 +08:00
xiongziliang
33da2e28ec 修复pt覆盖失败的bug 2021-04-11 01:14:41 +08:00
xiongziliang
e495dfca64 修复忽略g711a(pt=0)的bug 2021-04-10 21:58:27 +08:00
xiongziliang
5b7974a522 添加版权信息 2021-04-09 20:44:47 +08:00
xia-chu
7378650620 修复windows下获取ssrc失败的bug 2021-04-09 12:15:32 +08:00
xiongziliang
b2afae0e8a 暂时屏蔽一些日志 2021-04-07 21:02:28 +08:00
xiongziliang
1650f63af5 生成answer sdp失败时,立即销毁对象 2021-04-07 20:41:17 +08:00
xiongziliang
fb9eefca69 完善日志 2021-04-07 20:40:42 +08:00
xiongziliang
87e1209d0a 修复某些平台下,udp connect后sendto时指定对端地址发送失败的问题 2021-04-07 20:33:53 +08:00
xia-chu
a22a6bafb7 添加流量统计事件 2021-04-07 18:35:38 +08:00
xia-chu
0c5fa36e4d rtc推流添加媒体事件相关接口 2021-04-07 18:18:27 +08:00
xia-chu
b96052d387 完善rtc异常管理 2021-04-07 17:51:47 +08:00
xia-chu
d354c9466c rtc添加对rtcp bye支持 2021-04-07 17:21:59 +08:00
xiongziliang
79267ae551 比对codec失败时,先关闭profile比对,再关闭codec比对 2021-04-06 23:47:54 +08:00
xiongziliang
b5e6c12ee8 H264 profile比对不区分大小写 2021-04-06 23:46:45 +08:00
xiongziliang
c9a20eda16 profile匹配失败时,优先选择相同编码格式的方案 2021-04-06 23:22:22 +08:00
xiongziliang
204ef6e204 匹配H264 profile 2021-04-06 23:21:46 +08:00
xiongziliang
a42b56ba94 兼容Firefox 2021-04-06 22:51:16 +08:00
ziyue
b5bf930467 调整cmake 2021-04-06 18:30:36 +08:00
ziyue
9c552128a7 修复sdp中没ssrc时触发的bug 2021-04-06 18:29:14 +08:00
ziyue
8edd093d68 添加bom头 2021-04-06 17:23:13 +08:00
xiongziliang
50ca789c0c 预留同时推流拉流的接口 2021-04-05 11:32:38 +08:00
xiongziliang
606f251311 修复音频相关的bug 2021-04-05 11:07:41 +08:00
xiongziliang
ce04a7279c 优化代码 2021-04-05 00:12:46 +08:00
xiongziliang
3c935e7fdd 优化代码 2021-04-05 00:06:21 +08:00
xiongziliang
6070654860 rtc播放时,比对采样率等信息 2021-04-04 23:58:59 +08:00
xiongziliang
fe02f2cf1c rtc推流和播放添加事件触发 2021-04-04 23:20:10 +08:00
xiongziliang
c70721a520 修改rtp pt时,确保不影响其他播放器 2021-04-04 21:42:11 +08:00
xiongziliang
2abb5078f9 实现rtc转rtsp 2021-04-03 09:34:49 +08:00
xiongziliang
130a06897f 整理并注释代码 2021-04-03 08:45:18 +08:00
xiongziliang
cfda7d8ba6 整理代码并完善rtcp相关功能 2021-04-03 08:32:20 +08:00
xiongziliang
e9c963dc82 添加部分rtcp代码 2021-04-03 00:04:52 +08:00
xiongziliang
a176cb83a8 预留rtcp相关代码 2021-04-02 23:12:37 +08:00
xiongziliang
8c460bfcff 基本完成rtc转rtsp 2021-04-02 23:01:58 +08:00
xiongziliang
dc485c6211 支持根据情况选择是否发生rtp 2021-04-02 21:08:40 +08:00
xiongziliang
c42b678cab 完成rtc发送 2021-04-02 20:35:43 +08:00
ziyue
4a62314be9 完善 2021-04-02 18:36:33 +08:00
ziyue
9a2f2cbf2e 完善rtsp sdp匹配 2021-04-02 18:28:01 +08:00
ziyue
ee072191e0 开始对接rtsp源 2021-04-02 17:56:24 +08:00
ziyue
7110dc75ae 整理代码 2021-04-02 17:08:11 +08:00
ziyue
33d2e71368 合并代码,去除冗余代码 2021-04-02 16:23:40 +08:00
ziyue
1978748f2e 接收到rtp包 2021-04-01 14:16:42 +08:00
ziyue
9ffa5c2135 恢复检查dtls证书 2021-04-01 14:07:48 +08:00
ziyue
6a95562dca 稍微调整 2021-04-01 11:59:35 +08:00