ziyue
a15053ff01
更新作者列表
2023-02-25 00:18:51 +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
ziyue
1f2ef82b46
新增支持获取gop大小与间隔信息: #1570
...
getMediaList/getMediaInfo接口、on_media_changed hook新增支持字段如下:
{
"codec_id" : 0,
"codec_id_name" : "H264",
"codec_type" : 0,
"fps" : 0.0,
"frames" : 1119, #累计接收帧数,不包含sei/aud/sps/pps等不能解码的帧
"gop_interval_ms" : 1993, #gop间隔时间,单位毫秒
"gop_size" : 60, #gop大小,单位帧数
"height" : 556,
"key_frames" : 21, #累计接收关键帧数
"ready" : true,
"width" : 990
}
2023-02-20 16:11:10 +08:00
alexliyu7352
2f8dab66c5
http地址支持相对路径 ( #2223 )
...
* 部分hls中会出现类似[../]或者[./]的相对地址, 因此写了一个解析的方法
* 有时候上游http协议不规范会导致直接输出eof, 特别是在自动重试机制开启下, 容易造成定时器没办法初始化从而拉不到流但是session一直存在,所以需要做一个判断,如果没数据直接报错
2023-02-20 10:52:00 +08:00
xiongziliang
5bcfba1da4
startSendRtpPassive接口新增连接超时参数:close_delay_ms
2023-02-17 23:02:09 +08:00
xiongziliang
8f0ba6988b
openRtpServer接口新增only_audio参数,优化语音对讲场景
2023-02-17 22:48:39 +08:00
ziyue
5cdaf982f3
更新zltoolkit,修复udp服务线程安全问题
2023-02-15 11:51:24 +08:00
zx
719b137208
修正macos持续集成运行目录 ( #2234 )
...
修改 macos 最后一步运行目录release/linux/Debug/ 改为release/darwin/Debug/
参看build log
https://github.com/ZLMediaKit/ZLMediaKit/actions/runs/4150150582/jobs/7179611556
2023-02-12 22:44:37 +08:00
ziyue
2f090e33cf
新增c sdk api,防止user_data导致的内存泄露
2023-02-11 15:14:18 +08:00
ziyue
5078723236
新增mk_http_body无拷贝创建api
2023-02-11 11:55:06 +08:00
ziyue
56586189cf
完善h264/h265分帧逻辑,更新h264文件直播测试程序
2023-02-11 11:43:41 +08:00
ziyue
0773e79fd1
新增自定义转协议创建mk_media接口
2023-02-11 11:40:32 +08:00
ziyue
9629dbd969
新增mk_ini配置文件相关接口
2023-02-11 11:39:26 +08:00
ziyue
b3ba6d4214
完善mk_transcode相关接口
2023-02-11 11:35:37 +08:00
ziyue
f6cba98a8e
修复FrameDispatcher可能导致死锁的问题
2023-02-06 14:19:43 +08:00
xiongziliang
6eb36ec883
获取MediaSource信息相关接口返回帧数相关字段:#1570
2023-02-05 22:04:14 +08:00
xiongziliang
a0955d956a
优化代码风格
2023-02-05 22:00:36 +08:00
xiongziliang
fb5b31a85f
更新media-server,修复某些国标流兼容性问题
2023-02-05 21:39:10 +08:00
xiongguangjie
a52e9d6ba8
fix h264 no idr nal sps pps sei i slices
2023-02-04 18:17:06 +08:00
ziyue
878f1a556e
更新zltoolkit,减缓udp网络接收线程漂移问题
2023-02-02 11:59:40 +08:00
ziyue
6078ca3e81
修复hls注册抛异常可能导致的bug
2023-02-02 11:21:49 +08:00
xiongziliang
44f4e9acd4
openRtpServer udp多端口模式默认绑定发送端地址,防止多路同时推流时ssrc冲突问题
2023-01-08 21:35:50 +08:00
xiongziliang
fcf70c6ef1
startSendRtpPassive接口支持同时接收流
2023-01-08 21:24:29 +08:00
xiongziliang
0374e7a660
startSendRtp接口支持同时接收流:#2109,#2149
2023-01-07 22:36:30 +08:00
Dw9
3b3a83b524
修复MediaSource在startSendRtp后无法注销的bug ( #2187 )
2023-01-07 21:31:46 +08:00
ziyue
f5755a17e7
合并 #2183
2023-01-02 12:08:20 +08:00
ziyue
08c47ff4f0
Merge branch 'feature/editable_rtsp_sdp' of github.com:a-ucontrol/ZLMediaKit
2023-01-02 11:59:56 +08:00
ziyue
77e46353ce
新增支持mjpeg es rtp流
...
mpegts/g711 payload改成固定模式
2022-12-30 18:04:15 +08:00
ziyue
ae950606cb
修复JPEGTrack无法就绪的bug
2022-12-30 18:03:21 +08:00
Ikko Ashimine
fda77f0daf
!23 fix typo in RtspSession.cpp
...
* fix typo in RtspSession.cpp
2022-12-30 17:25:58 +08:00
Alexandr
afa6465178
Changes to MP4Muxer for CodecJPEG
2022-12-30 08:56:57 +03:00
Alexandr
8bcc2cddc8
Build without usrsctp
2022-12-30 08:51:37 +03:00
Alexandr
dc26bbf145
protected virtual bool sendRtspResponse(...)
2022-12-30 08:50:30 +03:00
a-ucontrol
eed5f02380
rtsp/rtp 新增支持mjpeg编码 ( #2166 )
...
* Trying to send mjpeg via MultiMediaSourceMuxer
* Improved JPEGRtpEncoder::inputFrame code but still not working
* 优化代码
* 完善jpeg相关逻辑
* Micro fix
* FrameJPEG renamed to JPEGFrame according to ZLM style
* Modified JPEGRtpEncoder::inputFrame and JPEGRtpEncoder::rtp_send_jpeg
* getVideoHeight(), getVideoWidth() and getVideoFps() in JPEGTrack
* mjpeg rtp打包避免内存拷贝/修复mjpeg rtp解包huffman_table size字段错误的bug
* 支持mjpeg pix type
* 优化性能
* add bom header
2022-12-21 15:32:16 +08: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
monktan89
56ccd4332a
提高rtsp播放器兼容性: #2159
2022-12-14 15:08:24 +08:00
Dw9
9d40c82141
修复手机推rtc,其他协议拉流画面旋转
2022-12-08 21:52:55 +08:00
xiongziliang
04422b31b6
完善非法url提示:#2129
2022-12-04 16:21:08 +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
monktan89
68ea5465cc
修复addStreamProxy后,马上startSendRtp,触发的无人观看事件回调是MediaSourceNull的信息,导致无法关闭流bug( #2120 )
2022-11-29 11:33:16 +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
ziyue
6c655810ec
修复on_err事件死循环的bug: #2121
2022-11-28 14:28:56 +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
xiongziliang
50fa671564
修复析构中调用getOwnerPoller抛异常导致崩溃的bug:#2117
2022-11-26 10:16:47 +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