在FreeSWITCH中设置视频通话
Posted sjwudhwhhw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在FreeSWITCH中设置视频通话相关的知识,希望对你有一定的参考价值。
分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
好了,说今天的技术话题。今天有网友在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就让它生效呢?这应该是下一个话题了,有空再讲。
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就让它生效呢?这应该是下一个话题了,有空再讲。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
以上是关于在FreeSWITCH中设置视频通话的主要内容,如果未能解决你的问题,请参考以下文章