V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tony1016
V2EX  ›  程序员

电影文件名称分析,该怎么做?

  •  1
     
  •   tony1016 · 2014-12-02 16:46:21 +08:00 · 9919 次点击
    这是一个创建于 3430 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在做一个程序,可以分析一堆下载的电影文件,并匹配上封面和介绍等内容。问题是,从乱七八糟的电影文件名中,如何提取出正确的电影中文名或者英文名?
    第 1 条附言  ·  2015-01-06 12:01:15 +08:00
    预览版开发完毕,http://apps.tonylee.name,大家玩玩
    26 条回复    2016-12-10 09:26:23 +08:00
    webflier
        1
    webflier  
       2014-12-02 17:01:50 +08:00
    参考plex,xbmc的提取规则。目前下载的电影/连续剧基本都能识别
    saintw
        2
    saintw  
       2014-12-02 17:02:33 +08:00
    这种东西有数据库的吧。
    比如:
    https://www.themoviedb.org/

    话说你是要做一个XBMC?
    tony1016
        3
    tony1016  
    OP
       2014-12-02 19:10:43 +08:00
    @webflier
    @saintw plex和xmbc目前对于中国国内这种中英混合,不规则的文件,识别率非常低。一般来说,如果英文在前的,基本可以。但如果中文名称在前,甚至社区名称在前的,基本没戏。但是,我发现小米盒子和迅雷云播放,其识别率都超级高。所以我在思考他们是怎么做的。
    to @saintw ,我想做的东西呢,别xbmc更轻一些,甚至初期可能没有播放功能,仅仅是影片整理和重命名等功能,可以调用第三方的播放器播放。这样大家在一堆片子里选片子,就方便很多
    chintj
        4
    chintj  
       2014-12-02 19:36:35 +08:00
    关注。我的情况是从pt、论坛(包括人人)还有ed2k上一些命名更乱的文件混在一起,有中文有英文,基本上按电影、剧集、视频等等简单分开。积累很长时间,懒得收拾。看看有什么好的方法
    tony1016
        5
    tony1016  
    OP
       2014-12-02 20:06:51 +08:00
    以下是思路:
    1.分词,用特殊符号作为关键点,比如
    梦幻天堂·龙网(lwgod.com).720p.沙漠驼影.踪迹-->梦幻天堂|龙网|lwgod|com|720p|沙漠驼影|踪迹
    The.Fifth.Estate.2013.危机解密.双语字幕.HR-HDTV.AC3.1024X576.x264-->The|Fifth|Estate|2013|危机解密|双语字幕|HR|HDTV|AC3|1024X576|x264

    2.最佳组合:
    英文优先:多个英文单词相连的组合作为一个最优解,如The|Fifth|Estate
    中文次之:以最长中文为最优解,如 梦幻天堂 或者 沙漠驼影

    3.时间校验
    寻找具有19xx或者20xx的4位数字,验证tmdb库中关于找到片子的上映时间来相互对比,如果bingo,则是最优解
    tony1016
        6
    tony1016  
    OP
       2014-12-02 20:12:59 +08:00
    又想到一个:首字母大写的分词,可能性更高
    Atu
        7
    Atu  
       2014-12-02 20:15:48 +08:00
    @tony1016 坐等MAC版
    meta
        8
    meta  
       2014-12-02 21:52:10 +08:00
    这个是和什么匹配,如果数据库在自己这里的话,可以把数据库中的电影名字做成一棵字典树作为数据的索引,然后就好匹配了。
    fenglai
        9
    fenglai  
       2014-12-03 01:27:12 +08:00 via Android
    期待一下,现在htpc真没啥好用并且快捷方便的播放系统,lz要做就提些意见
    分类识别必须做好 lz正在努力
    界面ui最好符合遥控操作方式,兼容遥控器
    必须支持源码输出,能过点亮功放dts dtshd 杜比音效
    其实国内有个叫猫范的做的还不错,还能像射手影音那样自动下载字幕,应该是xbmc改的,但是它和xbmc一样,不能源码输出,对于接功放家庭影院的玩家来说,非常鸡肋。
    Sylv
        10
    Sylv  
       2014-12-03 03:12:12 +08:00 via iPhone   ❤️ 1
    我写了个脚本运行在 NAS 上,来整理电影,并补全电影中文信息和海报,以供 XBMC 显示和播放(因为 XBMC 的各种中文削剥器都不太好用)。
    我的做法是先过滤掉文件名中任何括号内的内容,一般里面都是组名网站名。然后通过文件名中的年份来分割,一般在年份前的都是电影名(可能会包括中文和英文名),年份后的一般就是视频分辨率之类的。然后用年份和原始电影名通过豆瓣 api 搜索到正确对应的电影,配合年份的话成功率能有 90%,这样就能获取到正确的电影中外文名和其它电影元数据。
    然后把从豆瓣获取到的信息写成供 XBMC 读取的 XML 文件 movie.nfo,再从豆瓣下载对应海报和剧照,这样 XBMC 就能显示出完善的中文电影信息。最后把管理和播放的任务交给 XBMC。
    Sylv
        11
    Sylv  
       2014-12-03 03:20:14 +08:00 via iPhone
    @fenglai XBMC 可以源码输出的,在我这是可以点亮功放的。但我一般是外挂 PotPlayer 来播放,对 ass 字幕支持会更好点。
    tony1016
        12
    tony1016  
    OP
       2014-12-03 09:20:30 +08:00
    @Sylv 感谢,这个非常有帮助
    tony1016
        13
    tony1016  
    OP
       2014-12-03 09:24:35 +08:00
    @meta 和tmdb匹配,在线的,多次匹配速度会很慢,所以最好找到规律后一次匹配
    tony1016
        14
    tony1016  
    OP
       2014-12-03 09:26:25 +08:00
    @fenglai htpc没怎么玩过,第一波肯定是mac版,之后考虑拿node-webkit改个通用版。至于播放功能,我还是倾向于调用第三方播放,毕竟太专业。但是我考虑研究一下dlna,因为这个在所有的播放器中,都没有考虑过
    Sylv
        15
    Sylv  
       2014-12-03 09:48:43 +08:00 via iPhone
    Mac 下有个从 IMDB 和 RottenTomato 等网站匹配电影信息和海报的电影管理软件叫 ViMediaManager,我用它配合我的脚本来补全电影信息,很好用。这个软件是开源的,你可以参考下。
    http://mariusth.heliohost.org/vimediamanager/
    tony1016
        16
    tony1016  
    OP
       2014-12-03 10:24:15 +08:00
    @Sylv 试了一下,功能上确实不错,就是自动匹配能力比较差了,看来要做,那卖点必须是自动匹配能力
    Sylv
        17
    Sylv  
       2014-12-03 11:12:28 +08:00 via iPhone
    @tony1016 匹配功能是不太强,所以我都是先用脚本通过豆瓣找到对应的 IMDB 编号,再用这个软件补全各种 fanart 、预告片和各站评分,这部分功能这个软件比较完善
    tony1016
        18
    tony1016  
    OP
       2015-01-06 12:01:49 +08:00
    预览版开发完了,大家试试
    tony1016
        19
    tony1016  
    OP
       2015-01-06 13:15:02 +08:00
    @webflier
    @saintw
    @chintj
    @Atu
    @meta
    @fenglai
    @Sylv

    预览版开发好了,试试吧
    Sylv
        20
    Sylv  
       2015-01-06 13:28:58 +08:00
    打开崩溃

    Dyld Error Message:
    Library not loaded: @rpath/libPythonic.dylib
    Referenced from: /Users/USER/Downloads/MovieChooser.app/Contents/MacOS/MovieChooser
    Reason: image not found
    tony1016
        21
    tony1016  
    OP
       2015-01-06 13:37:10 +08:00
    @Sylv shit.第一次开发mac程序,打包有些问题,我再改改
    chintj
        22
    chintj  
       2015-01-06 14:12:09 +08:00
    辛苦了
    Atu
        23
    Atu  
       2015-01-06 20:24:01 +08:00
    收到,试中。。。
    tony1016
        24
    tony1016  
    OP
       2016-05-12 21:01:47 +08:00
    关于该帖,最近又有一些新的想法。
    因为最近接触机器学习的缘故,于是在想怎么通过机器学习去识别。目前想法是这样:

    随便抓一个影视合集网站,比如这个 henbt.com ,里面每一条就是一部电影,文件名是我们常见的这种。点击进去就是介绍页面,每个页面都有 imdb 链接,再抓取对应的 imdb 的 title ,然后再退回去学习文件名中究竟哪些是符合 title 的部分,逐渐积累,训练集就这样可以搞定了,而且量应该很大。

    只是还没想好向量模型改怎么建,似乎并不是一个分类模型
    CrispElite
        25
    CrispElite  
       2016-08-08 16:37:15 +08:00
    我最近也正在利用 Electron 做一个电影管理的程序。

    虽是老帖,但也受益匪浅,思路有拓宽了!

    谢谢楼上各位
    wangxiaoer
        26
    wangxiaoer  
       2016-12-10 09:26:23 +08:00 via Android
    挖个坟,这个类似的怎么样? http://www.oldwanghub.com/item/79053
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3231 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:16 · PVG 22:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.