kurento-media-server里的坑有n多,而且很多是极其初级的坑。忍不住吐槽一下,不知道是故意的还是他们的程序员刚毕业

1、首先kurento-media-server只能安装在ubuntu14 和16版本。

2、如果你想在centos里装,那就docker吧,而且必须centos7以上才行

3、安装好docker,那么精彩的地方来了,kurento-media-server 6.11有两个坑:

    1)第一个坑是居然无法启动:

error KurentoWebSocketTransport WebSocketTransport.cpp:130 WebSocketTransport() Error starting listen for websocket transport on port 8080: Underlying Transport Error

   原来论坛里已经有人遇到的,参考:https://github.com/Kurento/bugtracker/issues/301

    找论坛+源码,应该是ipv6的问题,配置文件kurento.conf.json禁掉ipv6,这样可以启动。

    但还会有第二个问题:

    2)kurento-media-server 6.11(包括以上)版本的问题是,WebRtcEndpoint.conf.ini这个文件会莫名其妙的被清空,只要一启动服务就会被清空,所以你如果想配什么turn/stun,对不起那是不可能的,而且这个问题无解,除非去看源代码

方法一:修改源码,用源码编译(没时间尝试)

方法二:试试其他版本,测试6.10版本,WebRtcEndpoint.conf.ini不会被清空,但还会报端口无法监听的错误,这个版本就算用1)里面的禁止ipv6也没有用。

解决办法:首先,把你的宿主机enable ipv6

然后,把docker enable ipv6 :修改配置文件/etc/docker/daemon.json,

{
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:1::/64"
}

然后重启docker, ifconfig看到docker分配了ipv6地址才行。

参考https://blog.csdn.net/bleatingsheep/article/details/80534153

 

分析:kurento-media-server6.10的bug是禁止ipv6不生效,查看kurento源码可看到连判断ipv6的分支都没有做,无语了。如果你的机器默认使能了ipv6,那么不会遇到这个问题

kurento-media-server6.11版本改掉了上面的这个bug,但是又出现了新问题,WebRtcEndpoint.conf.ini居然给清空了,无论你怎么配,只要重启服务,就会被清空,还没来得及看源码是怎么回事。

我的方法是docker 6.10版本,然后enable ipv6解决。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐