Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2015, 23:00   #1
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Передача звука почти без задержек через MR3020

Итак, хотите передавать звук без проводов, с любого ноутбука или компьютера?
Нужно поставить для начала это
Цитата:
opkg install kmod-usb-core kmod-usb2
opkg install kmod-sound-core kmod-usb-audio
opkg install madplay
opkg install socat
Запускаем на 5000 порту прием звука

Цитата:
socat udp-listen:5000,fork - | madplay - -Q
Так, наш роутер готов принимать звук по 5000 порту...
Теперь нужно поставить софт на Windows
Взять его можно здесь
https://mega.nz/#!4I8lRTrJ!OSJWIxjk-...4a9KARUCSHJTOQ
Ставим софт и настраиваем.
Настройки приблизительно такие
Streamer name: любое имя профиля
Mode: Stream transmitter
Resource URL: udp://adres_ip_routeraort, пример: udp://192.168.1.1:5000
Recording device: Тут особо выбирать нечего в Windows 7 он выбирает свой маппер.
Encoding: MP3
Sampling rate: 44100
Bitrate: 128 или 256
В Windows XP все будет работать из коробки и звук начнет передаваться сразу после запуска профиля.
В Windows 7 звук передается с любого устройства записи. Т.е. надо выбирать стерео микшер. Но проблема в том что стерео микшер в устройствах записи есть не во всех звуковых картах. Есть у реалтека и креатива. У других звуковых карт такой штуки нет. Хотя в Windows XP она кажется была из коробки.
Хотя я думаю как решить эту проблему. Колхозный метод это линейный выход соединить с линейным входом =)

В целом включаю фильм и не вижу практически задержки звука.

Последний раз редактировалось khseal; 05.09.2015 в 23:03.
khseal вне форума   Ответить с цитированием
Старый 06.09.2015, 00:38   #2
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Проблему в Windows 7 решил установкой Virtual Audio Cable. После ее установки появляется устройство в воспроизведении и устройство в записи. По умолчанию ставим его в обоих случаях и у нас автоматом идет звук на удаленные колонки...
khseal вне форума   Ответить с цитированием
Старый 06.09.2015, 01:08   #3
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Итак, кому не нравится mp3 могут смело принимать звук без перекодирование в PCM формате.
Ставим sox.
Запускаем его с помощью данной команды
socat udp4-recv:5000 stdio | sox -t raw -s -b 16 -c 2 -r 44100 - -t oss /dev/dsp
получаем raw без перекодировки.
В Windows меняем формат выводимых данных на PCM...
khseal вне форума   Ответить с цитированием
Старый 06.09.2015, 11:14   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Передача звука почти без задержек через MR3020

А если так попробовать?
socat udp4-recv:5000 stdio | cat /dev/dsp
Admin вне форума   Ответить с цитированием
Старый 06.09.2015, 13:07   #5
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Цитата:
root@TL-MR3020:~# socat udp4-recv:5000 stdio | cat /dev/dsp
cat: can't open '/dev/dsp': Invalid argument
2015/09/06 13:06:34 socat[12831] E write(1, 0x7744a8, 3840): Broken pipe
Я думаю, что все таки надо указывать параметры потока. Плюс там все таки есть какая то модификация потока т.к. он на входе raw а в dsp отправляется как oss. Хотя народ брал кусок звука на входе и на выходе, сравнивал и не нашел каких-то изменений.
Откорректировал команду прослушивание порта
socat udp4-recv:5000 stdio | sox -t raw -e signed-integer -b 16 -c 2 -r 48000 - -t oss /dev/dsp
А то sox ругался что параметр -s устарел.
Плюс процесс прослушивания порта весьма странный и когда он запущен как служба, он работает только есть поток данных на порту, если он отсутствует до процесс завершается. При запуске в консоле процесс работает пока его не закроешь.
Так же во время прослушки он занимает звуковую карту и mpd не будет работать локально на роутере.
Я выкрутился из этой ситуации простым скриптом sound.sh
Цитата:
#!/bin/sh

ncat -l -u 5000 -e /bin/uname
socat udp4-recv:5000 stdio | sox -t raw -e signed-integer -b 16 -c 2 -r 48000 - -t oss /dev/dsp
Это добавляем в cron ставим время запуска которая вам удобно, плюс можно сделать lock какой нибудь программой типо flock.
В скрипте ncat мониторит порт 5000. Когда на нем появляются данные запускает заглушку /bin/uname. Сюда можно вписать что угодно на запуск. Только программы с параметрами писать затруднительно.
Дальше запускается процесс передачи звука и работает пока есть поток данных на порту.

Последний раз редактировалось khseal; 06.09.2015 в 14:27.
khseal вне форума   Ответить с цитированием
Старый 07.09.2015, 03:13   #6
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Кстати, кто нибудь подключал ЦАПы к этим роутерам на чипе XMOS? Они корректно работают напрямую без USB хаба?
khseal вне форума   Ответить с цитированием
Старый 07.09.2015, 07:02   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Передача звука почти без задержек через MR3020

Роутер корректно работает с USB-2.0, у него проблемы только с USB-1.1
Admin вне форума   Ответить с цитированием
Старый 07.09.2015, 19:49   #8
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Цитата:
Роутер корректно работает с USB-2.0, у него проблемы только с USB-1.1
Xmos умеет и так и этак. А как он работает реально с данным устройством не понятно.
khseal вне форума   Ответить с цитированием
Старый 18.09.2015, 12:48   #9
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

После установки новой версии столкнулся с тем, что мой скрипт приема данных на порту не работает в фоне.
Решил эту проблему методом тыка. Скрипт работает пока есть данные на порту
/usr/bin/socat udp-listen:5000 stdio | sox -t raw -e signed-integer -b 16 -c 2 -r 48000 - -t oss /dev/dsp
Скрипт работает постоянно после запуска в фоне
/usr/bin/socat udp-listen:5000,fork - | sox -t raw -e signed-integer -b 16 -c 2 -r 48000 - -t oss /dev/dsp
khseal вне форума   Ответить с цитированием
Старый 04.10.2015, 16:56   #10
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: Передача звука почти без задержек через MR3020

Снял видео о том что в итоге получилось
http://www.youtube.com/watch?v=tv6fjwTag-0
Плюс прикрутил автоматическое включение усилителя при появлении потока.
khseal вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:23. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика