Własny server DLNA oparty na UBUNTU 11.10 / 12.4 LTS

Do niedawna nie potrzebowałem bawić się w instalację własnego serwera DLNA, gdyż byłem szczęśliwym użytkownikiem Dysku Synology.

Synology w piękny sposób spełniał wszelkie wymagania jeżeli chodzi o streaming, lecz już „wyrosłem” z modelu jaki posiadam tj. DS110j [800MHz / 256MB RAM ].

Postanowiłem zbudować własny serwer [ obecnie pożyczony ] na regularnych komponentach PC i UBUNTU 11.10.

Przeszedłem przez instalacje wielu serwerów DLNA taki jak:

  • serviio
  • uShare
  • Rygel
  • miniDLNA i przy tej pozostałem…

Instalacja i konfiguracja tej aplikacji jest tak prosta, że od razu przypadła mi do gustu 🙂

posłużyłem się wskazówkami  opisanymi przez Bena na jego blogu: Miscellaneous

Przejdę  do instalacji, jak już wspomniałem instalacja jest bardzo prosta a ułątwieniem jest fakt, iż miniDLNA jest dostępne w repozytoriach UBUNTU.

ale możemy wesprzeć się dodatkowym repozytorium wpisując w terminal:

sudo add-apt-repository ppa:stedy6/stedy-minidna

Następnie instalujemy miniDLNA wpisując w terminalu:

sudo apt-get update && sudo apt-get install minidlna

Po instalacji konfigurujemy poleceniem:

sudo nano /etc/minidlna.conf

lub jeśli mamy zainstalowany już Midnight Commander

sudo mcedit /etc/minidlna.conf

Szukamy miejsca gdzie widnieje

media_dir=A,/media/storage/Share/Music
media_dir=P,/media/storage/Share/Pictures
media_dir=V,/media/storage/Share/Videos

Zmieniamy według własnych preferencji …
Nieco niżej możemy ustawić Przyjazna-wyświetlaną nazwę naszego serwera

friendly_name=LSPDLNA

Zapisujemy zmiany i nasz serwer jest już gotowy do działania teraz tylko kosmetycznie możemy przeindeksować zawartość ustawionych przed chwilą folderów

sudo minidlna -R

lub też przeładować cały serwer …

sudo service minidlna restart

GOTOWE 🙂 !!

27 thoughts to “Własny server DLNA oparty na UBUNTU 11.10 / 12.4 LTS”

  1. Jak z innego komputera kopiować do folderu na serwerze pliki np. muzyke, zdjecia, itp. ? Jak wchodze na pliki serwera przez dodany serwer multimediów w Windowsie 10 to nie moge nic dodac tylko moge otworzyć..

    1. Z innego komputera pliki kopiować możesz za pomocą na przykład FTP albo jeśli podmontujesz sobie te zasoby jako miejsce sieciowe (jeżeli masz protokół SAMBA) . Ogólnie protokół DLNA to tylko możliwość odczytu i nie ma możliwości zapisu.

      1. Pomógł byś z tym protokołem Samba? Chodzi mi że chciałbym móc kopiować pliki na serwer i z serwera bez ftp dla się tak ?

        1. Za niedługo postaram Ci się pomóc, jeśli już do tej pory sam nie rozwiązałeś problemu, gdyż będę znów majstrował przy linux’ie więc będę na bierząco ..

        2. Przepraszam że dopiero po takim czasie ale zapomniałem hasła do Disqus 🙂
          Powiedz mi czy już sobie poradziłeś ? jeśli nie to powiedz mi czy masz skonfigurowany server samba w jakikolwiek sposób ?

  2. Wszystko to robiłem po kilka razy. Katalogi są widoczne nie widać zawartości. Acha sudo minidlna -R nie działa. robiłem sudo service minidlna restart i sudo service minidlna force-ureload

  3. Witajcie
    Od kilku dni walcze z miniDLNA. Program działa, pokazuje foldery tylko puste. W logu mam komunikat że skanuje folder i wykrywa 0 files!. Jak wgrywam pliki (np mp3) do folderu to w logu piszę że to jest unrecognizet file format. Jakieś pomysły?

    1. Przede wszystkim sprawdź czy podałeś dobre ścieżki do folderów które mają być wyświetlane.
      Potem wykonaj indexowanie tych folderów komendą: sudo minidlna -R. no i restart: sudo service minidlna restart.

  4. Rozumiem że widzi poniższe foldery, tak ?
    /home/buba/Muzyka
    /home/buba/Wideo
    /home/buba/Obrazy

    Dziwne że nie możesz tworzyć folderów na root ( nie masz uprawnień root’a ?? )

    ok to analogicznie w /home/buba/ utwórz jakieś inne foldery na przykład:

    /home/buba/Nuta
    /home/buba/Aviki
    /home/buba/Fotki

    chce w ten sposób sprawdzić czy poprawne ścieżki widzi sam serwer…

    1. Dobra, chwila google i wiem więcej. Jaka to jest wersja minidlna? Była ręcznie kompilowana czy z paczki instalowana? Tu jest ładny wątek razem z patchem, prawdopodobnie trzeba po prostu przekompilować minidlna z odpowiednimi flagami i wtedy się nie będzie sypać.

  5. Witam
    Próbuję od jakiegoś czasu skonfigurować miniDLNA i nie działa.
    to znaczy TV widzi ale dziwne foldery nie te ustawione przeze mnie i są one puste.;/

    1. Witam, dziwna sprawa bo miniDLNA to najprostszy w konfiguracji i użytkowaniu program dlatego go sam wybrałem :).
      pokaż co masz w /etc/minidlna.conf ..
      a druga sprawa czy zrobiłem przeładowanie zawartości skonfigurowanych folderów czyli
      „sudo minidlna -R”

      1. Jak najbardziej przeładowywałem.

        minidlna.conf:

        # port for HTTP (descriptions, SOAP, media transfer) traffic
        port=8200

        # network interfaces to serve, comma delimited
        #network_interface=wlan0
        # set this to the directory you want scanned.
        # * if have multiple directories, you can have multiple media_dir= lines
        # * if you want to restrict a media_dir to a specific content type, you
        # can prepend the type, followed by a comma, to the directory:
        # + „A” for audio (eg. media_dir=A,/home/buba/Muzyka)
        # + „V” for video (eg. media_dir=V,/media/BuBa pqi/Filmy)
        # + „P” for images (eg. media_dir=P,/media/BuBa pqi/FOTO)
        media_dir=A,/home/buba/Muzyka
        media_dir=V,/home/buba/Wideo
        media_dir=P,/home/buba/Obrazy

        # set this if you want to customize the name that shows up on your clients
        friendly_name=BuBa SERWER

        # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
        db_dir=/var/lib/minidlna

        # set this if you would like to specify the directory where you want MiniDLNA to store its log file
        log_dir=/var/lib/minidlna/log

        # set this to change the verbosity of the information that is logged
        # each section can use a different level: off, fatal, error, warn, info, or debug
        #log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn

        # this should be a list of file names to check for when searching for album art
        # note: names should be delimited with a forward slash („/”)
        album_art_names=art.jpg/Art.jpg/front.jpg/Front.jpg/Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

        # set this to no to disable inotify monitoring to automatically discover new files
        # note: the default is yes
        inotify=yes

        # set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
        enable_tivo=no

        # set this to strictly adhere to DLNA standards.
        # * This will allow server-side downscaling of very large JPEG images,
        # which may hurt JPEG serving performance on (at least) Sony DLNA products.
        strict_dlna=no

        # default presentation url is http address on port 80
        #presentation_url=http://www.mylan/index.php

        # notify interval in seconds. default is 895 seconds.
        notify_interval=900

        # serial and model number the daemon will report to clients
        # in its XML description
        serial=12345678
        model_number=1

        # specify the path to the MiniSSDPd socket
        #minissdpdsocket=/var/run/minissdpd.sock

        # use different container as root of the tree
        # possible values:
        # + „.” – use standard container (this is the default)
        # + „B” – „Browse Directory”
        # + „M” – „Muzyka”
        # + „V” – „Filmy”
        # + „P” – „Zjecia”
        # if you specify „B” and client device is audio-only then „Music/Folders” will be used as root
        #root_container=B

        1. Wszystko wygląda dobrze, zastanawiam się czy jednak dobrze rozpoznaje Twoje ścieżki.
          Przeprowadź test utwórz bezpośrednio na root foldery AUDIO, VIDEO, PHOTO wrzuć tam po jednym pliku dla testów …

          i podmień:
          media_dir=A,/AUDIO
          media_dir=V,/VIDEO
          media_dir=P,/PHOTO

          potem oczywiście sudo minidlna -R

          i jeszcze proponowałbym coś w stylu

          friendly_name=BubaSerwer bez odstępu…

          i daj znać jaki rezultat…

    2. To chyba nie kwestia konfiguracji, u mnie skanując katalogi ze zdjęciami, minidlna wykonuje po kilku katalogach buffer overflow:

      root@pe /etc/ minidlna -f /etc/minidlna.conf -R -d
      [2012/10/22 15:49:34] minidlna.c:884: warn: Starting MiniDLNA version 1.0.25 [SQLite 3.7.11].
      [2012/10/22 15:49:34] minidlna.c:907: warn: Creating new database…
      [2012/10/22 15:49:34] minidlna.c:972: info: Enabled interface 192.168.1.101/255.255.255.0
      [2012/10/22 15:49:34] scanner.c:731: warn: Skanowanie /opt/foto
      [2012/10/22 15:49:34] minidlna.c:990: warn: HTTP listening on port 8200
      [2012/10/22 15:49:34] minissdp.c:351: debug: Sending SSDP notifies
      [2012/10/22 15:49:34] scanner.c:731: info: Skanowanie /opt/foto/19
      [2012/10/22 15:49:34] scanner.c:731: info: Skanowanie /opt/foto/19/podstawowka
      *** buffer overflow detected ***: minidlna terminated
      ======= Backtrace: =========
      /lib64/libc.so.6(__fortify_fail+0x37)[0x308d7094c7]
      /lib64/libc.so.6[0x308d707680]
      …itd

      Co dziwne, nie ma problemu z podobnymi katalogami z mp3 i filmami.
      Mój Linux to 64 bitowa Fedora z kernelem 3.6.2, minidlna w wersji 1.0.25

      1. wynikało by z tego, że minidlna słabo radzi sobie z większą ilością podfolderów , ja nie miałem w sumie żadnych podkatalogów w folderach skanowanych przez minidlna…

      2. A te katalogi to jakieś specyficzne są? Gdyby to coś było z uprawnieniami to raczej by o tym coś wspomniał minidlna, a nie sypał buffer overflow. Zawsze się wywala na /opt/foto/19/podstawowka? Dużo tam jest plików/podkatalogów? Może jakieś magiczne pliki z krzaczkami w nazwie? Nie siedzę w minidlna tylko Loco prosił, żebym tu zajrzał, stąd przygłupie może pytania 🙂 Na uprawnieniach jakiego usera działa minidlna? root? Nie podoba mi się też: [2012/10/22 15:49:34] minidlna.c:990: warn: HTTP listening on port 8200, dlaczego warn? Może w tle już śmiga jakiś minidlna i blokuje coś? Pokaż może

        ps aux | grep minidlna

        upewnij się że minidlna jest ubite, zanim je odpalasz. Piszesz, że nie możesz edytować jako root? Do tego ten buffer overlow… Ze sprzętem wszystko OK? Zrób może memtest i sprawdź dysk smartctl -a /dev/wiadomoco

        1. Katalogi i pliki nie są specyficzne, mają proste nazwy bez dziwnych znaków. Są tak samo, a czasem mniej zagnieżdżone niż katalogi z mp3 (które jak pisałem nie sprawiają kłopotów). Zresztą kopiowałem je też w inne miejsca. Skanowanie wywala zawsze w tym samym miejscu, ale sam minidlna działa dalej i serwuje tych kilkanaście plików które udało się zeskanować. Pliki mają te same prawa, ten sam kontekst selinux, są w tym samym katalogu.
          Proces minidlna działa jako jedyny.
          To kolega Buba pisze, że nie potrafi edytować jako root 😉 Nie ja.
          Sprzęt jest OK, żaden pozostały soft nie powoduje buffer overlow.
          ———
          Zrobiłem trochę eksperymentów i wygląda na to, że skanowanie wywala się na konkretnym formacie jpg, mianowicie:
          peter@pe ~/podstawowka/ file IMG.JPG
          IMG.JPG: JPEG image data, JFIF standard 1.01

          natomiast bez problemu odczytuje:
          peter@pe ~/podstawowka/ file IMG_0090.JPG
          IMG_0090.JPG: JPEG image data, EXIF standard 2.3

          Jakby nie korzystał z systemowych bibliotek, tylko z jakiegoś niskopoziomowego dekodowania jpegów?

          1. A sprawdziłeś może wątek który podrzucił kolega Thomas ? jest patch, przekompiluj i daj proszę znać co i jak..

Komentarze są zamknięte.