用的是最新版本的freeswitch,1.10.7版本,编译的时候,需要支持ffmpeg,ffmpeg的版本不能过高,否则编译不过,本人采取的是ffmpeg 4.1.0版本。
freeswitch启动后,show codec查看freeswitch支持的编解码类型,如下所示:
然后用linphone测试,linphone的设置如下。
linphone拨打对端时,发现视频不通,本地wireshark抓包,发现sip交互时,视频的sdp返回存在问题,sip INVITE的时候,传递过去的是H264,但是返回的是VP8,为此查看了freeswitch的控制台日志(console loglevel 7设置DEBUG日志显示级别),发现SDP是freeswitch构建的,为此网上查找freeswitch关于视频编解码的配置。
在conf下的vars.xml里面,添加H264的配置,如下所示(上下两个H264):
然后再次用linphone呼叫对方,结果ok,下图中,大图为远端视频,小图为本地视频。
不过我在用janus的官网demo拨打H264 SIP电话时,本地能看到远端的视频,但是远端看不到本地的视频,VP8不存在这个问题。
官网demo的地址如下:
https://janus.conf.meetecho.com/siptest.html