Автор Тема: Сервер/рендерер/плеер на Cubieboard  (Прочитано 87587 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
0
Прикупил я себе вот такую игрушку - Cubieboard. Плата на основе SOC (system-on-chip) Allwinner A10. Такие чипы стоят во многих андроид-планшетах начального уровня - ARM Cortex A8, GPU Mali 400.  Имеются 2 USB  2.0 host, один USB OTG, 100 MBit Ethernet, HDMI, SATA. Симпатичный корпус.


(Извините, но у Вас нет доступа в Галерею)
(Извините, но у Вас нет доступа в Галерею)

Планирую сделать на его основе аудио рендерер и/или сервер, с использованием UPnP AV. Вкратце о том, что это такое. Universal Plug and Play (UPnP) - это набор сетевых протоколов для использования в локальной сети. Эти протоколы позволяют различным устройствам, таким как компьютеры, принтеры, точки доступа, и т.п., автоматически обнаруживать друг друга и устанавливать соединения для передачи данных. Нас интересует UPnP AV - расширение UPnP для построения сетей передачи аудио/видео контента. В первом приближении, основные компоненты UPnP AV - это сервер (Media Server), рендерер (Media Renderer) и устройство управления (или точка управления, Control Point).

В задачи сервера входит хранение библиотеки мультимедиа, индексация, поиск, выдача контента клиентам, возможно, с конвертацией форматов. Многие функции необязательны. Например, простые реализации сервера могут не иметь функции поиска. Или сервер может самостоятельно не хранить контент, а лишь индексировать внешний источник.

Рендерер отвечает за преобразование цифровых данных в собственно звук и/или изображение. Современные модели телевизоров например могут иметь функцию UPnP AV рендерера.

Устройство управления используется для поиска контента на одном или нескольких серверах, и выдачи команд на воспроизведение рендереру. А также может управлять параметрами рендерера - громкость, перемотка и т.п.

Компоненты могут располагаться как на разных  физических устройствах, так и на одном в различных комбинациях.

В данный момент меня интересует только воспроизведение аудио. Я провел некоторые эксперименты по использованию Cubieboard в качестве рендерера и сервера. Результаты вполне положительные. На данный момент я могу воспроизводить аудиофайлы, хранящиеся на ноутбуке, через USB ЦАП, к ноутбуку непосредственно не подключенный, и вообще расположенный в другой комнате. Хочу попробовать довести это до логического завершения, и в итоге иметь набор программ, который можно записать на карту памяти, воткнуть в Cubieboard - и получить готовый к использованию рендерер или сервер (или и то и другое в одном флаконе).

Планируемые функции
  • - все работает
  • - в основном работает, или еще нет, но реализация очевидна. Принципиальных проблем нет
  • ? - пока неясно как реализовать, просто не думал над этими моментами

Работа в качестве сервера UPnP AV
Работа в качестве рендерера UPnP AV
Работа с устройствами управления UPnP AV
Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox)
Использование проводной сети
Использование беспроводной сети
Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня
Вывод звука через встроенный аудиокодек
Проверено на FLAC 16/192
Вывод звука через USB ЦАП.
Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами
Вывод звука через HDMI.
Не тестировалось
Различные форматы файлов
Проверены WAV, MP3, FLAC
Сервер может читать файлы с HDD или USB флэшки
Теоретически ясно как сделать, практически не проверял
?При использовании в качестве сервера, контент можно заливать через сеть
Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты
?Использование ИК ДУ
Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP
?WEB-интерфейс для настройки
Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты

Жду вопросов, комментариев, предложений

PS Наверняка существуют готовые решения. Но мы не ищем легких путей  ;)

Оффлайн rubenlukin

  • Старожил
  • *****
  • Сообщений: 3290
  • Репутация: 31
  • Рубен. Донецк
  • Поблагодарили: +1383
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #1 : 24 Июля 2013, 18:31:22 »
0
Вывод звука через встроенный аудиокодек
Как звучит, по сравнению с внешним ЦАПом?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #2 : 24 Июля 2013, 19:04:00 »
0
Так себе. Хотя и ЦАП у меня не супер пупер.  Но напрямую не сравнивал - с ЦАПа через усилитель на колонки, а с встроенного выхода - на наушники

Оффлайн IronYorick

  • Старожил
  • *****
  • Сообщений: 3930
  • Репутация: 41
  • Андрей
  • Поблагодарили: +3229
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #3 : 24 Июля 2013, 21:15:07 »
0
Андрей, если я правильно понимаю - Кубик отдельного чипа аудиокодека не имеет, он интегрирован в ЦПУ?

Оффлайн yooree

  • Разработчики
  • *****
  • Сообщений: 1574
  • Репутация: 15
  • Поблагодарили: +109
    • СВОЙ ЗВУК
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #4 : 24 Июля 2013, 21:36:32 »
0
А я баловался таким экспериментом :

к ЦАПчику китайскому SMSL SD-1955+ (довольно хороший из коробки даже, 100-баксового уровня ЦАПчик, кстати) -
http://www.aliexpress.com/item/Optical-Coaxial-USB-DAC-SMSL-SD-1955-DIR9001-AD1955-24bit-96kHz-Decoder/669829944.html
стыканул по коаксиалу простенький и недорогой плеерок VOTO VT-1073, в России его братом-близнецом является
Qumo Home Pro HP001 - http://www.qumo.ru/catalogue/products/292.xhtml
А для визюального контроля к плееру прицепил еще такой маленький китайский мониторчик -
http://item.taobao.com/item.htm?spm=a230r.1.0.0.zaPcRC&id=16936223381
Играет. Трудно сказать насколько скромнее такой вариант играет в сравнении с вариантом подключения источников к усилителю по аналогу. По аналогу на мой ух играет интереснее.
Скорее всего самым важным звеном тут выступает ЦАП.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #5 : 25 Июля 2013, 05:31:34 »
0
отдельного чипа аудиокодека не имеет, он интегрирован в ЦПУ?
В принципе верно. Если точнее - на одном кристалле выполнены процессор, сопроцессоры и всевозможные периферийные устройства. Для построения полноценного компьютера нужно лишь 2-3 дополнительных микросхемы - память и контроллер питания.

и добавил...
Типа апдейт

  • - все работает
  • - в основном работает, или еще нет, но реализация очевидна. Принципиальных проблем нет
  • ? - пока неясно как реализовать, просто не думал над этими моментами

Работа в качестве сервера UPnP AV
Работа в качестве рендерера UPnP AV
Работа с устройствами управления UPnP AV
Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox)
Использование проводной сети
Использование беспроводной сети
Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня
Вывод звука через встроенный аудиокодек
Проверено на FLAC 16/192
Вывод звука через USB ЦАП.
Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами
Вывод звука через HDMI.
Не тестировалось
Различные форматы файлов
Проверены WAV, MP3, FLAC
Сервер может читать файлы с HDD или USB флэшки
С флэшками протестил, все окей. HDD на очереди
?При использовании в качестве сервера, контент можно заливать через сеть
Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты
?Использование ИК ДУ
Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP
?WEB-интерфейс для настройки
Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты

« Последнее редактирование: 25 Июля 2013, 13:43:19 от blindman »

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #6 : 25 Июля 2013, 20:57:23 »
0
Андрей, на счет контроллера питания. что то типа там замутить реально?
в данный момент тоже на эту платку смотрю. корпус у меня mini-itx с бп соответствующим. в нем сейчас лежит усилок (та2020). рулит всем твоя плата регулятора громкости (запитана по дежурке, контролирует работу бп в целом). получится ли с кубиком подобное сотворить?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #7 : 26 Июля 2013, 02:43:29 »
0
Ренат, я не понял, что ты имеешь в виду. Распиши подробнее

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #8 : 26 Июля 2013, 06:57:49 »
0
допустим где то в софте есть кнопка которая выполняет shutdown для оси и после завершения дергает какую то ногу на гпио, говорящую о том что питание можно вырубить. внешняя схема сообразив что можно это сделать вырубает бп (который обычный ATX в моем случае) и остается питаться от дежурки

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #9 : 26 Июля 2013, 07:15:38 »
0
там присутствует контроллер питания AXP209. Документация только на китайском. Доки на похожую AXP202 гуглятся на английском. У AXP209 есть кнопка включения и выход PWROK, на плате можно к нему прицепиться. Этот сигнал можно использовать для управления питанием. Запитываем плату от дежурки, при нажатии кнопки активируется PWROK, по нему включаем основной источник питания. После шатдауна PWROK деактивируется - отключаем основной питальник, остается только дежурка. Драйвер кнопки для Linux имеется, можно организовать шатдаун по нажатию

Оффлайн khvilon

  • Старожил
  • *****
  • Сообщений: 1698
  • Репутация: 16
  • женя, дер.кожухово, обращаться на ты
  • Поблагодарили: +146
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #10 : 26 Июля 2013, 08:54:52 »
0
Андрей, а в каком формате передаются данные на рендерер?
(не существует-ли тут потерь качества)

Оффлайн motiv

  • Наш человек
  • ****
  • Сообщений: 411
  • Репутация: 3
  • Григорий, Тольятти
  • Поблагодарили: +1
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #11 : 26 Июля 2013, 13:51:40 »
0
Нужно не с пульта, а с планшета какого-нибудь. А контент с сервачка в сети. Типа как linn akurate ds  :v:

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #12 : 26 Июля 2013, 14:06:39 »
0
в каком формате передаются данные на рендерер
В исходном, какой есть на сервере. Если только не настроена перекодирование

и добавил...
Нужно не с пульта, а с планшета какого-нибудь. А контент с сервачка в сети. Типа как linn akurate ds  :v:
Вообщето об этом и разговор. Ежели кто не понял :)
« Последнее редактирование: 26 Июля 2013, 14:08:42 от blindman »

Оффлайн khvilon

  • Старожил
  • *****
  • Сообщений: 1698
  • Репутация: 16
  • женя, дер.кожухово, обращаться на ты
  • Поблагодарили: +146
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #13 : 26 Июля 2013, 14:12:18 »
0
В исходном, какой есть на сервере. Если только не настроена перекодирование
т.е. передаётся файл, а не поток?

Оффлайн motiv

  • Наш человек
  • ****
  • Сообщений: 411
  • Репутация: 3
  • Григорий, Тольятти
  • Поблагодарили: +1
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #14 : 26 Июля 2013, 14:58:21 »
0
Вообщето об этом и разговор. Ежели кто не понял
Просто в заглавном сообщении есть такой пункт
Использование ИК ДУ
И непонятно зачем он нужен  :)

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #15 : 26 Июля 2013, 15:19:06 »
0
Мне тоже пока непонятно, потому и под вопросом.


передаётся файл, а не поток?
Женя, на этот вопрос можно ответить, только определившись с терминологией :) Что есть файл, а что поток ?

Используется обычный протокол HTTP. Сервер может взять файл из библиотеки и отдать его как есть, может перекодировать. Можно с этим вопросом не париться. В большинстве случаев - файл с сервера без всяких изменений.

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #16 : 26 Июля 2013, 15:23:05 »
0
motiv, мне вот нравится всем с пульта от телека управлять. кнопок там много
blindman, тогда думаю внешнему контроллеру питания говорить что пора вырубать, а кнопку не использовать. шутдаун только софтово

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #17 : 26 Июля 2013, 15:48:56 »
0
xar, а включать после шатдауна как будешь?

Оффлайн motiv

  • Наш человек
  • ****
  • Сообщений: 411
  • Репутация: 3
  • Григорий, Тольятти
  • Поблагодарили: +1
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #18 : 26 Июля 2013, 16:20:44 »
0
xar, ты просто не видел как оно с планшета управляется ;)
blindman, по идеи там Linux с стандартным софтом uPnP, просто правильно настроенный и проверенный?

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #19 : 26 Июля 2013, 16:40:34 »
0
motiv, ну пульт всегда на месте. а планшет занят может быть
blindman, смотри. есть бп с каналом дежурки. есть кубик и куча железа. есть контроллер, который помимо питания еще много чем занят. он сидит на дежурке. собственно увидев ноль на пврок оно вырубит основное питание. когда нажмем кнопочку на корпусе оно подаст питание на все, включая кубик. кубик включится и поднимет пврок. по крайней мере я так понял.
только вот я думал по поверок бп дает знать матери что питание в идеале и давай заводись. твой вариант поведения это уже подстройка под свои нужды?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #20 : 26 Июля 2013, 16:53:40 »
0
по идеи там Linux с стандартным софтом uPnP, просто правильно настроенный и проверенный?
Ну да. Как раз основная работа - этот софт отобрать, если надо - допилить, сконфигурировать, и связать между собой
я думал по поверок бп дает знать матери что питание в идеале и давай заводись
Совершенно верно. контроллер питания выдает выходные напряжения, потом дергает PWROK, система выходит из состояния сброса. А когда например делаем shutdown -h now , последнее, что делает ОС при завершении - это сообщает контроллеру питания, что все, туши свет. Тот переводит PWROK в 0 - система входит в состояние сброса, затем снимает питающие напряжения. Как  ты все это будешь использовать - решай сам.
« Последнее редактирование: 26 Июля 2013, 16:56:01 от blindman »

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #21 : 26 Июля 2013, 17:35:18 »
0
ну в целом все вроде получается складно.
место куда припаять есть?
и почему кстати на а10 взял? вроде на а20 есть уже.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #22 : 26 Июля 2013, 17:43:16 »
0
Потому что "вроде" . Том Кьюби объявил о начале поставок только 19 июня. У меня 3 ревизия на A10, если я не ошибаюсь. И то косяки аппаратные присутствуют. Как минимум - нет возможности подключить батарейку для часов. После пары ревизий можно будет и на вторую посмотреть. А так пока по рынку гуляли, заскочил в waveshare да купил.

место куда припаять есть?
Там конденсатор и резистор на этом выводе висят. Больше негде подпаяться.

и добавил...
Почему еще удобно подключиться к наплатной кнопке - можно внешним контроллером выдать сигнал завершения работы ОС
« Последнее редактирование: 26 Июля 2013, 17:45:31 от blindman »

Оффлайн khvilon

  • Старожил
  • *****
  • Сообщений: 1698
  • Репутация: 16
  • женя, дер.кожухово, обращаться на ты
  • Поблагодарили: +146
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #23 : 26 Июля 2013, 18:45:19 »
0
только определившись с терминологией :) Что есть файл, а что поток ?
я понимаю, что файл в терминологии unix и есть поток.
в том вопросе содержался контекст "раскодированный поток" или "поток звуковых ДАННЫХ"
или
файл, как он есть flac, ape,...

я задумался вообще над unpnp технологией и над приложением оной для меня.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #24 : 26 Июля 2013, 19:04:24 »
0
Тогда файл передается. Оригинальный или транскодированный. Но все равно в определенном формате. Раскодирование - задача рендерера

Оффлайн khvilon

  • Старожил
  • *****
  • Сообщений: 1698
  • Репутация: 16
  • женя, дер.кожухово, обращаться на ты
  • Поблагодарили: +146
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #25 : 26 Июля 2013, 19:06:32 »
0
спс! всё в голове потихоньку устаканивается...

Оффлайн motiv

  • Наш человек
  • ****
  • Сообщений: 411
  • Репутация: 3
  • Григорий, Тольятти
  • Поблагодарили: +1
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #26 : 05 Августа 2013, 00:54:24 »
0
Андрей, а можно попросить тебя добавить пожалуйста в список "Проверить вывод звука через i2s", если он разведен на плате конечно. Я знаю что он не может тактоваться от источника, это не принципиально в данном случае  :)
Так-же была бы очень интересна возможность проигрывания SACD  ;)

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #27 : 05 Августа 2013, 04:50:10 »
0
Григорий, с IIS облом. Он просто не выведен от чипа наружу

Оффлайн motiv

  • Наш человек
  • ****
  • Сообщений: 411
  • Репутация: 3
  • Григорий, Тольятти
  • Поблагодарили: +1
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #28 : 05 Августа 2013, 12:38:07 »
0
blindman, можешь посоветовать какую-нибудь ARM плату с выведенным I2S под похожие цели(upnp/dlna рендер)? И с каким набором софта у тебя получилась устойчивая работа, если не секрет? :)

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: Сервер/рендерер/плеер на Cubieboard
« Ответ #29 : 09 Августа 2013, 10:14:42 »
0
можешь посоветовать какую-нибудь ARM плату с выведенным I2S

Не могу, к сожалению. Я их не изучал специально, подвернулась под руку кьюби, посмотрел - под мои цели подходит

с каким набором софта у тебя получилась устойчивая работа


Сервер - minidlna
Рендерер - взял пример из Platinum UPnP SDK, прикрутил к нему mplayer. До этого пробовал gmrender-resurrect, но с ним есть проблемы, точнее с используемым им gstreamer'ом. Рендерер еще "обвернут" в BubbleUPnP Server, для решения проблемы с плэйлистами
Управлялка - BubbleUPnP под Android


Все это сутками работает. Пока единственное нарекание - это то, что MP3 изредка слегка "захлебывается". С FLAC такой проблемы нет

 

Похожие темы

  Тема / Автор Ответов Последний ответ
10 Ответов
15499 Просмотров
Последний ответ 07 Мая 2013, 11:37:03
от vadas
4 Ответов
9757 Просмотров
Последний ответ 02 Марта 2014, 12:04:04
от Althair
0 Ответов
4858 Просмотров
Последний ответ 09 Января 2016, 07:10:46
от Iwan2010
19 Ответов
11015 Просмотров
Последний ответ 20 Февраля 2018, 22:05:16
от kickstarter
12 Ответов
9906 Просмотров
Последний ответ 30 Мая 2018, 21:10:38
от wuriks