视频推流服务器EasyRTMPLive拉转推过程中遇到复杂目的地址解决方法?

最近有用户在测试EasyRTMPLive 做拉RTMP流转推到CDN的时候遇到一直不能成功的情况,始终开启不了转推状态。

开发者拉流地址和推流地址如下:

84.png

因为调试窗口也没有回调出任何错误,直观感觉可能是地址分割的时候出了问题,于是跟踪了一下代码,首先查看结构体是否能够满足存放。

85.png

确定了字段能够满足存储,接下来看下回调,在__WEBSERVER_CallBack中WEB前端调用addChannel时,跟踪到的地址是

86.png

可以看到 dstURL并没有用“”,在后面做字符串分割的时候,目的地址中有“&”,导致分割错误,老的分割模式如下
sscanf(data,“indexCode=%[&]&name=%[&]&srcURL=”%["]"&connectType=%[&]&timeout=%[&]&mediaType=%[&]&dstURL=%[&]&dstFormat=%[&]&enable=%s",
szIndexCode, szName, szSourceURL, szConnectType, szTimeout, szMediaType, szDestURL, szDestFormat, szEnable);
原因就是这个地方,因为目的地址包含了特殊字符的分割标志,经过和前端同事沟通,传目的地址的时候也加“”处理,如下图

87.png

字符串分割用下面的方法,至此完美解决问题。
sscanf(data,“indexCode=%[&]&name=%[&]&srcURL=”%["]"&connectType=%[&]&timeout=%[&]&mediaType=%[&]&dstURL="%["]"&dstFormat=%[&]&enable=%s",
szIndexCode, szName, szSourceURL, szConnectType, szTimeout, szMediaType, szDestURL, szDestFormat, szEnable);
效果如下图:

88.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值