Получите запись аудиопотока голоса пользователя по мере его поступления - PullRequest
2 голосов
/ 22 мая 2019

В настоящее время мы используем voicexml и https://www.plumvoice.com/ для получения голосовых записей, которые затем отправляются на наш внутренний сервер для обработки, аналогично примеру, указанному в документации для записи пользовательского ввода: https://www.plumvoice.com/docs/dev/developer_reference:tutorial

<?xml version="1.0"?>
<vxml version="2.0">
    <form>
        <record name="myrecording" type="audio/x-wav" beep="true">
            <prompt>
                Please record a message after the beep.
            </prompt>

            <filled>
                You just recorded the following message:
                <value expr="myrecording"/>
                <submit next="submitrecording.php" namelist="myrecording"
                method="post" enctype="multipart/form-data"/>
            </filled>
        </record>
    </form>
</vxml>

Это прекрасно работает и выдает wav-файл в конце пользовательского ввода.Есть ли способ получить пользовательский ввод в виде аудиопотока, когда пользователь говорит вместо файла в конце?

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Нет. В соответствии с рекомендацией VoiceXML W3C содержимое записи доступно только после завершения записи (т. Е. Окончательное молчание или ввод DTMF). С VoiceXML нет возможности потоковой передачи.

Если вам нужен такой API потоковой передачи, вы можете взглянуть на Потоковая передача мультимедиа в Amazon Connect

0 голосов
/ 22 мая 2019

Вместо того, чтобы заново изобретать колесо, вы можете использовать FFMPEG, объявленный как «Полное кроссплатформенное решение для записи, преобразования и потоковой передачи аудио и видео».

ffmpeg -re -i input -f rtsp -muxdelay 0.1 rtsp://server/live.sdp

, вы можете выбрать опцию, скажем, нетзадержка "-preset ultrafast -tune zerolatency" или захват с камеры Logitec C930 "-i / dev / video0" или видеофайл "-i your_file_location"

Один из примеров, который я могу привести, - это как транслировать мою веб-камеру со звукомна онлайн-сервер

lxterminal -e ffmpeg -f v4l2 -framerate 30 -video_size 800x448 -i /dev/video0 -i /home/pi/Desktop/sound/ic_ch.png -codec:v h264 -r 30 -s 800x448 -bf 0 -g 30 -bufsize 8000k -maxrate 8000k -filter_complex "[0:v][1:v] overlay=(W-w)/2:(H-h)/2:enable='gte(t,1)'" -preset ultrafast -tune zerolatency -f h264 udp://192.168.5.10:23003 & sleep 0.1

Не пугайтесь, вам не нужны все опции.Просто возьмите стандарт ввода, вывода и кодирования, который вам подходит.

...