Commit Graph

4318 Commits

Author SHA1 Message Date
cqm
2adc12c4ab 修复只有aac的Rtmp流无法注册bug 2023-08-14 12:57:48 +08:00
cqm
442df29c83 增加转码配置说明 2023-08-14 12:57:48 +08:00
cqm
3765873582 处理转码和静音发生器冲突问题:
由于静音发生器产生的音频时间戳不连续,会导致转码出一大堆警告日志,并占用cpu
这变采用opus静音发生器来伪造rtc静音,而不是用转码:
2023-08-14 12:57:47 +08:00
cqm
607d8ba0e7 实现音频转码功能:
- 启用rtc:// schecma
- 增加音频转码码率配置
- aac转码使用原通道数
2023-08-14 12:57:47 +08:00
cqm
cb1650254f 支持多种类型的静音发生器 2023-08-14 12:57:47 +08:00
cqm
5041cf5ba4 RtpCodec保存和还原Rtp seq 2023-08-14 12:57:46 +08:00
cqm
5c92b4e48f 增加FFmpegEncoder和test_audio_transcode, 主要修改有:
- 使用FFmpegAudioFifo来简化代码
- 修复转码时间戳不规则递增,导致的音频破音和不连续问题
- 使用double来保存_tsp,避免出现2.5ms的frame_size(ffmpeg内置的opus)
2023-08-14 12:57:01 +08:00
cqm
b33c227cf4 AacTracker 增加构造函数 2023-08-14 12:57:00 +08:00
夏楚
e628cba1ca
新增配置项过滤on_stream_changed hook协议类型 (#2759)
配置项hook.stream_changed_schemas可指定监听感兴趣的协议
2023-08-14 00:05:32 +08:00
夏楚
f69204b321
hook请求添加hook_index, 防止hook请求乱序 (#2758) 2023-08-13 20:46:08 +08:00
xia-chu
2e05119df1 修复访问http目录下索引文件相关的bug 2023-08-12 15:54:12 +08:00
xia-chu
08299b6652 mp4录制新增追踪日志 2023-08-12 15:50:09 +08:00
xia-chu
aac8905619 api secret无效时不再直接退出程序
而是修改为随机字符串并持久化至配置文件
2023-08-12 15:43:30 +08:00
xia-chu
a7d95461ee 过滤掉不支持的webrtc rtp ext,提高webrtc转发兼容性
在测试obs simulcast推流时,发现chrome无法正常播放,
分析rtp ext扩展,发现是rtp mid ext未过滤导致,
zlmediakit在回复answer sdp时,已申明不支持mid扩展,
但是obs并未理会还是发送mid扩展。
根据answer sdp过滤rtp ext可兼容此问题。
2023-08-12 15:25:16 +08:00
xia-chu
2378617dd8 修复前向声明导致的编译问题 2023-08-08 16:06:29 +08:00
夏楚
383da1e09e
优化代码 (#2741)
删除无效的配置项,
同时修复编译警告
2023-08-05 21:30:01 +08:00
夏楚
fbf4819c5a
更新合作项目列表 2023-08-05 21:29:34 +08:00
夏楚
98a3b8ab91
推流结束时,发送eof控制信令给rtmp播放器 (#2711 #2723) 2023-08-05 09:26:52 +08:00
夏楚
ff225114ec
修复rtsp服务可能无法发送rtp给nat内播放器的bug (#2737 #2740)
在udp connect rtsp播放器内网端口后,可能导致过滤掉其公网端口发送的打洞包;
从未无法完成与rtsp播放器udp端口的双向通信。
Socket::bindPeerAddr修改成软绑定时,只是保存发送目标地址,不会导致打洞包的过滤。
2023-08-05 09:25:35 +08:00
夏楚
2935bc1932
修复sdp全局信息未保存问题 (#2739)
解决rtsp拉流代理时无法区分直播点播问题
2023-08-05 09:24:52 +08:00
夏楚
bd7982ecc1
某些分支不开启docker ci (#2722)
为了加快编译速度,只开启master、feature、release分支的docker ci
2023-07-29 23:52:17 +08:00
夏楚
63a50104fa
rtp ntp时间戳采用透传方式 (#2719) 2023-07-29 23:04:26 +08:00
夏楚
5a2bf8d196
完成对enhanced rtmp videocodecid的兼容 (#2718)
请查阅: https://github.com/veovera/enhanced-rtmp/issues/8
2023-07-29 23:03:28 +08:00
夏楚
bd8ad2eabf
优化enhanced-rtmp解析性能 (#2717) 2023-07-29 13:24:21 +08:00
夏楚
00b3c5184a
修复RtpProcess析构中抛异常导致崩溃的问题 (#2714)
WarnP(this) 时会调用get_peer_ip()接口,此接口可能抛异常;
析构中抛异常可导致程序直接退出。
2023-07-29 13:24:07 +08:00
夏楚
73c8a5faf4
统一设置单字节对齐方式 (#2716)
__attribute__((packed)) 替换为 #pragma pack(push, 1)
2023-07-29 13:07:22 +08:00
夏楚
54194fe501
兼容不规范的rtmp推流器 (#2417 #2715)
有些rtmp推流器在服务器返回鉴权成功前就开启推送流数据
2023-07-29 13:06:36 +08:00
夏楚
5464313b41
修复webrtc推流互斥锁重入死锁bug (#2713)
simulcast推流时,在onRecvRtp函数中可能触发对totalReaderCount的调用,从而导致死锁。
2023-07-29 13:04:24 +08:00
夏楚
eaecf9a56c
ip白名单添加局域网ip 10段 (#2712) 2023-07-29 13:04:06 +08:00
夏楚
b9af556908
Update README.md 2023-07-28 14:51:13 +08:00
xia-chu
2bcbff09b0 web hook不再直接放行来自127.0.0.1播放鉴权请求
防止代理越过鉴权
2023-07-27 15:54:04 +08:00
xia-chu
2c8a46862b 来自127.0.0.1的http api请求开启secret校验
防止http代理越过鉴权
2023-07-27 15:54:04 +08:00
xia-chu
c1f6517471 在开启on_http_access hook时,访问http文件(或目录)ip白名单机制不生效
on_http_access hook优先级更高,关闭on_http_access hook时才采用ip白名单机制,防止两种鉴权机制间的冲突
2023-07-27 15:54:03 +08:00
xia-chu
dfae1aee97 修复设置allow_ip_range为空后,无法关闭鉴权相关bug 2023-07-27 15:29:11 +08:00
xia-chu
e81efec96e ip白名单机制只对需要secret校验的http api生效 2023-07-26 17:18:33 +08:00
xia-chu
22e3872cd4 优化ip过滤逻辑性能 2023-07-26 16:45:47 +08:00
xia-chu
706c63c64b 禁止通过setServerConfig接口修改ffmpeg.bin配置选项 2023-07-26 16:40:10 +08:00
xia-chu
098046cb1d 新增http api与http文件访问ip白名单限制机制,默认禁止公网访问 2023-07-26 16:33:21 +08:00
xiongguangjie
e8f8b48d38
fix rtsp player pull hik record stream (#2624 #2701)
修复rtsp 拉流 sdp中全局a:control:获取失败的bug
2023-07-25 15:47:28 +08:00
xia-chu
9317665058 支持enhanced-rtmp(H265) 2023-07-22 23:13:44 +08:00
xia-chu
b580d6c736 修复判断是否为增强型rtmp协议相关bug
有符合整型右移7位可能为-1(而不是1)
这样将导致在处理增强型rtmp时,判断关键帧和配置帧失败
2023-07-22 20:09:59 +08:00
xia-chu
3e9a8b9d8b 优化函数命名
isCfgFrame -> isConfigFrame
getAacCfg -> getConfig
2023-07-22 19:46:26 +08:00
xia-chu
780a1eb9fc 完善rtmp关键帧与配置帧判断逻辑 2023-07-22 19:46:26 +08:00
xia-chu
a86398b6db 优化与完善rtmp协议相关代码
rtmp相关常量由宏改为枚举
明确rtmp包一些字段赋值含义
2023-07-22 19:46:25 +08:00
夏楚
47add54465
新增支持enhanced-rtmp h265 推流 (#2694) 2023-07-22 17:31:39 +08:00
夏楚
b44ca8fd6f
rtmp协议支持更新metadata (#2669 #2692) 2023-07-22 17:31:23 +08:00
夏楚
a97f1e503d
提高http/rtsp header解析兼容性 (#2670 #2693) 2023-07-22 17:31:02 +08:00
夏楚
09aa38334e
H264 rtsp sdp生成正确的packetization-mode (#2691) 2023-07-22 17:30:39 +08:00
夏楚
25d5e410c3
禁止默认http api密钥,删除管理员越过鉴权逻辑 (#2655 #2690)
http api secret禁止使用默认的035c73f7-bb6b-4889-a715-d9eb2d1925cc
删除admin_params的设定
2023-07-22 17:30:20 +08:00
夏楚
a17e842da2
兼容ffmpeg6.0 (#2648 #2689) 2023-07-22 17:29:09 +08:00