Как управлять передачей голоса по Wi-Fi? (GStreamer)
Я пытаюсь создать телефонную передачу через Wi-Fi. Я пытаюсь подключить программируемую гарнитуру Wi-Fi (она на самом деле не существует, на самом деле это компьютер с Linux) к мобильному телефону, который также является Wi-Fi. включен. (он также не существует, и это также компьютер с Linux). Это похоже на случай, когда у вас есть мобильный телефон, который связан с устройством сопряжения Bluetooth, и когда вы получаете телефонный звонок, вы можете контролировать установление и прерывание вызова с помощью самой гарнитуры. Разница в том, что я хочу использовать Wi-Fi вместо Bluetooth. Итак, что я сделал до сих пор, так это внедрил поток мультимедиа в Gstreamer, который может отправлять стереофонические голосовые сигналы по IP (т.е. VoIP в локальной беспроводной сети). Вот конвейер отправителя:
gst-launch -v alsasrc ! audioconvert ! audio/x-raw-int, channels=2,depth=16,width=16,rate=44100 ! rtpL16pay ! udpsink host=192.168.178.110 port=5000 //sender
На приемном конце я сделал следующее: прослушивание UDP-порта для приема голосовых сигналов, декодирования и воспроизведения:
gst-launch udpsrc port=5000 ! "application/x-rtp,media=(string)audio, clock-rate=(int)44100, encoding-name=(string)L16, channels=(int)2, payload=(int)96" ! rtpL16depay ! audioconvert ! alsasink //receiver
Если я запускаю два потока вручную на каждом конце, я получаю свои стереофонические сигналы и, меняя два конвейера для запуска в отдельном Терминале на каждом компьютере Linux, я могу иметь Речь в реальном времени между двумя компьютерами Linux.
Проблема с этим заключается в том, что мне приходится вручную запускать конвейеры на каждом Linux, чтобы установить двунаправленное соединение, и, как мы все знаем при сопряжении Bluetooth, после сопряжения пользователи не должны делать никаких дополнительных шагов вручную для подключения мобильного телефона. с гарнитурой. Используется некоторый тип сигнализации, который инициализирует процесс отправки / получения на каждом конце. Это означает, что, когда мобильный телефон звонит, гарнитура получает уведомление о том, что на мобильный телефон поступает входящий вызов.
Теперь мой вопрос заключается в том, как правильно этот процесс автоматизации, когда я хочу установить вызов с одного из компьютеров Linux на другой, другой конец уведомляется, что Linux с указанными символами (например, xxx.xxx. xxx.xxx IP и номер порта xxxx) пытается подключиться, и после подтверждения на другом конце вышеупомянутые конвейеры начинают потоковую передачу аудио, двунаправленно и когда один конец завершает разговор, завершение разговора.
0 ответов на вопрос
Похожие вопросы
-
6
Как я могу удалить шум из аудиозаписи?
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Каковы различия между оконными менеджерами Linux?
-
5
Поделитесь XP сетевым подключением без перезагрузки?