от Lucifer

DLNA logoТези дни си купих нов телевизор. Нищо специално, но една от функциите му е поддръжката на мрежа и съответно DLNA. За тези, които не знаят какво е DLNA – това е единично интегрирано решение за мултимедия. Музиката ви е на единия компютър, но искате да си я пуснете през озвучението на компютъра или изтегления торент да си го пуснете на голям екран. DLNA решава такива проблеми като прехвърляне с флашки и дискове …

За в нас реших да използвам двуяк модел – от една страна имам сложен Plex на лаптопа, за да мога да гледам сериалите директно на телевизора (за Plex може да в някой от следващите дни), но също така имам и външен HDD, който по принцип е в SAMBA Share на Gatеwаy/Server машината. Него го използвам за да складирам филми, които ще искам да гледам и друг път или сериали, които пре преглеждам. Изобщо 1TB говедо, на което да зареждам филми.

Проблема ми беше как да споделя този хард с телевизора … не искам да местя харда всеки път, когато реша че и се гледа нещо, а и трябва да откачам SAMBA-та, а и какво става, когато искам да добавя някой нов филм? Тъй като Plex е твърде тежък за Borderline device-а ми (защото ресурсите му трябват за хостването на всичките ми проекти (ако още не сте разбрали, искам всичко да ми е под ръка)) ми трябваше решение, което да ми позволява да използвам DLNA … и така ровейки попаднах на miniDLNA (по-късно прекръстен на RealMedia).

1. Какво е miniDLNA?

miniDLNA е елементарен демон (програма работеща на заден план), която stream-ва информацията, която искате към устройството на което го искате. По-принцип при хубава WiFi мрежа, това може да става и през WiFi, но аз съм старомоден и съм си опънал кабел до телевизора.

miniDLNA е съвсем елементарен. Създаден е на принцип KISS (Keep It Simple, Stupid), не изисква много конфигурация, но и няма много шарении (в Plex има сваляне на информация и обложка от IMDB, оценки, дори downscale-инг на медията, за да може да се и през 3G). Има съвсем мижав набор настройки и за момента е само за Linux.

2. Dependencies

Както всеки друг Linux софтуер, така и miniDLNA зависи от други библиотеки.

libexif
libjpeg
libid3tag
libFLAC
libvorbis
libsqlite3
libavformat (the ffmpeg libraries)

При мен повечето ги има в OS (Slackware), a libavformat я има в FFmpeg пакета на Alien Bob.

3. Компилиране срещу статични.

Като казах Alien Bob и Slackware – по принцип има пакет на miniDLNA и за Slackware, но версията е 1.0.26, докато текущата е 1.1.0. Със старата версия имах проблем със субтитрите, който вече е решен в 1.1.0. Проблема е, че 1.1.0 не се компилира с SlackaBuild скрипта на Alien Bob. Пробвах 15 различни начина да го накарам да работи, но достигнах само до състоянието в не можех да намеря FFmpeg библиотеките … За това след 3 часа през, които трябваше да спя се отказах и си свалих static архива от сайта на проекта. Разархивирах, сложих … и тръгна.

Ако държите, а и препоръчвам, компилирайте си source-а.

4. Конфигуриране.

Както казах – miniDLNA следва KISS принципа, за това и конфигурационния фаил е съвсем елементарен и изключително добре обяснен. Ето ви моя:

# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200
# network interfaces to serve, comma delimited
network_interface=eth2
# specify the user account name or uid to run as
#user=lucifer
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=AV,/home/jmaggard/digital_camera)
media_dir=/mnt/WD1/share
# set this if you want to customize the name that shows up on your clients
friendly_name=Anavaro.com DLNA
# 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/cache/minidlna
# set this if you would like to specify the directory where you want MiniDLNA to store its log file
#log_dir=/var/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=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=60
# 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" - "Music"
# + "V" - "Video"
# + "P" - "Pictures"
# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
#root_container=.

Опцията port дефинира разбира се порта, на който трябва да слушка и предава.

network_interface е за всички, като мен, които имат повече от една LAN карта и искат да предават само в локалната си мрежа.

Ако сте компилирали сами кода, при конфигурацията, може да окажете потребителя, под който искате да работи демона, от съображения за сигурност. Аз лично не съм, за това …

media_dir е мястото където оказвате вече какво ще бъде достъпно. Имайте предвид, че директориите се достъпват рекурсивно няма друга организация на информацията, освен по папки.

db_dir и log_dir позволяват да дефинирате свои собствени директории за базата с картинки и логовете (потребителя под който работи miniDLNA трябва да има wr права.

Първите опции са най-важни и по принцип, ако не ви се занимава много, можете да настроите само тях.

5. Заключение

За толкова малка програмка miniDLNA върши перфектна работа. Някой ден, с повече време, ще седна и ще кокмпилирам директно от GIT. Но няма да е сега. За сега ми стига да мога да си достъпвам диска от телевизора. И ако не забиете като мен, можете да инсталирате и конфигурирате miniDLNA за по-малко от 5 минути.

Надявам се да съм ви бил полезен.

Ваш,

Lucifer

Пост 31 от 60

Вашият коментар

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.