Пользователь
0,0
рейтинг
11 июня 2014 в 16:42

Администрирование → Домашний медиацентр (HTTP, NFS, FTP, Torrent, MiniDLNA и Firebird server) на основе Raspberry Pi tutorial recovery mode

Больше всего я не люблю шум. Даже минимальный шум от внешнего винчестера долго не дает мне заснуть.

Поэтому я решил оборудовать свой домашний медиацентр только бесшумными (в крайнем случае, малошумными) составляющими.
В наличии был ПК (в кабинете), внешний винчестер WD MyBook 1TB, подключенный к ТВ, звуковой проектор Yamaha YSP-900, куда по toslink выводился звук (это добро в комнате для просмотра фильмов, то есть в спальной).

Телевизор Samsung B550, 2009 года, хотя и показывает фильмы с USB (после шаманства с настройками), но далеко не все, также не умеет битстримить DTS на проектор. Для просмотра фильмов был выбран дешевый WDTV Live Streaming 2012 года, славящийся своей всеядностью. Однако, винчестер продолжал шуметь и мешать как просмотру, так и сну.

Поэтому, винчестер был перенесен в кабинет, и подключен к новокупленному Raspberry Pi, после чего был переформатирован в ext4.

Сам Raspberry Pi питается от USB порта компьютера (такая схема работает в том числе и при глубоком сне).

Далее туториал по настройке Raspberry Pi


1. Устанавливаем последнюю версию Raspbian www.raspberrypi.org/downloads на карточку
2. Меняем настройки загрузки (для fullHd экрана)
disable_overscan=1
hdmi_group=1
hdmi_mode=16
arm_freq=800
Установка частоты больше 800 требует дополнительного охлаждения, иначе система будет нестабильна и на сложных задачах будет намертво зависать.
3. Меняем wheezy на jessie в /etc/apt/sources.list, переименовываем /etc/apt/sources.list.d/collabora.list и /etc/apt/sources.list/raspi.list с ~
4. Обновляемся sudo apt-get dist-update &&sudo rpi-update
5. Настраиваем вход по SSH по ключам (http://www.howtoforge.com/set-up-ssh-with-public-key-authentication-debian-etch и www.howtoforge.com /ssh_key_based_logins_putty), отключаем вход по паролю
6. Теперь нужно иметь постоянно примонтированный USB
Делается это так
sudo blkid -c /dev/null
/etc/fstab
UUID=ae614151-2654-4ca0-88ee-4fc97a62c048 /media/WD_MyBook_1 ext4 relatime,errors=remount-ro 0 1
UUID=17f5c5ce-6fde-48ce-98c7-b78d42205e9c /media/WD_MyBook_2 ext4 relatime,errors=remount-ro 0 1
8. На jessie есть проблема с локалями. Исправляем perlgeek.de/en/article/set-up-a-clean-utf8-environment
9. Устанавливам torrent-клиент transmission
sudo apt-get install transmission-daemon
sudo adduser --disabled-password transmission
sudo su transmission
transmission-daemon -f
Меняем настройки
sudo chown -R transmission:transmission ./WD_MyBook_1
sudo chown -R transmission:transmission ./WD_MyBook_2
habrahabr.ru/post/87287 trac.transmissionbt.com/wiki/Scripts/initd

Скорость скачивания в 100 MBit сети провайдера — около 4.5 MB/s
10. Устанавливаем NFS
sudo apt-get install nfs-kernel-server portmap nfs-common
www.cyberciti.biz/faq/how-to-ubuntu-nfs-server-configuration-howto
На WDTV Live Streaming нужно включить поддержку Linux Shares
11. Устанавливаем Lighthpd server и PHP www.penguintutor.com/linux/light-webserver
12. Устанавливаем FTP, настраиваем анонимный доступ внутри локальной сети.
sudo apt-get install vsftpd
Правим vsftpd.conf
anonymous_enable=YES
write_enable=YES
anon_root=/media/
anon_umask=0000
chown_upload_mode=0644
anon_other_write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
use_localtime=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=transmission
ftp_username=transmission
async_abor_enable=YES
Скорость скачивания по FTP в локальной 100 MBit сети — около 7 MB/s

13. Следующие шаги требуют сборки из исходников, потому устанавливаем git и checkinstall
sudo apt-get install git-core checkinstall
14. Собираем последнюю версию MiniDLNA
собираем x264 ./configure --enable-shared --prefix=/shared && make && sudo checkinstall --pkgname=x264 --pkgversion «1:0.git`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`» --backup=no --default --fstrans=no
собираем ffmpeg

sudo apt-get install build-essential libfaac-dev libfaad-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev libsqlite3-dev libflac-dev

./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --extra-cflags="-I/shared/include" --extra-ldflags="-L/shared/lib" --extra-libs=-ldl --enable-shared --disable-static
make
sudo checkinstall -fstrans=no -install=yes -pkgname=ffmpeg -pkgversion «1:0.svn`date +%Y%m%d`« -default

собираем MiniDLNA
./configure
make
sudo checkinstall -fstrans=no -install=yes -pkgname=MiniDLNA -pkgversion «1:0.svn`date +%Y%m%d`« -default

Меняем настройки MiniDLNA

media_dir=V,/media
friendly_name=Raspberry DLNA Server
db_dir=/home/pi/.minidlna
log_dir=/home/pi/.minidlna/log

На Android смотрю фильмы через BubbleUPNP

15. Устанавливаем Firebird 2.5 mapopa.blogspot.com/2012/11/debian-and-raspberry-pi-love-small-arm.html

16. Дополнительные плюшки:
15.1. я установил etherwake, и по необходимости вывожу основной компьютер из спячки удаленно по SSH
15.2. написал на PHP скрипт для автоматического переключения на резервный ADSL канал, если основной провайдер умрёт (роутер ASUS DSL-N10 B1 не делает это автоматически), поместил в сron
15.3. Как оказалось, WDTV Live Streaming не умеет показывать BD Remux, но прекрасно показывает BD-ISO. Потому ремуксы перегоняем в ISO genisoimage -allow-limited-size -o .iso
15.4. Отключил лишние tty
15.5. Собрал elinks2
15.6. Написал консольную версию игры 2048 github.com/AndriiZ/2048

Планы:
1. Подключить mono как fastcgi, поднять ASP.NET MVC сайт
2. Подключить датчик температуры и влажности. Сделано github.com/AndriiZ/RaspberryPI/tree/master/SmartHouse image
3. Поднять интернет-радио на Raspberry

Итого: Raspberry Pi скачивает и раздает контент, WDTV Live Streaming и планшет его показывает. И тишина, потому что компьютер, съемный винчестер и Raspberry Pi стоят в отдельном кабинете.

Raspberry Pi — прекрасная штука для экспериментов.
@Andrii_Z
карма
–3,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (20)

  • 0
    А есть альтернатива BubbleUPNP для просмотра 3D-видео в Android?
    Имеется проектор, и встроенный китайский видеоплеер не очень устраивает по функционалу.
    А альтернативы для работы с minidlna (в локальной сети через Wi-FI) пока не нашёл.
    • 0
      я остановился на связке Skifta (Android) и XBMC. Теперь жду когда DLNA Push в XBMC реализуют.
  • 0
    Raspberry Pi — прекрасная штука для экспериментов.

    Прекрасная, подтверждаю :) Только медленная — DocuWiki у меня еле ползает, если BitSync что-то синхронизирует большое — вообще не открывается.
    • +1
      В этом смысле мне могу посоветовать Cubietruck, в котором есть порт SATA — все работает довольно резво.
      • 0
        Спасибо, попробую :)
  • +5
    Тридцатый пятый пост на эту тему, в котором RPi-специфика содержится в единственном предложении «ставим raspbian и настраиваем видеорежим». Дальше цитаты из документации к debian/ubuntu…
    • –1
      Почему, еще питание Raspberry Pi от usb порта ПК :)
  • 0
    А не пробовали ставить на малинку OpenMediaVault? Очень интересует эта тема, но сейчас нет в доступности raspberry.
  • 0
    Что-то я очень сомневаюсь что по сети БД-ИСо нормальные с хорошим битрейтом работают без заиканий. Там УСБ софтовый как и ЛАН, при интенсивной передаче процик зашкаливает.
    • 0
      Смотрел 3 сезон Шерлока — все гладко, без заиканий.

      Чтобы transmission не мешал просмотру, поставил ему renice 19.
  • 0
    А не подскажете битрейт? И это именно БД был? Или самосбор из рипа?
    • 0
      Формат: BDAV
      Источник: Sherlock S03 1080i GBR Blu-ray AVC DTS-HD MA 5.1-ESiR
      Видео: 1920x1080 at 25.000 fps, MPEG-4 AVC, ~30 Mbps avg
      Аудио#1: English: 48 kHz/24-bit, DTS-HD MA 5.1, ~3704.00 kbps avg
      Аудио#2: Russian: 48 kHz/24-bit, DTS-HD MA 5.1, ~3748.00 kbps avg |Одноголосый закадровый, Ю.Сербин|
      Аудио#3: Russian: 48 kHz, DTS-HD MA, 2/0 (L,R) ch, ~1006.00 kbps avg |Дубляж, Первый канал|
      Субтитры: English, Russian (Первый канал)
      3 диска, 79.07 GB (84,895,918,764 байт)
      • 0
        Тогда мои поздравления. У вас все замечательно. На лицо преимущества использования NFS.
        • 0
          А что значит USB софтовый?

          dd of=/dev/null if=/media/WD_MyBook_2/Video/Classic/1.mkv
          16596902+1 records in
          16596902+1 records out
          8497614264 bytes (8.5 GB) copied, 314.069 s, 27.1 MB/s

          То есть, близко к 240 MBit/s
          • 0
            Простите, немного не правильно сформулировал ответ. Дело в том, что у pi сетевая карта висит на usb шине. И при сильном сетевом обмене со внешнего диска могут быть тормоза. Нагружает это процессор очень сильно. Но видимо разгон вам помог. Вот разбор полетов.
            habrahabr.ru/post/165153/
            • 0
              Проверил только что скорость по FTP

              200 PORT command successful. Consider using PASV.
              RETR ***.720p.BDRip.Rus.Eng.HDCLUB.mkv
              150 Opening BINARY mode data connection for***.720p.BDRip.Rus.Eng.HDCLUB.mkv (4227392383 bytes).
              Download: 4 227 164 160 bytes, 6 996 kbytes/s
              Waiting for server…
              226 Transfer complete.
              Copied (13.06.2014 11:20:18): 192.168.1.226/WD_MyBook_2/Video/New/***.720p.BDRip.Rus.Eng.HDCLUB.mkv -> e:\Temp\null\***.720p.BDRip.Rus.Eng.HDCLUB.mkv 4 227 392 383 bytes, 6 564 kbytes/s

              Как измерить скорость NFS пока не знаю, из Win 8.1 поддержку NFS убрали (оставили только в Enterprise версии). Возможно, поставлю какой-то линукс на ПК и проверю.

              Я изначально знал, что скорость по WiFi может быть не достаточной, потому плеер WDTV Live Streaming также подключен к LAN по кабелю (когда проектировал ремонт квартиры, сделал розетку возле телевизова для этих целей).
              • 0
                Под Виндой пользуюсь Hanewin NFS
                • 0
                  Через виртуалку Ubuntu вьідало 6,3 МБ/с по НФС.
  • 0
    Промахнулся. Ответ выше.
  • 0
    Больше всего я не люблю шум. Даже минимальный шум от внешнего винчестера долго не дает мне заснуть.

    Кстати, кому как. Дома наоборот — засыпаю под шумок «сервачка». А на работе, когда тишина в серверной — значит, что-то не так.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.