前言

DMM是日本一个电商网站,很多人在这买视频买电影买游戏买周边什么的,但是这时候就涉及到版权和加密问题。

而DMM的视频影片购买后主要是以2种方式提供,1种是在线播放(基于m3u8),1种是本地下载(格式为.dcv)

应某客户的要求,研究了下如何把视频文件解密本地化,因为下载的视频是加密带版权的,要用专用浏览器播放。

经过一番调查,似乎解密下载文件不是很容易(似乎早期是加密的WMV,现在是DCV,没有找到好的DCV转MP4方法),再考虑下一些搜索结果,最终还是参考了M3U8+KEY的下载方法并成功。【话说为什么全网没有一个像样的教程】

同时也有一些第三方软件可以下载,但是可能只能试用,后续就要钱了。【如果懒得折腾也可以用】

准备工作

  1. 日本IP的网络环境(并没有强制限制原生IP)
  2. 支付环境专用的IP的网络环境(和银行卡发卡地一致、或者和PP常用IP一致)
  3. https://github.com/nilaoda/N_m3u8DL-CLI 中的 N_m3u8DL-CLI_v3.0.2_with_ffmpeg_and_SimpleG.zip (当然,也需要解压软件来解压ZIP)
  4. (若要现场购买)支付工具(银行卡、PayPal等)
  5. (已经购买或者现场购买)你要下载的视频、影片,且要支持在线播放
  6. 电脑Windows环境、Chrome浏览器

抓取必要参数

首先在在线播放页面,虽然看不懂日文,但是找左上角这个电脑图标即可,然后播放器按钮有X集,取决于你的视频长端,若有下载权限,则可以直接看到大小和清晰度(和在线播放一致,可以打开后调整)(另外话说为什么这玩意大小这么大,下载下来也就6M的码率啊)

然后在点击开始播放先,先F12或者右键打开控制台,然后再点击播放,即可跳出播放器的F12控制台

如图下图搜索,搜索m3u8

很明显有playlist和chunklist这两类

其中playlist用来找视频源m3u8直链

其中chunklist用来找KEY

选最早的一个playlist就是数据源,找他的请求网址,链接是 https://str.dmm.com/digital 开头的,状态码是302,说明是主m3u8跳转到不同码率的地址,子码率地址比如开头是 https://stc021.dmm.com/digital/

然后选数字最小的chunklist,在预览中的第五行,有一个 “#EXT-X-KEY:METHOD=AES-128,URI="https://www.dmm.co.jp/service/-/drm_iphone?ld=”的东西

把这个URL复制出来,然后在浏览器直接打开或者下载器,即可得到一个叫做 drm_iphone 的东西,这玩意就是要的KEY

然后有的教程可能要你用什么16进制解码什么的,实际上完全不需要理会,浪费时间,直接用下面的N_m3u8DL-CLI工具下载即可

N_m3u8DL-CLI工具的使用

首先在GitHub下载好程序,和上面准备工作一致

打开这个带SimpleG的可执行文件

然后如图所示填写信息,

必要的是M3U8地址,就是刚刚playlist的请求地址,

然后标题你随便,然后要不要设置代理看你自己,有系统代理就不需要设置了,没有的话额外设置HTTP或者SOCKS5代理,注意这里我漏了5

然后勾选这两个绿色的,下面线程什么的自定义一下

然后在文件管理器中,把刚刚的 drm_iphone 直接拖动到自定义KEY右边的框内,即可自动读取目录

然后直接GO启动即可

然后如图所示即可开始极速下载。

另外如果出现0速,可以直接关掉、重新获取新的地址和KEY,用同样的标题下载即可,会自动识别进度。

参考资料

核心项目

有办法破解dmm的视频流吗

求教DMM视频流破解方法

其他

DMM已购买影片下载 【没看懂,但是可能能用】

关于DMM已购买视频流获取原档ts文件 【讲的不详细,但是原理正确】

猫抓插件 【可用于抓M3U8,但是目前不需要】

十六进制解码器 【最后还是没用到】

Hexadecimal -> base64 string decoder 【最后还是没用到】

DMM 国内信用卡绑卡与充值点数教程 【绑定信用卡时参考了一下】

第三方软件

(感觉都是一家套娃的,价格也差不多)

  • streamfab
  • keepstreams
  • BBFly DMM下載器

支付问题

绑定信用卡中

  1. 目前DMM取消支持万事达卡
  2. DMM看上去没有显示Discover卡组织(只有VISA、JCB、AE和大莱)
  3. 听说不支持非日本的VISA
  4. 台湾网友说他们VISA不行但是JCB行
  5. 我的测试中发现美国VISA借记卡提示安全问题、美国AMEX信用卡正常绑定(而且验证金是1USD)

PP支付中

  1. 我测试是可以每次都用Checkout付款,同时看上去似乎也可以改自动扣款
  2. Checkout中卡扣款看上去只能直接扣JPY(美国银行账户只能扣USD、VISA和AE卡只能JPY、万事达直接屏蔽不支持)
  3. 暂时不知道是不是不需要绑定信用卡就能直接走PP和其他支付方式。
  4. 我用的美区商业户中的VISA借记卡支付。

其他支付方式

好像都是日本本地的支付方式,没看到什么网传的 支付宝 微信,估计是被干掉了吧,毕竟R18和违禁品特别多。