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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.01.2015, 21:56   #1
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Openwrt AirPlay

Это оказалось не просто, а очень просто. (аудиокарта должна быть настроена заранее!)
Устанавлияваем dbus, avahi-daemon, shairport.
мне пришлось добавить вручную группу "netdev:x:150:" и убрать в файле /etc/init.d/dbus часть строки:
--service_start /usr/sbin/dbus-daemon --system
++/usr/sbin/dbus-daemon --system


Ибо service_start относил опцию "--system" к себе и ругался, что она для него непонятна. Как заставить его передавать опцию запускаемому сервису я не понял.
Далее запуск:
/etc/init.d/dbus start
/etc/init.d/avahi-daemon start
shairport -a "Living Room" -b 282 -d

На АйПонте рядом с AirDrop появился "Living Room", при включении все звуки из огрызка идут через колонки WRT. (задержка ИМХО 0,3-0,5с)

Для трансляции через мультирум пришлось пересобрать с поддержкой pulseaudio и запускать так:
shairport -a "Living Room" -b 282 -o pulse &

Исправить скрипт init.d не смог...

Последний раз редактировалось Tohin; 04.08.2015 в 21:07.
Tohin вне форума   Ответить с цитированием
Старый 08.01.2015, 22:12   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Openwrt AirPlay

А с андроидом работает?
Admin вне форума   Ответить с цитированием
Старый 08.01.2015, 23:46   #3
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

Бегло, нашел AirAudio
Есть еще некие упоминания об установке pulseaudio на ведрод, но пока еще не занимался - бьюсь с мультирумом из соседней темы.
AirPlay получился побочным эффектом

Еще как вариант DLNA. Видеопоток (почти любой) отлично стриммится на SamsungTV с ведра. Может и для аудио потока есть что-то подобное.
Tohin вне форума   Ответить с цитированием
Старый 08.01.2015, 23:57   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Openwrt AirPlay

MiniDlna мне не подходит
Буду пробовать AirAudio
Admin вне форума   Ответить с цитированием
Старый 09.01.2015, 00:03   #5
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

MiniDLNA - это сервер DLNA который хранит описание и путь к файлу. А нужен некий DLNA-Player которому можно ткнутьб поток от того же минидлна и/или ведроида и он его воспроизведет. На телефонах Huawei отличный DLNA сервер/клиент/управлялка. Найти бы знатока который его мог бы раздербанить и портировать под WRT...
Tohin вне форума   Ответить с цитированием
Старый 23.05.2015, 15:14   #6
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

пытаюсь скомпилить shairport с поддержкой pulseaudio, и как обычно, словил клин - не понимаю что делать.
В репозитории Openwrt написано:
Цитата:
shaiport: disable pulseaudio backend …
We do not correctly package pulseaudio libraries, so disable the PA backend
for now.

Signed-off-by: Florian Fainelli <[email protected]>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@40795 3c298f89-4303-0410-b956-a3cf2f4a3e73
По идее патч можно просто удалить, но я не рискнул, и лишил его смысла:
Код:
--- a/configure
+++ b/configure
@@ -59,7 +59,7 @@ do_pkg_config()
 
 do_pkg_config OpenSSL       openssl
 do_pkg_config libao         ao              CONFIG_AO
-do_pkg_config PulseAudio    libpulse-simple CONFIG_PULSE
+do_pkg_config PulseAudio    libpulse-simple CONFIG_PULSE
 do_pkg_config ALSA          alsa            CONFIG_ALSA
 do_pkg_config Avahi\ client avahi-client    CONFIG_AVAHI
еще я подправил makefile (во вложении) все скомпилировалось и встало. Играет синхронно, в двух точках моего мультирума, транслируются все звуки (игры, youtube, музыка)

Запуск с выводом в pulse:
Код:
shairport -a "Living Room" -b 282 -o pulse &
Вложения
Тип файла: txt Makefile.txt (1.8 Кб, 179 просмотров)

Последний раз редактировалось Tohin; 13.06.2015 в 22:01.
Tohin вне форума   Ответить с цитированием
Старый 24.05.2015, 13:05   #7
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

При старте воспроизведения в логах вижу:
WARNING: underrun
Что за ерунда не понимаю. загрузка проца 10-20%

ВНИМАНИЕ БАГ:
при запуске shairport -d он все равно реагирует на Ctrl+C в консоли и выключается.
Tohin вне форума   Ответить с цитированием
Старый 24.05.2015, 13:21   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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: Openwrt AirPlay

А если так запустить:
shairport &
Admin вне форума   Ответить с цитированием
Старый 24.05.2015, 15:24   #9
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

Цитата:
Сообщение от Admin Посмотреть сообщение
А если так запустить:
shairport &
Аналогично... Нужно после запуска выходить из консоли. Из новой консоли уже не гасится. Вполне вероятно, что при запуске из init.d тоже все будет в порядке.
Tohin вне форума   Ответить с цитированием
Старый 13.06.2015, 22:04   #10
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Openwrt AirPlay

А зачем тут так мудрено? И как переделать под pulseaudio?
/etc/init.d/shairport
Код:
#!/bin/sh /etc/rc.common
# Copyright (C) 2013-2014 OpenWrt.org

START=94
USE_PROCD=1

append_arg() {
        local cfg="$1"
        local var="$2"
        local opt="$3"
        local def="$4"
        local val

        config_get val "$cfg" "$var"
        [ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}"
}

append_bool() {
        local cfg="$1"
        local var="$2"
        local opt="$3"
        local def="$4"
        local val

        config_get_bool val "$cfg" "$var" "$def"
        [ "$val" = 1 ] && procd_append_param command "$opt"
}

start_instance() {
        local cfg="$1"
        local ao dev

        procd_open_instance

        procd_set_param command /usr/bin/shairport

        append_arg "$cfg" bname "-a" "AirPort"
        append_arg "$cfg" log "-l"
        append_arg "$cfg" initbuf "-b" "256"
        append_arg "$cfg" port "-p" "5002"
        append_arg "$cfg" password "-k"
        append_arg "$cfg" mdns "-m"

        append_arg "$cfg" cmd_start "-B"
        append_arg "$cfg" cmd_stop "-E"
        append_bool "$cfg" cmd_wait "-w"

        append_arg "$cfg" audio_output "-o"

        config_get ao "$cfg" audio_output ""
        if [ "$ao" = "alsa" ]; then
                config_get dev "$cfg" output_dev ""
                if [ -n "$dev" ]; then
                        procd_append_param command "--"
                        append_arg "$cfg" output_dev "-d"
                        append_arg "$cfg" mixer_dev "-m"
                        append_arg "$cfg" mixer_type "-t"
                        append_arg "$cfg" mixer_control "-c"
                        append_arg "$cfg" mixer_index "-i"
                fi
        fi

        procd_close_instance
}

service_triggers() {
        procd_add_reload_trigger "shairport"
}

start_service() {
        config_load shairport
        config_foreach start_instance shairport
}

stop_service() {
        # FIXME: workaround until procd supports custom signal
        killall -SIGINT shairport
}
Tohin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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