学习ZLmediaKit流媒体服务器时候遇到的问题

照zlmediakit的源码 自己复制了一份 

然后有的地方编译不过修改了部分 

测试的时候发现有两个问题 

第一是 ffmpeg的ffplay 能播放  vlc不能播放 

第二个问题是directProxy设置为0的时候 推流的时候 然后用ffplay播放 只有音频没有视频 

查了好久终于解决这个问题 

第一个问题的现象 所有设置默认 directProxy默认为1

ffmpeg推本地mp4文件到miniserver服务器(我自己重新命名的工程)

用ffplay命令能播放 但是 用vlc不能播放 

查看log发现 拉流时候 setup的过程中  socket的recvfrom返回0  log如下

 代码中 这里 如果为0 的话就直接抛出异常 直接关闭练连接了

 后来通过不断加log 仔细对比 发现是  DESCRIBE方法 构建sdp报文的时候有问题 

 这个问题产生的原因就是 当初 这台服务器上 有关 ostream 的c++的库 有问题 会编译出错  (后来这个问题通过替换C++的so库解决了)

所以当初 涉及到StrPrinter的地方都改了  如下 dur_sec那个变量那里

 官方原来的代码如下 恢复成官方的代码就好了

另一个  directProxy ffplay播放只有音频的问题 也是不断加log 后来仔细对比 sdp报文 发现是在 setup构建sdp报文时候的问题

有问题的我的代码 看playload_type那里导致的问题

官方原来的代码

 恢复成官方的代码就可以了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QMCY_jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值