Commit Graph

575 Commits (6d64490d738ff6b8f51f80dce80bb1297bec9416)

Author SHA1 Message Date
xialixin@kanzhun.com fdaee20b81 For , Enable RTC and FLV for GB28181
winlin d8563398b2 Clock: Update stat. Insert timer to execute first
winlin 945cf64024 Refine srs_player
winlin f006bf59b1 Support HTTP-FLV and HLS for srs-player by H5. 4.0.63
winlin 979bf86e8b Support HTTP-FLV and HLS for srs-player by H5. 4.0.63
winlin 5c41766b79 Support HTTP-FLV and HLS for srs-player by H5. 4.0.63
johzzy 3c14a96bdd
fix: html5 video tag resolution adaptive. ()
winlin 040893efde Add research for UDP binding
winlin f9444c376c Merge SRS4
winlin af8bf67606 Refine player
winlin 92588c0872 Merge branch '4.0release' into develop
winlin c3938ddfd2 Research: Add cost analysis
winlin a4d1b3e2ca Research: Add cost analysis
Pieere Pi ffae1720ec gb28181模块可用性增强
主要改动,
1. 支持作为GB/T 28181上级平台
2. 新的目录接口sip_query_devicelist (/api/v1/gb28181?action=sip_query_devicelist)
3. 各种异常和问题修复
4. 其他一些小改动

以上改动基于feature/rtc分支,因为需要网页用WebRTC来拉GB28181的监控流,gb28181分支代码有点老了。

下面的序号n是指第n个差异块("@@ -"之间的内容)。

srs_gb28181.html
1. 原页面上多加了一个端口号
2-4. 给摄像头加上名称显示
5. 查询目录去掉chid
6. 删除通道参数分解为id和chid
7. API端口固定为1985

srs_app_gb28181.cpp
1-4. 四处因为错误而退出GB28181媒体处理循环,修改为不退出
5. payload为空异常
6. 修正判断startcode越界一个字符导致内存写越界的问题
ps流有可能末尾是全零填充,而且越界的那个字符正好是0x01,这样会多出一个nalu(末尾的三个0x00和一个越界的0x01),后面写video_data内存越界(if (first_pos != pre_pos){块,此处size - pre_pos - 4为-1,uint32_t naluLen得到的值为0,video_data[pre_pos+3] = p[0];写越界)破坏了其他数据,后续video_stream析构出错程序异常退出。
7. 此处srs后来已修复
8. 更新ssrc为被叫返回的值
原代码只支持标准中的《点播域内设备媒体流SSRC处理方式》(设备注册上来),不支持《点播外域设备媒体流SSRC处理方式》(即作为上级平台)。
这是因为如果srs作为上级平台,ssrc不是自己生成的,而是下级平台生成的。
9. 删除通道参数分解为id和chid
10. notify_sip_unregister后delete_stream_channel无效
11. notify_sip_query_catalog清空内存中的设备列表
12. 新函数query_device_list

srs_app_gb28181.hpp
1. update_rtmpmuxer_to_newssrc_by_id声明
2. 新函数get_gb28181_config_ptr和函数delete_stream_channel声明修改
3. 新函数query_device_list

srs_app_gb28181_sip.cpp
1-4. 在调试界面给摄像头加上名称显示;新函数clear_device_list和新函数dumpItemList
5-6. 两处因为错误而退出GB28181信令处理循环,修改为不退出
7. 设备注册上来,不检查服务器ID匹不匹配(支持作为上级平台)
8. 收到一个目录上报消息,更新内存中的数据
9. 更新ssrc为被叫返回的值
10. 新函数query_device_list

srs_app_gb28181_sip.hpp
1. 在调试界面给摄像头加上名称显示
2. 每个设备加上item_list,用于存储目录;新函数clear_device_list和新函数dumpItemList
3. 新函数clear_device_list

srs_app_http_api.cpp
1. 删除通道参数分解为id和chid
2. 新的接口sip_query_devicelist,用于查询所有设备的目录

srs_sip_stack.cpp
1. GB2312转UTF-8类
2. 被叫返回的ssrc初始化
3. parse_xml声明修改
4. 对XML内容进行字符集检测和转换
5-7. parse_xml定义修改
8. SIP BODY里面也有可能有\r\n
9-10. 防止恶意SIP消息 by vicious sip prober
11-12. 新的XML解析目录代码
13. 获取被叫返回的ssrc

srs_sip_stack.hpp
1. 依赖vector
2. 每个设备加上item_list,用于存储目录
3. 被叫返回的ssrc
4. parse_xml声明修改
winlin 751dab56d8 RTC: Refine player and publisher
winlin 529264f238 RTC: Refine player and publisher
winlin efca38cd89 Player: Change default HTTP-API port to 1985 for WebRTC
winlin e085250245 Update players
winlin 08e19406ef Player: Refine code
winlin e71d770a26 Update
winlin e830ca7d0c Research: Add huge coroutine test program
winlin ae56293b27 Research: Add simple ST
winlin 941fdebd24 Research: Add mmap demo
winlin 534fcabbd5 Research: Update players
winlin 44e550e523 Research: Add badalloc
winlin a42da57448 Refine comments
winlin a7961e558b Research: Learn about the function call
winlin 5e7fe096a9 Refine player pages
winlin 9ef8e1bd86 RTC: Refine js for player
winlin 72f87e7cbc RTC: Refine js for player
winlin 3eeeda6a12 Player: Remove jwplayer and osmf
winlin c6a68234cb RTC: Fix publish page
winlin 812403a44d Remove srslibrtmp
winlin 9614af070c Support simulator link in DEMO page
winlin d125116317 Support simulate NACK for RTC publisher
winlin 4d33070c59 Support NACK for RTC player
winlin 47df22df9e Refine RTC, no trickle for ice-lite, disable algorithms right-now
winlin a812183144 Refactor the RTC sender audio queue
winlin ef64c5e2bd Refine RTC, reject when config disabled.
winlin e4329fd1a0 Refactor RTC, create source once
winlin ebdc03416a Free rtc publish. Refactor TAB to spaces
winlin cd3c15ec4e Support RTC publisher.
xiaozhihong bb9367f88a add rtc_publisher.html
winlin dabad68f48 Merge branch 'feature/gb28181' into develop
winlin 7bec73f224 Refactor demo pages.
kyxlx550 904ce2452b update srs gb28281 web demo
winlin 0fe9d9e324 Add UDP ZeroCopy research
kyxlx550 6a070a9a64 support sip ptz cmd
winlin 74416e476a Refine research zerocopy, use batch for reception
winlin 72322836c6 Update demo for zerocopy