Remote audio latency или снова боремся с задержками

В силу обстоятельств продолжил изучение программ для передачи звука по сети.

Если ввести в поисковик запрос, что использовать для удаленной передачи звука от трансивера к удаленному компьютеру и наоборот, то мы получим однозначный ответ - Skype. И правда, программа использует свой собственный закрытый кодек, и постоянно совершенствуется. В общем-то для передачи голоса она подходит. Вот правда не всегда удается ее использовать. Для работы скайпа необходимо соединение с интернетом, и если на обоих концах он есть, то проблем никаких - запускай программу и слушай/передавай. А вот если интернета в удаленном шеке нет, например он находится на даче, до которой связь происходит посредством wifi-канала? Здесь скайпом уже не воспользуешься. Нет, ну конечно можно "пробросить" шлюз в интернет с основного компьютера через этот wifi, но использование и так не большой ширины канала для таких целей, не лучшим образом скажется на качестве передаваемого сигнала. Ведь из-за уменьшевшейся ширины свободного канала придется использовать кодек с большим сжатием, что в свою очередь негативно отразится на качестве передаваемого сигнала. Возникает вопрос - а есть ли альтернативы?

Есть. Их не много, они не так хорошо справляются с прохождением NAT и Firewall, но для их работы не нужно соединение с интернетом, они используют широко распространенные кодеки и, как выяснилось, при правильной настройке способны составить конкуренцию скайпу в плане качества передаваемого сигнала и низких задержек.

Если сразу отбросить "не профильные" программы типа SIP-телефонов и голосовых чатов, то у нас останется всего две программы: IP-Sound by SM5VXC и RemAud by DF3CB.

Первая, IP-Sound, более распространена, про нее больше информации в интернете, но она давно не разрабатывается и потому на сегодняшний день имеет несколько ограниченный функционал. Имеет в своем составе несколько кодеков, может работать на очень узких каналах связи, объем трафика от 2кб/сек. Мне удалось с этой программой при передаче звука через интернет, добиться приемлимой задержки около 400-500мс. При этом использовался кодек PCM 8kHz 16bit mono. По умолчанию в IP-Sound на всех PCM кодеках стоит 16bit звук, поменять это значение нельзя. При использовании GSM кодеков задержки будут еще меньше, но страдает качество звука. Таким образом эту программу можно использовать для передачи звука через сеть. С лучшими результами при использовании в локальной сети, и чуть хуже (в плане задержек) через интернет.

IP-Sound

Вторая программа, RemAud менее распространена. Я наткнулся на нее абсолютно случайно, изучая зарубежные форумы на предмет удаленной работы на SDR. На сайте автора есть довольно подробная документация и описание концепции программы. Автор пишет, что сам по началу использовал IP-Sound однако решил написать свою программу в которой бы не было недостатков присущих IP-Sound, и которая обеспечивала бы более низкие задержки при передаче звука. И ему это удалось. Программа RemAud имеет более гибкие настройки в плане кодеков а так же позволяет тонко настраивать аудио буферы. Вкупе все это существенно снижает задержки. При использвании RemAud и кодека PCM 8kHz 16bit stereo мне удалось добиться задержек менее 300мс. Измерено на слух, точнее определеить не могу, но работать довольно удобно. Кроме того, в этой программе есть функция PTT, и подключив трансивер через com-порт к пк, можно управлять его режимами прием/передача. Для SDR это не совсем актуально (в частности для меня). Из минусов этой программы отмечу лишь то что у меня на нескольких компьютерах она периодически вылетала по не понятным причинам. Иногда выдавая ошибку Access Violation, но к счастью вылетает только программа-клиент, и после нажатия кнопки стоп и последующего нажатия на зеленый треугольник все начинает работать как прежде. Это не сильно мешает.

RemAud

Обе программы работают по принципу клиент-сервер. Серверная часть запускается на пк с подключенным трансивером. А клиентская запускается на пк у которого находится оператор.

Переделал схему вывода звука из своего SDR. Раньше я использовал VAC из которого звук передавался уже в программу RemAud. Однако, недавно попробовал завести звук с линейного выхода трансивера на вход встроенной аудиокарты пк. И с этого входа сигнал забирается программой RemAud и вещается в сеть. При таком способе подключения, задержки значительно снизились и сейчас составляют менее 300мс. Для комфортной работы мне этого хватает. Для управления трансивером на удаленном пк, использую Radmin. При этом картинка передается без искажений и водопад в digi-модах программы UR5EQF не тормозит, как при использовании VNC или TeamViewer.

Назад

Оставить комментарий

Поля отмеченные * обязательны к заполнению.


Назад