解决webrtc前端replaceTrack断流问题

在前端replaceTrack时,会发送rtcp byte消息,而ZLM目前的处理是收到bye就关闭连接,所以前端新的流就推不上来。

查看源码WebRtcTransport.cpp大约760行左右的处理rtcp的函数WebRtcTransportImp::onRtcpRtcpType::RTCP_BYE

case RtcpType::RTCP_BYE: {// 对方汇报停止发送rtpRtcpBye *bye = (RtcpBye *)rtcp;for (auto ssrc : bye->getSSRC()) {auto it = _ssrc_to_track.find(*ssrc);if (it == _ssrc_to_track.end()) {WarnL << "未识别的bye rtcp包:" << rtcp->dumpString();continue;}_ssrc_to_track.erase(it);}onShutdown(SockException(Err_eof, "rtcp bye message received"));break;}

onShutdown会关闭掉当前的会话。注释掉此行代码重新测试即可

void WebRtcTransportImp::onShutdown(const SockException &ex) {WarnL << ex.what();unrefSelf();for (auto &pr : _history_sessions) {auto session = pr.second.lock();if (session) {session->shutdown(ex);}}
}

相关Issue

解决webrtc前端replaceTrack后ZLMediaKit断流问题相关推荐

  1. php json转数组后并在前端展示,0516-如何从服务器端获取JSON格式字符串并解决到前端页面中显示...

    一. 如何从服务器端获取JSON格式字符串并解决到前端页面中显示 1.采用AJAX异步方式从服务器请求必须为字符串的数据:例如 $PHP=  '{"aaa":"bbb&q ...

  2. 快速解决Vue项目打包后文件过大问题

    快速解决Vue项目打包后文件过大问题 为什么打包后文件过大? 如何快速解决 一.路由懒加载[使用es6提案的import()方式] 二.CDN引入 为什么打包后文件过大? 移动app项目,使用vue- ...

  3. Sublime如何解决安装Emmet插件后提示 Error while loading PyV8 binary

    Sublime如何解决安装Emmet插件后提示 Error while loading PyV8 binary 解决方法 解决方法 Emmet插件对于喜欢用Sublime进行前端开发的人来说是必不可少 ...

  4. 解决Git Revert操作后再次Merge代码被冲掉的问题

    解决Git Revert操作后再次Merge代码被冲掉的问题 参考文章: (1)解决Git Revert操作后再次Merge代码被冲掉的问题 (2)https://www.cnblogs.com/ja ...

  5. 解决Jupyter notebook安装后不自动跳转网页的方法

    解决Jupyter notebook安装后不自动跳转网页的方法 参考文章: (1)解决Jupyter notebook安装后不自动跳转网页的方法 (2)https://www.cnblogs.com/ ...

  6. 解决idea导入项目后依赖报错问题

    解决idea导入项目后依赖报错问题 参考文章: (1)解决idea导入项目后依赖报错问题 (2)https://www.cnblogs.com/dayandday/p/10607195.html (3 ...

  7. 解决pycharm新建项目后按钮灰色问题

    解决pycharm新建项目后按钮灰色问题 参考文章: (1)解决pycharm新建项目后按钮灰色问题 (2)https://www.cnblogs.com/maggie-zhang/p/1104575 ...

  8. 一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题...

    一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题 摘要 前面的文章中,我曾提到,Form认证目前还有缺陷,就是实现For ...

  9. mysql 57授权失败_MYSQL教程完美解决mysql客户端授权后连接失败的问题

    <MYSQL教程完美解决mysql客户端授权后连接失败的问题>要点: 本文介绍了MYSQL教程完美解决mysql客户端授权后连接失败的问题,希望对您有用.如果有疑问,可以联系我们. MYS ...

最新文章

  1. 点云配准的端到端深度神经网络:ICCV2019论文解读
  2. android呼吸灯动画,Android高德地图自定义定位蓝点实现呼吸灯功能
  3. pybind播放视频
  4. python3.8.5 run-Python 3.8.5 正式发布
  5. AngularJS 拦截器和好棒例子
  6. android启动---lk入口文件crt0.s解析
  7. Android 第三方之MPAndroidChart
  8. iis php重定向循环,在windows机器IIS上如何设置301永久重定向
  9. 制作wordpress页面的学习记录
  10. Django Cookie于Session
  11. 【模拟】游戏(jzoj 1614)
  12. vijos 1464 积木游戏 DP
  13. 统计思维如何帮助大数据应用从人工走向智能?(上)
  14. 前端实现成绩管理系统
  15. 计算机怎样双面打印,电脑双面打印机怎么打印双面_电脑如何设置自动双面打印-win7之家...
  16. 原厂PL7203大电流3A充电IC
  17. 第一次做腌菜 腌柚子皮
  18. 粗暴解决《python数据挖掘入门与实践》第五章PCA案例中pd.read_csv函数里converters无作为的方案
  19. 【OpenGrok代码搜索引擎】一、OpenGrok简介
  20. 计算机专业课911,2018年北京物资学院911计算机学科专业基础综合考研复习资料...

热门文章

  1. 环境配置:前端程序员快速进行开发
  2. 了解中国的组织结构后续
  3. 【异构图神经网络】HGraph || 附:AI研究生时间规划 建议(研一、研二、研三)
  4. Xilinx 7系列 FPGA CLB资源介绍
  5. CleanMyMac4.11.2清理苹果电脑硬盘、删除垃圾文件软件
  6. postgres查询排名
  7. rnnlm源码分析(四)
  8. 共享内存—shmget参数shmflg详解—IPC_CREAT、IPC_EXCL、0666(对内存的读写执行权限)
  9. Informatica元数据库解析
  10. 车企数据治理的障碍是什么?如何解决?