FreeSwitch中的录像和录音设置

简介: FreeSwitch中的录像和录音设置

FreeSwitch中的录像功能和播放录像功能


FreeSwitch 系统中的录像功能 和 播放录像功能,系统都默认提供。

按默认配置,通过IP电话拨打9193,即可录像;通过IP电话拨打9194即可播放录像。

同时,我测试了一种有趣的用法,描述如下:


(1) 1000  呼叫 9193 并且发送视频;          (2) 1001 呼叫 9194 ,可以看到 1000 上传的视频,但非实时;          (3) 1002 呼叫 9194, 可以看到 1000 上传的视频,但非实时。  
复制代码


这样看来,一个点播系统,FreeSwitch 默认就支持!稍加改造,就可以变为一套视频直播系统。


实现上述功能的配置文件在 \conf\dialplan\default.xml 中,如下所示:

[录像]            <extension name="video_record">              <condition field="destination_number" expression="^9193$">                  <action application="answer"/>                  <action application="record_fsv" data="/tmp/testrecord.fsv"/>              </condition>            </extension>            [播放录像]            <extension name="video_playback">               <condition field="destination_number" expression="^9194$">                    <action application="answer"/>                    <action application="play_fsv" data="/tmp/testrecord.fsv"/>                </condition>            </extension> 
复制代码


FreeSwitch的录音功能


一般电话系统都可以将本系统内的语音通话录制下来,FreeSwitch 系统中也可以进行语音录制。


需求: 录制系统中的所有通话。

实现:


(1)建立一个文件夹 freeswitch/recordings/archive/ ,用来存储录音文件;

(2)修改拨码计划,打开 \conf\dialplan\default.xml

找到下面的语句:


<extension name="Local_Extension">      
复制代码


<condition field="destination_number" expression="^(10[01][0-8])$">  
复制代码


在其下,添加:


<action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/>                         <action application="set" data="RECORD_COPYRIGHT=(c) 2011"/>                         <action application="set" data="RECORD_SOFTWARE=FreeSWITCH"/>                       <action application="set" data="RECORD_ARTIST=FreeSWITCH"/>                        <action application="set" data="RECORD_COMMENT=FreeSWITCH"/>                        <action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/>                         <action application="set" data="RECORD_STEREO=true"/>      <action application="record_session" data="$${base_dir}/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>  
复制代码


(3)在 FS_CLI.EXE 中运行 reloadxml 或 按 F6 即可生效。

查询 FreeSwitch 支持的音频文件格式,可以在 FS_CLI.exe 中运行 show file 命令。


FreeSwitch播放语音文件


上面介绍了 FreeSwitch 的录音功能,若想回放这些录音,是否可以实现?或者说,通过 FreeSwitch ,是否可以直接播放语音文件?

FreeSwitch 中有一个 playback 的 application ,可以播放语音文件。

具体用法如下:


(1)播放本地文件

<action application="set" data="playback_terminators=none"/>                         <action application="playback" data="sounds/soundfile.wav"/>    
复制代码


(2)播放远程服务器上的文件


<action application="playback" data="${http_get(http://myserver.yo/media/hello_world.wav)}"/> 
复制代码


相关文章
|
语音技术
FreeSwitch中音乐功能保持和静音回铃声怎样设置
FreeSwitch中音乐功能保持和静音回铃声怎样设置
|
6月前
|
API C++ Windows
c++实现waveinopen录音功能
这是一个简单的C++示例,使用 `waveInOpen`函数来录制音频数据,然后通过回调函数 `waveInProc`处理录音数据。需要注意的是,实际使用中可能需要更多的错误处理和资源管理。同时,这个示例是基于Windows的,使用了Windows Multimedia API来进行音频录制。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
122 0
|
6月前
|
Windows
使用ffmpeg调用电脑自带的摄像头和扬声器录制音视频
使用ffmpeg调用电脑自带的摄像头和扬声器录制音视频
244 0
|
前端开发 JavaScript
uniapp 录音和播放功能
uniapp 录音和播放功能
392 0
FreeSWITCH在呼叫失败的情况下如何播放语音提示
看到好多网友问到这个问题。一般我们在打电话时会听到“您拨的电话正在通话中,请稍后再拨….”,或“电话无应答…”之类的提示,我们在 freeswitch 里也可以这样做。
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
1490 0
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)
863 0
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )
579 0
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )