alexliyu7352
|
c1d2adebae
|
rtmp拉流的兼容性改进 (#1595)
* 修复play指令的bug
* 修改MSG_AGGREGATE的时间戳处理逻辑
这里参考了ffmpeg的方式来计算时间戳.
* add bom
|
2022-04-28 14:13:09 +08:00 |
|
xiongziliang
|
974055fd17
|
确保推流器主动断开时,不开启断连续推特性: #1559
|
2022-04-16 21:37:07 +08:00 |
|
wangcker
|
e712639e33
|
openrtpserver接口新增ssrc参数,强制过滤不属于本端口的视频流,以解决视频串流问题 (#1572)
|
2022-04-16 15:12:49 +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
|
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 |
|
xiongziliang
|
de0738b1d1
|
Merge branch 'feature/rawrtpsend' of github.com:ZLMediaKit/ZLMediaKit
|
2022-04-03 17:34:51 +08:00 |
|
alexliyu7352
|
a7476e436a
|
修复HlsPlayer播放器BUG
当拉取加密流时, 因为不能正常播放, 所以不会触发playresult.
因此一直不会回调api请求.
|
2022-04-01 20:59:58 +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 |
|
wendelong
|
97ea8090ad
|
修复HLS播放导致程序异常的BUG
|
2022-03-29 13:43:17 +08:00 |
|
xiongziliang
|
ae99662a3d
|
修复编译警告
|
2022-03-27 21:57:05 +08:00 |
|
Dw9
|
822a401f30
|
优化端口池范围限定逻辑 (#1508)
|
2022-03-26 10:15:18 +08:00 |
|
xiongziliang
|
a16b6cbc59
|
mp4切片逻辑提高对音视频交织性差的流的兼容性能
|
2022-03-20 14:52:15 +08:00 |
|
xiongziliang
|
b127d8c2a9
|
rtsp/GB28181随机端口,支持端口范围设置
|
2022-03-13 20:50:25 +08:00 |
|
xiongziliang
|
0f1120b8a6
|
on_publish hook新增多种选项
|
2022-03-12 14:34:48 +08:00 |
|
xiongziliang
|
1cf0a0cc20
|
bug fix
|
2022-03-12 14:02:12 +08:00 |
|
xiongziliang
|
4dc621e1bb
|
转协议选项抽象为ProtocolOption对象
|
2022-03-12 13:24:23 +08:00 |
|
xiongziliang
|
ed661b1cf1
|
修改无法删除hls目录的bug:#1485
|
2022-03-12 10:57:39 +08:00 |
|
xiongziliang
|
2d88115b3f
|
完善http直播url解析规则pr:#1467
|
2022-03-12 10:04:36 +08:00 |
|
xiongziliang
|
81c0635bf2
|
Merge branch 'add_schema_query_string' of github.com:mtdxc/ZLMediaKit
|
2022-03-12 09:53:07 +08:00 |
|
alexliyu7352
|
090593f67c
|
hls拉取索引文件避免循环重试 (#1474)
当hls拉取索引文件失败时会触发重试.
但是play失败会调用一次rePlay, OnShutdow又会调用一次的rePlay.
由于m3u8文件非常小, 很大可能上短时间马上就会重试成功.
但是由于有两次的rePlay所以很可能再次析构了player, 又循环触发了更多的rePlay.
所以在播放成功后, 应该取消掉定时器
|
2022-03-12 09:44:47 +08:00 |
|
alexliyu7352
|
4be3c349be
|
mpeg-ts解析丢弃不完整的包 (#1478)
* 丢弃不正确的包
因为网络抖动或者拉流超时导致ts包不全.
这里丢弃掉有问题的包, 避免客户端解码中断
* Update TSDecoder.cpp
* 格式化代码
Co-authored-by: 夏楚 <771730766@qq.com>
|
2022-03-12 09:41:15 +08:00 |
|
alexliyu7352
|
276f763c08
|
hls拉流动态计算切片超时时间 (#1477)
* 动态计算切片超时时间
设置最大超时时间倍数和最小倍数,然后根据上一个切片的下载情况动态增加或者减少切片的超时时间.
* Update HlsPlayer.cpp
|
2022-03-12 09:39:33 +08:00 |
|
alexliyu7352
|
b4241e12d5
|
hls拉流新增支持mime类型 (#1476)
一些流服务器输出mime头有可能时audio/x-mpegurl, 所以这点的判断不能写的太死了.
|
2022-03-12 09:36:28 +08:00 |
|
alexliyu7352
|
2c63916973
|
http-ts拉流新增支持mime类型(#1475)
ts切片有些mime头并不是只有这两种,
比如youtube的ts切片头就是application/octet-stream
|
2022-03-12 09:35:22 +08:00 |
|
cqm
|
4cfac989b3
|
支持?schema=rtmp/ts/fmp4格式
|
2022-03-03 19:45:47 +08:00 |
|
ziyue
|
d88fe077ed
|
on_publish hook新增originType字段
|
2022-03-02 18:03:44 +08:00 |
|
ziyue
|
4af83cbe7c
|
修复ENABLE_MEM_DEBUG时编译失败的问题
|
2022-03-01 19:00:50 +08:00 |
|
xiongziliang
|
8324a9fe43
|
修复rtsp推流访问空指针的bug:#1456
|
2022-02-28 17:20:20 +08:00 |
|
xiongziliang
|
b82cd5a500
|
确保ntp时间戳获取失败时,webrtc rtp重传缓存列队长度正常
|
2022-02-27 01:02:54 +08:00 |
|
ziyue
|
b2bb37dc5c
|
http: 修复32位系统下,下载3GB以上文件失败的问题: #1446
|
2022-02-23 17:03:13 +08:00 |
|
ziyue
|
4a7f5796ba
|
修复ts文件大于3GB时,获取文件大小异常的问题
|
2022-02-23 17:01:53 +08:00 |
|
ziyue
|
147ba6147c
|
rtsp/rtp: 过滤干扰的rtp pt, 提高兼容性: #1445
|
2022-02-22 16:53:05 +08:00 |
|
ziyue
|
a15d59cf23
|
hls/ts播放器改成绝对时间戳:#1389
|
2022-02-22 11:45:41 +08:00 |
|
ziyue
|
cb00dbab0f
|
在track就绪前,强制split frame,防止sps pps未被获取到
|
2022-02-17 14:32:49 +08:00 |
|
ziyue
|
c997d11bd1
|
修复mp4点播时,sps pps太长导致获取失败的问题
|
2022-02-17 14:31:28 +08:00 |
|
xiongguangjie
|
9c45fca761
|
根据配置禁用mmap缓存 (#1429)
|
2022-02-17 10:35:10 +08:00 |
|