<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就讓它生效呢?這應該是下一個話題了,有空再講。