随着硬盘上收集的电影多了起来,怎么管理它们就成了问题,我之前采用的方法很简单:先把电影下载到内置的硬盘上,然后把看过之后觉得值得保留的那些,或者还没来得及看,但内置硬盘空间不够的时候,转移到外置硬盘 (一般是大容量的仓库盘) 上。一般这样的仓库盘就直接在根目录下分个 Movies
目录,然后所有的电影每个占一个目录,全部按它们原来的名字移动到这个 Movies
下面。类似这样:
$ cd /Volumes/Foo/Movies
$ ls
Apocalypto.2006.720p.BluRay.x264-ESiR
Gake.no.ue.no.Ponyo.2008.BluRay.720p.DTSES.3Audio.x264-CHD
Lock.Stock.and.Two.Smoking.Barrels.1998.720p.BluRay.x264-CYBERMEN
Mission.Impossible.1996.720p.BluRay.DD.x264-ESiR
Surrogates.2009.720p.BluRay.x264.DTS-WiKi
...
而自从 XBMC 被移植到 Mac 上以来,就开始关注这个软件内置的多媒体管理功能,毕竟大部分多媒体文件不是从 iTunes Store 上买的,所以 FrontRow 并不那么合用,而这个软件从功能全面和界面美观的程度上看都合适。不过之前一直都在用 Plex 这个 fork 版本,因为 Plex 确实对 Mac 相关的一些细节处理的比较好点,但也只把它当作一个单纯的媒体播放器来用,并没有用到它的库管理功能。主要是因为 XBMC / Plex 要求的命名方式是“标题 (年份)”这样的类 imdb 方式,而我又想保留原有的目录名 (方便找字幕什么的),所以一直没有实施。
更新:发现 XBMC 还能根据目录下放置的 nfo 文件中的 imdb 地址来查找,而且这样更精确,所以假如你每个目录都保存了 nfo 文件,可以不必修改目录的命名。
最近想到的取巧做法是,对每个这样的电影目录,都在本地目录建立一个符合 XBMC 命名规范符号链接,然后让 XBMC 对这个本地目录进行索引。于是写了这么一个脚本 试了一下,果然很方便,效果如图:
这里简单介绍一下步骤,供有兴趣的朋友参考:
-
推荐使用最新的 XBMC 9.11 版本,Plex 最新的 0.8.5 版本这方面支持得不好;
-
图中使用的是 Rapier 这个 skin,需要单独下载,推荐使用;(下载后将解压得到的目录移动到
~/Library/Application Support/XBMC/skin
目录下,然后在 XBMC 的 Settings -> Skin 中选择 Rapier) -
下载前面提到的这个 makelib.py 脚本,使用方法如下:
$ chmod +x makelib.py $ ./makelib.py /Volumes/Megatron/Movies ~/Movies Apocalypto.2006.720p generic viagra 100mg.BluRay.x264-ESiR -> '/Users/jjgod/Movies/Apocalypto (2006)' Gake.no.ue.no.Ponyo.2008.BluRay.720p.DTSES.3Audio.x264-CHD -> '/Users/jjgod/Movies/Gake no ue no Ponyo (2008)' Mission.Impossible.1996.720p.BluRay.DD.x264-ESiR -> '/Users/jjgod/Movies/Mission Impossible (1996)' Surrogates.2009.720p.BluRay.x264.DTS-WiKi -> '/Users/jjgod/Movies/Surrogates (2009)' The.Cove.2009.LIMITED.DVDRip.XviD-AMIABLE -> '/Users/jjgod/Movies/The Cove (2009)' ...
这么做的效果是扫描
/Volumes/Megatron/Movies
目录下所有匹配的目录,在自己的主目录下的Movies
目录中建立对应的符号链接。需要注意的是,这个脚本会要求所有内容都是目录,而且命名都是
Movie.Title.Year.*.*.*.-Group
的格式,中间一段可以任意,但必须包含年份和小组后缀,如果你手头存的目录名称不规范,必须先修改为这种格式,有的来源目录名称就不包含年份,这时可以根据 themoviedb.org 或者 imdb.com 提供的年份来自行添加。如果要求不那么规范,可以修改脚本来忽略小组。另外还要注意的是,Director’s Cut, DC, Unrated, Limited 这样的词必须放到年份后面,要么自己改改脚本,过滤掉它们也行。 -
打开 XBMC,进入 Videos 部分,选择 Add Source,用 Browse 选择这个
~/Movies
目录,在 Set Content 中,选择用 themoviedb.org 作为内容来源,选上 Use folder names for lookup,如图: -
然后 XBMC 就会开始索引所有创建好符号链接的目录,如果能在 themoviedb.org 上找到对应记录,就会自动下载。这个时候你切换到 XBMC 的 Movies 部分,就能看到如前面截图一样的效果了。选择其中任何一个,按回车就会开始播放。按 c 键或者用 Apple Remote 的 menu 按钮则可以打开上下文菜单,这里可以编辑选定项目的信息、删除特定项目 (如果导入的内容不对)、设置已经看过的标志等等。注意在 XBMC 扫描的时候不要断开存储实际内容的硬盘,否则 XBMC 会认为本地存的是无效的链接而直接跳过。如果出现个别电影名称不规范导致找不到对应记录的,可以在更名后按 c 选择重新扫描。
-
如果你下载了新的内容,可以再次以同样的参数运行前面提到的脚本,这个脚本会跳过已经添加的内容。另外,还可以在 XBMC 的 Settings -> Videos -> Library 部分选上 Update Library on Startup,这样每次启动 XBMC 的时候就会自动扫描你添加为库的目录,检查是否有新的内容了。
回头试试~
jj真聪明!
好啊好啊
好麻烦啊
中文字体异常 .. 嗯
@Rex: 可以自己替换 skin 的字体的,选用 DroidSansFallback 这样的就比较合适。
xbmc好东东,centos没编译出,ubuntu上apt-get一下就搞定了。显卡驱动后运行流畅了。
HOW-TO catalog and use lookups on your offline DVD/CD movie library by creating fake files
http://xbmc.org/wiki/?title=HOW-TO_catalog_and_use_lookups_on_your_offline_DVD/CD_movie_library_by_creating_fake_files
此文说可以建立个离线电影库,挺好,不知道哪里有个好的电影名列表[不行就自己整个啦] ex:IMDB top 250
Set Content
在这个设置里没有你截图的菜单啊?
找到了。我太粗心了!
能说说脚本具体怎么使用么?
在XBMC 里?
还是自建程序?
@Da: 看原文,脚本的使用方法写得很清楚了。
subtitle的字体在/Applications/XBMC/Resources/XBMC/media/fonts下,复制一个过去,不知道有没有更好一点的方法
今天加了TV Show。目前还有两个问题,一是怎么很容易的切换字幕,比如我可能看英文字幕,如果是父母在家也就看中文的了;二是不知道有什么支持中文电影和电视剧的网站,或者也许直接加国内的电视剧就有效果了,一会儿再试一下。
我一直保留着 Apocalypto.2006.720p.BluRay.x264-ESiR 这种格式的目录名,Plex一直都可以自动识别,包括没有nfo的
博主你好,几年之后来请教个问题:我放了nfo文件指出了IMDB URL,用MTime和Douban的搜索出来介绍都是英文的。但不放nfo它自动根据文件名搜索却可以搜出中文介绍。但不放nfo的话有很多文件无法检索到正确的电影。如何在nfo里加内容让搜刮器导向中文信息呢?
不太清楚中文 scraper 的配置,可能你要到讨论 XBMC 使用的中文论坛上看看了。