电影文件名称分析,该怎么做? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tony1016
V2EX    程序员

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

  •  1
     
  •   small class="gray">tony1016 2014-12-02 16:46:21 +08:00 10648 次点击
    这是一个创建于 3973 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在做一个程序,可以分析一堆下载的电影文件,并匹配上封面和介绍等内容。问题是,从乱七八糟的电影文件名中,如何提取出正确的电影中文名或者英文名?
    第 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     Solana     2471 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 11:11 PVG 19:11 LAX 04:11 JFK 07:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86