Commit Graph

3344 Commits

Author SHA1 Message Date
WuPeng
5bc313bafe 增加长期保存hls切片的功能,segKeep=0为不长期保存,segKeep=1为长期保存。此功能部分等效于segNum=0的情况,不同的是这个保留不会在m3u8文件中体现。 2022-05-10 17:32:50 +08:00
ziyue
4c1f0c9b7f 修复Windows下绑定端口可能失败的问题 2022-05-10 17:28:48 +08:00
ziyue
5b51d7cb93 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-05-10 16:49:42 +08:00
ziyue
3c72917ea0 修复bind socket在Windows下失败导致的问题 2022-05-10 16:49:08 +08:00
夏楚
a9d7874467
Update README.md 2022-05-10 15:31:36 +08:00
ziyue
9861091b18 优先使用ipv4地址 2022-05-10 14:48:05 +08:00
ziyue
45494c020b bug fixed 2022-05-10 10:44:12 +08:00
ziyue
d037acbf62 完善ipv6支持 2022-05-08 17:06:10 +08:00
ziyue
a44334acaf 全面支持ipv6 2022-05-08 16:33:33 +08:00
xiongziliang
a95bf960e0 完善ipv6支持 2022-05-08 09:25:47 +08:00
xiongziliang
c14bf7d8b1 修复编译问题 2022-05-08 00:39:52 +08:00
xiongziliang
d66845425c 完善ipv6网络适配 2022-05-08 00:26:01 +08:00
ziyue
3062ea0e7c 初步支持ipv6: #576, #1406 2022-05-07 20:06:08 +08:00
Dw9
5e08e43e9a
webrtc测试网页新增datachannel echo显示框 (#1613) 2022-05-05 16:34:49 +08:00
Xiaofeng Wang
5844b61880
Merge pull request #1607 from Dw9/master
Update CMakeLists.txt
2022-05-05 09:38:44 +08:00
xiongziliang
fb003714e9 新增webrtc datachannel功能: #1216 2022-05-04 22:15:21 +08:00
Dw9
d507b76097
Update CMakeLists.txt 2022-05-01 12:19:23 +08:00
ziyue
200a193c04 openRtpServer新增ssrc参数修改为追加至函数末尾, 确保代码逻辑一致无歧义: #1572 2022-04-28 17:44:35 +08:00
ziyue
85399015f9 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-04-28 17:26:05 +08:00
alexliyu7352
c1d2adebae
rtmp拉流的兼容性改进 (#1595)
* 修复play指令的bug

* 修改MSG_AGGREGATE的时间戳处理逻辑

这里参考了ffmpeg的方式来计算时间戳.

* add bom
2022-04-28 14:13:09 +08:00
xiongziliang
5e729d6153 溯源集群模式支持边沿服务器选择开启转hls: #1588 2022-04-23 18:40:20 +08:00
夏楚
c31d44d680
Merge pull request #1584 from Dw9/master
Update CMakeLists.txt
2022-04-19 19:45:01 +08:00
夏楚
56e72b1191
ci支持pull request 2022-04-19 19:31:22 +08:00
夏楚
d06b4cdd3a
ci支持pull request 2022-04-19 19:30:55 +08:00
夏楚
824f1d2a47
ci支持pull request 2022-04-19 19:30:14 +08:00
Dw9
67bb53746e
Update CMakeLists.txt 2022-04-19 18:07:03 +08:00
Dw9
c82cc587c8
fix typo (#1578)
fix typo
2022-04-18 11:48:56 +08:00
xiongziliang
97952bdf0f 更新第三方库,修复mp4录制相关问题:1507 2022-04-16 22:23:26 +08:00
xiongziliang
974055fd17 确保推流器主动断开时,不开启断连续推特性: #1559 2022-04-16 21:37:07 +08:00
Dw9
ebe4141026
c api和测试范例新增webrtc功能 (#1574)
* Update Rtsp.cpp

* c sdk识别到enable_webrtc

* mk_api增加json库

* 对rtc http请求的处理

* c sdk 增加rtc服务器
2022-04-16 15:57:02 +08:00
wangcker
e712639e33
openrtpserver接口新增ssrc参数,强制过滤不属于本端口的视频流,以解决视频串流问题 (#1572) 2022-04-16 15:12:49 +08:00
xiongziliang
2b460c97ed 更新第三方库 2022-04-16 14:38:38 +08:00
xiongziliang
24472ee346 修复aac adts头大于7个字节时的兼容性问题 2022-04-16 14:13:55 +08:00
ziyue
5144b84ee7 添加bom头 2022-04-10 23:58:56 +08:00
alexliyu7352
f128b35b18
解决多pps问题
解决某些流因为多pps而导致不能播放的问题.
2022-04-10 23:43:44 +08:00
alexliyu7352
08de795220
Update H264.h 2022-04-10 23:38:42 +08:00
alexliyu7352
a0c1bc13cc
修复多次调用onShutdown的bug (#1552)
当HlsPlayer拉取索引失败后会触发PlayerProxy的重试机制.
但是这里就有一个bug会导致重试次数不准确.
因为HlsPlayer播放失败会调用onShutdown.
然后回调PlayerProxy.
之后如果触发重试, 那么在HlsPlayer析构的时候又会在调用一次onShutdown.
这时候是安全的, 因为_on_shutdown已经被置空.
但是如果重试时又再次失败, 那么首先会调用
onPlayResult
这时候在PlayerProxy中会再次触发重试, 紧接着HlsPlayer析构, 又会调用一次onShutdown, 那么就又会触发一次重试.

修复方法有很多, 最简单的就是直接在
onShutdown中判断如果没有_demuxer就不需要父类的onShutdown方法来释放资源与重连了.
因为针对HlsPlayer来说, 如果重试拉取索引没有成功, 应该没有什么资源需要在onShutdown方法中释放了.

当然更完善的修复应该是在PlayerProxy中增加相关的判断逻辑, 给rePlay一个状态.
确保rePlay执行完成前, 不再执行一次rePlay.

具体哪种方式, 大佬您可以看着办.
2022-04-10 19:09:16 +08:00
xiongziliang
e065b1dfba 子进程重启失败时,不应通知守护进程退出,确保子进程重启成功 2022-04-09 21:02:54 +08:00
xiongziliang
c334dcfd38 Revert "子进程重启失败时,不断重试,避免重启失败 (#1545)"
This reverts commit 471a8b77
2022-04-09 20:57:00 +08:00
alexliyu7352
471a8b7735
子进程重启失败时,不断重试,避免重启失败 (#1545)
* Update main.cpp

* 双重保险, 避免重启失败

业务繁忙的服务器当子进程崩溃后,
虽然延时了3秒, 但是如果服务器负载很高, 或者开启了coredump
会导致拉起子进程时, 仍旧端口占用导致子进程重启失败而直接退出主进程.

因此, 这里做了双重保险, 当子进程拉起时如果端口占用, 那么子进程会继续重试.
2022-04-09 20:37:36 +08:00
xiongziliang
a1b350c9f0 startSendRtp接口udp发送不指定端口时,从端口池获取端口 2022-04-09 10:33:27 +08:00
xiongziliang
a6e82799f5 openRtpServer接口新增re_use_port参数 2022-04-09 10:26:15 +08:00
xiongziliang
6073175e75 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-04-09 10:23:33 +08:00
alexliyu7352
78d32702e2
修复由于识别不出关键帧而导致hls不能切片. (#1551)
2.修复由于丢弃sei帧导致ffplay不能正常播放
2022-04-09 10:22:41 +08:00
xiongziliang
6c0fea4c46 Merge branch 'master' of https://gitee.com/xia-chu/ZLMediaKit 2022-04-07 20:39:34 +08:00
alexliyu7352
75b17b3a6a
避免m3u8文件为chunked时崩溃 (#1543)
* Update HttpChunkedSplitter.h

* 避免m3u8文件为chunked时崩溃

具体问题见
https://github.com/ZLMediaKit/ZLMediaKit/issues/1407

当数据最后小于2个字节时, 应该放弃回调.
做个保险, 避免导致溢出后崩溃.

这个bug很难出现, 但是的确存在. 一些特殊的服务器采用chunked返回的m3u8文件解析时, 有可能会遇到.

* Update HttpChunkedSplitter.cpp

Co-authored-by: 夏楚 <771730766@qq.com>
2022-04-06 14:16:48 +08:00
alexliyu7352
e4262222f4
hls拉流时应该适当重试 (#1541)
* hls拉流时应该适当重试

hls拉取索引文件失败时, 不应该直接上报,而应该内部适当重试几次.
避免由于网络抖动造成的客户端播放不流畅.

* Update HlsPlayer.cpp
2022-04-05 19:49:22 +08:00
alexliyu7352
efc3e78ba0
使用emplace_back优化代码 (#1542)
少了一次构造调用,为什么不用呢?
2022-04-05 19:32:02 +08:00
xiongziliang
8da23da35c 添加utf-8 bom头 2022-04-03 18:38:07 +08:00
xiongziliang
2818e371b8 完善startSendRtp接口 2022-04-03 18:37:22 +08:00