Commit Graph

86 Commits

Author SHA1 Message Date
xia-chu
664d0b67bc Add the listRtpSender http api 2024-04-21 11:31:43 +08:00
夏楚
64f15202de
Support multi audio/video track 2023-12-09 22:34:22 +08:00
夏楚
bbe8f4a018
release 8.0 2023-12-09 16:23:51 +08:00
夏楚
21c03f772f
新增平滑发送逻辑 (#3072) 2023-12-02 10:20:06 +08:00
Dw9
f8285a3f6c
startSendRtp接口新增支持同ssrc向多个服务器推流 (#2951)
新增ssrc_multi_send参数,支持同ssrc向多个服务器推流,兼容当前startSendRtp/stopSendRtp接口
2023-11-07 23:38:58 +08:00
夏楚
e52c1cc510
修复addFFmpegSource添加的流事件拦截可能失效问题 (#2642 #2629)
此pr主要为了修复 #2629,通过新增getMuxer接口,
可以直接获取到所有协议共享的MultiMediaSourceMuxer对象,
在此对象完成事件拦截,防止某种协议事件丢失。
同时调整了下FFmpegSource.cpp代码格式。
2023-07-08 21:35:09 +08:00
XiaoYan Lin
cb0579a16d
新增支持hls-fmp4直播(#2603 #977 #1965)
同时主要优化点包括:
1、编译宏特性开关优化。
2、转协议复用器相关创建代码移动至Recorder类。
3、转协议复用器onAllTrackReady函数修改为addTrackCompleted。
4、startRecord/stopRecord/isRecording接口新增支持ts/fmp4/hls-fmp4协议。

Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: linxiaoyan87 <linxiaoyan87@foxmail.com>
2023-07-02 12:02:33 +08:00
johzzy
03770ff409
Replace the tuple (vhost/app/stream) with MediaTuple. (#2560) 2023-06-17 10:28:01 +08:00
Johnny
0232caf068 add MediaTuple 2023-05-30 11:01:27 +08:00
Dw9
978143c86d
rtp级联(ps/ts/es)新增支持gop缓存功能 (#2395)
该修改主要解决rtp级联(调用startSendRtp接口)未做gop缓存导致上级无法秒开的问题。
同时通过RingBuffer对象线程隔离的特性,实现了在断连续推场景下归属线程切换导致的线程安全问题。
用户如未使用rtp级联功能,请修改配置文件关闭GOP缓存(rtp_proxy.gop_cache=0)以便节省内存。

---------

Co-authored-by: 夏楚 <771730766@qq.com>
2023-04-17 12:19:24 +08:00
老衲不出家
f05a9501fa
Unified code style (#2137) 2022-12-02 14:43:06 +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
xiongziliang
9bb6a2f828 全面整理转协议相关配置文件 2022-11-12 23:56:28 +08:00
xiongziliang
0053148139 优化MultiMediaSourceMuxer相关代码 2022-11-05 20:47:33 +08:00
ziyue
520945c2e9 提高线程安全性 2022-11-01 10:53:38 +08:00
夏楚
b9a4b3e71a
消除编译警告 2022-09-24 19:07:45 +08:00
xiongziliang
12551be33c 提炼ProtocolOption赋值相关逻辑 2022-09-16 23:31:37 +08:00
PioLing
0948a3df31
支持在addStreamProxy和on_publish中控制单个流是否开启时间戳覆盖 (#1930) 2022-09-03 09:54:09 +08:00
xiongzilaing
679c79802f 整理媒体事件相关代码,删除无须重载时的多余代码逻辑 2022-08-28 17:25:56 +08:00
xiongziliang
6a4297845f 新增发送rtp被动关闭hook 2022-08-27 10:53:47 +08:00
Dw9
30984d2076
mp4录制支持作为观看者参与播放人数统计 (#1880) 2022-08-16 11:47:24 +08:00
custompal
771844d065
去除rtp_sender_mtx (#1722)
* 去除rtp_sender_mtx
* 无人观看定时器指定为MediaSource对象所属poller以确保读取观看数是线程安全的

Co-authored-by: xiongziliang <771730766@qq.com>
2022-06-18 13:22:57 +08:00
xiongziliang
b23cbaa0f8 on_publish hook新增continue_push_ms参数,用于断连续推延时控制 2022-06-04 11:06:35 +08:00
xiongziliang
2818e371b8 完善startSendRtp接口 2022-04-03 18:37:22 +08:00
xgj
61625f458f for webapi startsendrtp can send raw rtp 2022-04-01 18:28:09 +08:00
xiongziliang
0f1120b8a6 on_publish hook新增多种选项 2022-03-12 14:34:48 +08:00
xiongziliang
4dc621e1bb 转协议选项抽象为ProtocolOption对象 2022-03-12 13:24:23 +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
ziyue
e9008afca0 addTrack/inputFrame接口支持返回值;新增全局添加静音音频接口 2021-09-27 13:12:53 +08:00
ziyue
10522e4ea5 完善getOriginUrl接口 2021-08-16 17:31:13 +08:00
ziyue
018fa40946 打印codec信息时,打印url信息 2021-08-05 14:49:52 +08:00
ziyue
566a49e227 修复getMediaTracks接口相关功能 2021-07-20 13:15:57 +08:00
ziyue
4b34e58d3c 移除MultiMuxerPrivate对象,修复rtp发送时无sps pps帧的问题 2021-07-20 12:42:53 +08:00
xiongziliang
c0f4899950 录制接口支持指定切片时间大小:#747 2021-03-07 10:41:57 +08:00
xiongziliang
aa45590c13 添加对象统计接口 2021-01-23 09:44:37 +08:00
xia-chu
b6cbc87712 全面整理代码,去除编译警告 2021-01-17 18:31:50 +08:00
xiongziliang
c69e9b8ec1 主动发送rtp接口(startSendRtp)支持返回本地端口: #538 2021-01-02 20:43:02 +08:00
ziyue
fd15fe70b2 合并 https://gitee.com/kingyuanyuan/ZLMediaKit 2020-12-27 18:41:53 +08:00
hewenyuan
50927548e9 增加多路RTP视频流输出 2020-11-27 17:19:55 +08:00
xiongziliang
1cc3add97f 提升按需转协议性能与体验 2020-11-15 00:59:31 +08:00
xiongziliang
ab9a605a66 优化代码结构 2020-10-24 23:33:13 +08:00
xiongziliang
bae52db6ba 修复关闭某些功能后,编译失败的问题 2020-09-27 16:54:55 +08:00
xiongziliang
d971eccf92 新增支持HTTP-fMP4 WebSocket-fMP4直播 2020-09-20 19:45:37 +08:00
xiongziliang
c76930e3cd 支持http-ts/websocket-ts直播 2020-09-20 00:21:46 +08:00
xiongziliang
3b5053af50 修复关闭HLS后,编译失败的问题 2020-09-12 19:46:58 +08:00
xiongziliang
be1e872f0c 完善按需转协议(包括hls) 2020-09-12 19:20:18 +08:00
xiongziliang
9e26a02fb1 实现rtsp/rtmp按需转协议功能 2020-09-12 19:09:56 +08:00
xiongziliang
09e484794b 实现ps-rtp的发送 #366 2020-09-06 17:56:05 +08:00
xiongziliang
ac70597216 优化getTrack接口相关代码 2020-09-06 17:54:52 +08:00
xiongziliang
eca9236955 优化与拦截代码 2020-09-06 17:52:07 +08:00