不见春山
骑马倚斜桥,满楼红袖招。
Home
Categories
Archives
Tags
About
Home
MiniDlna 添加对 rmvb 的支持
MiniDlna 添加对 rmvb 的支持
取消
MiniDlna 添加对 rmvb 的支持
由
ctaoist
发布于 2021-12-01
·
最后更新:2022-01-17
1
MiniDLNA([官网](http://sourceforge.net/projects/minidlna/))----DLNA服务端,不支持rm、rmvb格式的文件分享,但可以自己修改源文件来支持,所以就选它了。它还自带一个Web网页,可以显示分享资源数与当前客户端名字等等,在浏览器里打开http://本机IP:8200 ## 下载源代码 目前minidlna最新版本1.1.5, 下载地址[sourceforge.net](http://sourceforge.net/projects/minidlna/) ## 修改源文件 附上已经修改好的[源码](/downloads/minidlna-1.1.5.tar.gz)一份。 <font color=red>*metadata.c*</font> ```cpp //line 840 else if( strncmp(ctx->iformatctx->name, "matroska", 8) == 0 ) xasprintf(&m.mime, "video/x-matroska"); else if( strcmp(ctx->iformatctx->name, "flv") == 0 ) xasprintf(&m.mime, "video/x-flv"); //----添加---- else if( strcmp(ctx->iformat->name, "rm") == 0 ) xasprintf(&m.mime, "video/x-pn-realvideo"); else if( strcmp(ctx->iformat->name, "rmvb") == 0 ) xasprintf(&m.mime, "video/x-pn-realvideo"); //---结束---- if( m.mime ) goto video_nodlna; ``` <font color=red>*upnpglobalvars.h*</font> ```cpp // Line 169 "http-get:*:audio/mp4:*," \ "http-get:*:audio/x-wav:*," \ "http-get:*:audio/x-flac:*," \ "http-get:*:application/ogg:*," \ //----add---- "http-get:*:video/x-pn-realvideo:*" //----end---- #define DLNA_FLAG_DLNA_V1_5 0x00100000 #define DLNA_FLAG_HTTP_STALLING 0x00200000 ``` <font color=red>*utils.c*</font> ```cpp //line 381 ends_with(file, ".m2t") || ends_with(file, ".mkv") || ends_with(file, ".vob") || ends_with(file, ".ts") || ends_with(file, ".flv") || ends_with(file, ".xvid") || //----add---- ends_with(file, ".rm") || ends_with(file, ".rmvb") || //----end---- #ifdef TIVO_SUPPORT ends_with(file, ".TiVo") || #endif ends_with(file, ".mov") || ends_with(file, ".3gp")); ``` ## 编译步骤 ```sh sudo apt-get install build-essential libexif-dev libjpeg-dev \ libid3tag0-dev libFLAC-dev libvorbis-dev libsqlite3-dev libavformat-dev \ autoconf automake ./autogen.sh ./configure make make install sudo cp ./linux/minidlna.inot.d.script.tmpl /etc/init.d/minidlna sudo cp ./minidlna.conf /etc/minidlna.conf # 第一次启动使用-d –v选项看有没有出错 sudo /usr/local/sbin/minidlnad -d -v # 没出错就ctrl+c 结束进程 # 正常启动 sudo service minidlna start # 刷新列表 sudo service minidlna restart ``` ## Minidlna配置 ```sh # port for HTTP (descriptions, SOAP, media transfer) traffic port=8200 # network interfaces to serve, comma delimited #network_interface=eth0 # specify the user account name or uid to run as #user=jmaggard # 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=PV,/home/jmaggard/digital_camera) media_dir=/opt # set this to merge all media_dir base contents into the root container # note: the default is no #merge_media_dirs=no # 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=/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=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" # + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists) # if you specify "B" and client device is audio-only then "Music/Folders" will be used as root #root_container=. # always force SortCriteria to this value, regardless of the SortCriteria passed by the client #force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title # maximum number of simultaneous connections # note: many clients open several simultaneous connections while streaming #max_connections=50 ``` 一般只需修改media_dir参数即可: ```sh # V 即视频 # 此目录下只分享视频文件 media_dir=V,/home/aa/Videos # P 即图片 # A 即音乐 # 此目录下分享图片与音乐文件 media_dir=PA,/home/aa/Public ```
杂集
该博客文章由作者通过
CC BY 4.0
进行授权。
分享
最近更新
群晖升级 ARPL 笔记
本地部署大语言模型
WireGuard 搭建组网教程
LVM 管理
HK1 RBOX X4 电视盒子折腾笔记
热门标签
机器学习
Tensorflow
Linux
VPN
虚拟组网
Router
ROS
嵌入式
C++
C
文章目录
Mathematica 模拟滑块摆运动
Tinc 搭建教程