在FreeSWITCH中设置视频通话

来源:互联网 发布:大数据与税收征管 编辑:程序博客网 时间:2024/05/03 10:17

好了,说今天的技术话题。今天有网友在QQ群中问FreeSWITCH中视频通话如何开启,本来今天想写点别的的,就索性先说这个吧。

FreeSWITCH支持视频通话和视频会议,但默认的配置不支持,好多人不知道怎么开启该功能。其实,很简单,找到vars.xml配置文件中的如下的行:

  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM"/>
  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>

上面的设置是设置FreeSWITCH支持的媒体编码,包括语音和视频。可以看到,默认的配置仅支持音频编码,要支持视频,我们直接把上想要的视频编码设置上即可,如:

  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM,H263,H264,VP8"/>
  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM,H263,H264,VP8"/>

上面的代码就加入了H263、H264以及VP8编码的支持。

看到这儿,你可能会说,这也太简单了。是的,会者不难。但是,会了上面的并不等于真会了。因为,你可能还没理解为什么这样配置就可以了。所以,我会再讲点高级的。

看Sofia Profile的配置中(如internal.xml),你会看到如下的配置参数:

    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>

如果你善于比较,就可以看出,这里,它引用了在vars.xml中的变量。所以,在vars.xml中只是设了一个变量(如global_codec_prefs),真正起作用的是这儿。也正是这个原因,你可以完全不用改varx.xml中的变量,而直接改该配置文件,如,使用下面的方法加入视频编码:

    <param name="inbound-codec-prefs" value="$${global_codec_prefs},H264,VP8"/>
    <param name="outbound-codec-prefs" value="$${global_codec_prefs},H264,VP8"/>

当然,你也可以直接这样设:

    <param name="inbound-codec-prefs" value="PCMA,PCMU,H264"/>
    <param name="outbound-codec-prefs" value="PCMA,PCMU,H264"/>

到这里,我想你就明白多了。记得重启FreeSWITCH让配置生效。

那么,有人又要问,能不能不重启FreeSWITCH就让它生效呢?这应该是下一个话题了,有空再讲。
0 1
原创粉丝点击