2009年4月9日 星期四

[Hack] 修改通話錄音的格式為 MP3

在 Trixbox 上有個很好用的通話錄音功能,而且是內建就有的,只是預設的語音檔格式是未經壓縮的 WAV 檔,非常耗用硬碟的儲存空間,此篇目的為:將預設的與錄音檔格式修改為 MP3,使其在不失音質條件下又可大量節省硬碟的儲存空間,兩種格式的檔案大小比率約為 7(WAV) : 1(MP3)。

首先說明如何操作系統上的通話錄音功能:
1. 確定分機的錄音功能是開啟的
《Setup》《Extensios》《分機號》《Recording Options》《Recording Incoming=On Demand,Recording Outgoing=On Demand》
2. 使用有開啟錄音功能的分機,撥打電話,對方接通後,要錄音時按下 *1,停止錄音時再按一次 *1 或掛斷時即自動結束錄音。
Tips: 在預設模式下,按下 *1 的間隔時間要迅速,否則無法開啟/關閉錄音功能,不過增加下方這個參數可以解決這問題。

編輯 /etc/asterisk/features_general_custom.conf
==================================================
featuredigittimeout = 1000 ; Max time (ms) between digits for
; feature activation. Default is 500
==================================================

3. 聽取錄音檔有兩種方式:透過網頁-Recording 播放或下載主機上的錄音檔至本地電腦端播放。
- 網頁方式:直接點選《Recording》,登入帳號/密碼預設為 admin/ari_password,為系統安全考量,強烈建議自行修改 /var/www/html/recordings/includes/main.conf.php

#
# Admin only account
#
$ARI_ADMIN_USERNAME = "admin";
$ARI_ADMIN_PASSWORD ="ari_password"; <------ 改這邊

- 主機下載方式:使用軟體 WinScp 或 FTP Client 連上主機,錄音檔位置在 /var/spool/asterisk/monitor。

接下來就是本篇重點,將 WAV 格式變更為容量較小的 MP3:
1. 新增一個轉換語音格式的程式檔,使用 nano 或 vi 編輯器都可以。
以 root 登入主機
#su - asterisk
$cd ~/bin
$vi ari-wav2mp3.sh

==========================================================
#!/bin/bash
#
# file : ari-wav2mp3.sh
# author: A-Lang, alang[dot]hsu[at]gmail[dot]com

# this is for debugging
#RECORD_PATH="/var/lib/asterisk/mytemp"
#
RECORD_PATH="/var/spool/asterisk/monitor"

LAME="/opt/lame-3.97/bin/lame"

cd $RECORD_PATH
#for WAV in $(ls *.wav 2> /dev/null)
#
# Ignore the audio files that are recording.
for WAV in $(ls *.wav | grep -v -e "-out.wav" | grep -v -e "-in.wav" 2> /dev/null)
do
echo "Encoding MP3 file from $WAV ..."
OUT=${WAV%.*}
$LAME --silent -V7 -B24 --tt $OUT.wav --add-id3v2 $OUT.wav $OUT.mp3
test -r $OUT.mp3 && rm -f $OUT.wav
done
#EOF
=============================================================

$chmod 755 ari-wav2mp3.sh
$exit

2. 新增工作排程,使其可自動執行轉檔的程序。

以 root 登入主機
#crontab -e

按下 i 鍵,將以下這行加上

*/5 * * * * su - asterisk -c "~asterisk/bin/ari-wav2mp3.sh"

分別按下 Esc :
輸入 wq
存檔完成了

3. 錄一段通話,然後在透過網頁 Recording 試聽,及下載語音檔案,驗證是否已經為 MP3 的格式。

補充:
如何手動安裝 LAME MP3 編碼器?
Ans:

以 Root 登入,
#wget http://downloads.sourceforge.net/lame/lame-3.97.tar.gz?modtime=1159107882&big_mirror=0
#tar -xzf lame-3.97.tar.gz
#cd lame-3.97
#./configure --prefix=/opt/lame-3.97
#make
#make install
#/opt/lame-3.97/bin/lame -h
--> 如果有出現說明文字,表示安裝成功。

沒有留言:

張貼留言