Конвертация записей wav в mp3
Добавлено: 07 апр 2020, 18:49
Добрый день.
Помогите пожалуйста решить проблему.
FreePBX 13. Используется скрипт для конвертации записей разговора из WAV в MP3. Скрипт отрабатывает, файлы конвертируются.
Проблема появляется, если попытаться прослушать запись через CDR Report.
Выдает ошибку:
В чем может быть проблема?
Скрипт конвертации:
Помогите пожалуйста решить проблему.
FreePBX 13. Используется скрипт для конвертации записей разговора из WAV в MP3. Скрипт отрабатывает, файлы конвертируются.
Проблема появляется, если попытаться прослушать запись через CDR Report.
Выдает ошибку:
Код: Выделить всё
RuntimeException
/usr/bin/sox formats: can't open input file `/var/spool/asterisk/monitor/2020/04/07/out-89056510021-3316-20200407-182949-1586273387.58.wav': Unhandled WAV file encoding (MP3). Try overriding the encoding: e.g. for an MP3 WAV, `-t mp3'
File:/var/www/html/admin/libraries/media/Media/Driver/Drivers/SoxShell.php:194
Скрипт конвертации:
Код: Выделить всё
#!/bin/bash
#
# For Elastix 2.5 (FreePBX 2.11)
# Filename: /etc/asterisk/scripts/mixmon-mp3-2.sh
# Author: Andrey Sorokin (aka shadow_alone) andrey@sorokin.org
# Article in Russian - http://andrey.org/mp3-elastix-2-5-frepbx-2-11/
# -----------------------------------
# To enable:
# rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
# yum --disablerepo=commercial-addons install ffmpeg lame
# Settings->Advanced Settings
# Display Readonly Settings - true
# Override Readonly Settings - true
# Post Call Recording Script - /etc/asterisk/scripts/mixmon-mp3-2.sh ^{YEAR} ^{MONTH} ^{DAY} ^{CALLFILENAME} ^{MIXMON_FORMAT} ^{MIXMON_DIR}
# Override Call Recording Location - /var/spool/asterisk/monitor/
# ------------------------------------
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
YEAR=$1
MONTH=$2
DAY=$3
CALLFILENAME=$4
MIXMON_FORMAT=$5
MIXMON_DIR=$6
if [ -z "${MIXMON_DIR}" ]; then
SPOOLDIR="/var/spool/asterisk/monitor/"
else
SPOOLDIR=${MIXMON_DIR}
fi
FFILENAME=${SPOOLDIR}${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.${MIXMON_FORMAT}
test ! -e ${FFILENAME} && exit 21
WAVFILE=${FFILENAME}
MP3FILE=`echo ${WAVFILE} | sed 's/.wav/.mp3/g'`
LOWNICE="nice -n 19 ionice -c3"
${LOWNICE} lame --quiet --preset phone ${WAVFILE} ${MP3FILE}
test -e ${MP3FILE} && rm -f ${WAVFILE}
${LOWNICE} ffmpeg -loglevel quiet -y -i ${MP3FILE} -f wav -acodec copy ${WAVFILE} >/dev/null 2>&1
test -e ${WAVFILE} && rm -f ${MP3FILE}