от 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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.