openwrt minidlna config
2016-06-22 17:30
344 查看
MiniDLNA
MiniDLNA is a lightweight DLNA/UPnP media server. The MiniDNLA daemon serves media files (music, pictures, and video) to clients on a network.Installation
root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install minidlna
Configuration
edit file: /etc/minidlna.confor/etc/config/minidlna.confor/tmp/minidlna.confdepend on your miniDLNA Version#------------------------------------------------------# # port for HTTP (descriptions, SOAP, media transfer) traffic #------------------------------------------------------# port=8200 #------------------------------------------------------# # network interfaces to serve, comma delimited #------------------------------------------------------# network_interface=br-lan #------------------------------------------------------# # 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/jmaggard/Music) # + "V" for video (eg. media_dir=V,/home/jmaggard/Videos) # + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures) #------------------------------------------------------# # Directory of media is depend on your storage #------------------------------------------------------# media_dir=A,/mnt/sda1/music media_dir=P,/mnt/sda1/picture media_dir=V,/mnt/sda1/video #------------------------------------------------------# # set this if you want to customize the name that shows up on your clients #------------------------------------------------------# friendly_name=My DLNA Server #------------------------------------------------------# # set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache #------------------------------------------------------# db_dir=/mnt/sda1/minidlna/db #------------------------------------------------------# # set this if you would like to specify the directory where you want MiniDLNA to store its log file #------------------------------------------------------# log_dir=/mnt/sda1/minidlna/log #------------------------------------------------------# # 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://192.168.1.1:8200/ #------------------------------------------------------# # 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" - "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=.
Configuration (uci)
This describes the configuration options in/etc/config/minidlna.
This is just an initial dump of all the options I found, I am not certain about any other options or their actual meaning! |
I just guessed the Type entries. — hcc23 2013/02/21 02:02 |
Name | Type | Required | Default | Description |
---|---|---|---|---|
enabled | boolean | ??? | 0 | |
port | string | ??? | 8200 | port for HTTP (descriptions, SOAP, media transfer) traffic |
interface | string | ??? | br-lan | network interfaces to serve; comma (,) delimited |
friendly_name | string | no | (none) | set this if you want to customize the name that shows up on your clients |
db_dir | string | no | /var/run/minidlna | set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache |
log_dir | string | no | /var/log | set this if you would like to specify the directory where you want MiniDLNA to store its log file |
inotify | boolean | no | 1 | set this to no to disable inotify monitoring to automatically discover new files |
enable_tivo | boolean | no | 0 | set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO |
strict_dlna | boolean | ??? | 0 | strictly adhere to DLNA standards; This will allow server-side down-scaling of very large JPEG images, which may hurt JPEG serving performance on (at least) Sony DLNA products. |
notify_interval | integer | no | 895 | notify interval in seconds |
serial | integer | ??? | 12345678 | model number the daemon will report to clients in its XML description |
model_number | integer | ??? | 1 | model number the daemon will report to clients in its XML description |
root_container | ., B, M, V, P | no | . | container for the tree root; .: default, B:browse directory, M:music, V:video, P:pictures |
media_dir | string | ??? | /mnt | set this to the directory you want scanned;if have multiple directories, you can have multiplemedia_dirlines; 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: Afor audio (eg. A,/home/jmaggard/Music) Vfor video, Pfor pictures; if you specify Band client device is audio-only then "Music/Folders" will be used as root |
album_art_names | string | no | Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg | a list of file names to check when searching for album art; /delimited |
presentation_url | string | ??? | default presentation url is http address on port 80 | |
minisdpdsocket | string | ??? | specify the path to the MiniSSDPd socket |
Execute Daemon
root@OpenWrt:~# /etc/init.d/minidlna enable root@OpenWrt:~# /etc/init.d/minidlna start
Done!
miniDLNA server is ready to use
Notes
MiniDLNA's inotify support may not work as expected when trying to watch on an overlayfs filesystem. In the case of extroot, e.g. you can watch on `/overlay/root/minidlna` instead of `/root/minidlna`.Reference:
Comparison of UPnP AV media servershttps://wiki.archlinux.org/index.php/Minidlna
http://wiki.ubuntuusers.de/MiniDLNA
The package has uci-support since
R31211.
Example
A video demonstration of how MiniDLNA 1.1.3-1 in the repositories can be installed on OpenWrt 14.07 Barrier Breaker:https://www.youtube.com/watch?v=-vU2zOw6ga0
Chaos Calmer Tips
If you have a decent size music library, you will more than likely find building the minidlna database on your OpenWrt device extremely slow or impossible due to RAM constraints. The solution is to build the minidlna database on a Linux PC.Create a directory on your OpenWrt hard or flash drive to hold the minidlna log and database files.
mkdir /PathToHardDrive/minidlna
On the OpenWrt device, modify the following
/etc/config/minidlnalines to put the minidlna database and log file on the hard or flash drive connected to your OpenWrt device.
option db_dir '/PathToHardDrive/minidlna' option log_dir '/PathToHardDrive/minidlna' option inotify '0' list media_dir 'A,/PathToHardDrive/PathToMp3s'
Create a minidlna configuration file on the hard or flash drive connected to your OpenWrt device
Put the following in file
cp_minidlna_conf.sh.
#!/bin/sh . /lib/functions.sh minidlna_cfg_append() { echo "$1" } minidlna_cfg_addbool() { local cfg="$1" local key="$2" local def="$3" local val config_get_bool val "$cfg" "$key" "$def" [ "$val" -gt 0 ] && val="yes" || val="no" minidlna_cfg_append "$key=$val" } minidlna_cfg_addstr() { local cfg="$1" local key="$2" local def="$3" local val config_get val "$cfg" "$key" "$def" [ -n "$val" ] && minidlna_cfg_append "$key=$val" } minidlna_cfg_add_media_dir() { local val=$1 minidlna_cfg_append "media_dir=$val" } minidlna_create_config() { local cfg=$1 local port local interface config_get port $cfg port config_get interface $cfg interface [ -z "$interface" -o -t "$port" ] && return 1 echo "# this file is generated automatically, don't edit" minidlna_cfg_append "port=$port" minidlna_cfg_append "network_interface=$interface" minidlna_cfg_addstr $cfg friendly_name minidlna_cfg_addstr $cfg db_dir minidlna_cfg_addstr $cfg log_dir minidlna_cfg_addbool $cfg inotify '1' minidlna_cfg_addbool $cfg enable_tivo '0' minidlna_cfg_addbool $cfg strict_dlna '0' minidlna_cfg_addstr $cfg album_art_names minidlna_cfg_addstr $cfg presentation_url minidlna_cfg_addstr $cfg notify_interval '900' minidlna_cfg_addstr $cfg serial '12345678' minidlna_cfg_addstr $cfg model_number '1' minidlna_cfg_addstr $cfg minissdpsocket minidlna_cfg_addstr $cfg root_container '.' config_list_foreach "$cfg" "media_dir" minidlna_cfg_add_media_dir return 0 } config_load 'minidlna' minidlna_create_config config
chmod +x cp_minidlna_conf.sh
./cp_minidlna_conf.sh > /PathToHardDrive/minidlna/minidlna.conf
Remove the hard or flash drive from the OpenWrt device and connect it to your Linux PC.
Build the minidlna database on a Linux PC with
minidlna 1.1.4.
minidlnad -d -R -v -f /PathToHardDrive/minidlna/minidlna.conf
Remove the hard or flash drive from your Linux PC and reconnect to your OpenWrt device.
swap if you are running low on memory.
相关文章推荐
- 连接远程Linux的桌面工具——secureCRT
- 在ecshop循环中获取一个会自动增加的数
- [备忘]liunx下shell脚本通过IP授权方法
- Jetty在linux服务器以自定义目录安装
- ecshop怎样在新主页模板里调用首页主广告
- 使用C语言的fork()函数在Linux中创建进程的实例讲解
- OpenGL学习笔记——雾
- Linux命令之sed批量替换字符串操作
- centos 图形界面和命令行界面切换
- nopcommerce插件相关
- TOMCAT 的 线程 和队列
- CentOS覆盖win10引导的解决办法
- linux
- Unable to load native-hadoop library for your platform
- arm mini2440 基于v4l2 ffmpeg x264的视频远程监控 ----fwqlzz love is for ever
- 【VMCloud云平台】拥抱Docker(六)关于DockerFile(1)
- 浅谈Android Settings模块架构
- Linux中flock和fcntl区别
- nginx按天切割日志
- Linux下的tty和pts详解