Specifically from Rakuten TV (live.tv.rakuten.co.jp)
FMI: https://cdm-project.com/How-To/ & https://old.reddit.com/r/Piracy/comments/y30ffr/
- Install Tampermonkey: https://www.tampermonkey.net/
- Install yt-dlp: https://github.com/yt-dlp/yt-dlp#installation
- Install ffmpeg: https://ffmpeg.org/download.html
- Download Bento4: https://www.bento4.com/downloads/
- Have a proxy/VPN if you're not in Japan since stuff is geolocked
- Install this userscript: https://greasyfork.org/en/scripts/373903-eme-logger
- Search browser JS Console for
MediaKeySession::generateRequest
, then press play on the video and look under "Init Data" - Get something like
AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAXXXXXXXXFtoyTEzFOZDD4T9lmTiI=
- After doing the above, go to your browser developer tools' Network tab and search for
Widevine
- Right click > Copy > Copy link address
- Get something like
https://azcp001.keydelivery.japaneast.media.azure.net/Widevine/?kid=e0c5b68c-9313-314e-6430-f8XXXXXXXX22
- Left click on the Widevine entry from the above steps, under the "Headers tab" scroll down to "Request Headers"
- Copy the following lines & do some manual formatting, get something like:
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,ja-JP;q=0.8,ja;q=0.7
Authorization: blahblah
Cache-Control: no-cache
Content-Length: "blahblah"
Origin: https://live.tv.rakuten.co.jp
Pragma: no-cache
Referer: https://live.tv.rakuten.co.jp/
User-Agent: blahblah
- Open https://cdrm-project.com/
- Input the results from the previous steps and press "Send"
- Hopefully see the "SUCCESS" message along with a key that looks like
e0c5b68c93133XXXXXXXX84fd9664e22:499047f36b770957XXXXXXXX9dfc4033
- In the developer console Network tab, search for
mpd
- Find something that starts with
Manifest
, right click and copy the URL, e.g.https://azclwds01.akamaized.net/9dc3547a-ede5-4aed-841f-5cXXXXXXXX0f/tXyKyP_tab_hd.ism/Manifest(format=mpd-time-csf,encryption=cenc,filter=pc_hd_001)
- Run the Terminal command:
yt-dlp --allow-unplayable [url]
- Get two files, an .mp4 and an .m4a
- In Bento4's
bin/
folder, find themp4decrypt
command line utility - Navigate to this folder in your Terminal and run
mp4decrypt --key [yourkey] /path/to/corrupted.file /path/to/fixed.file
on both files - Run
ffmpeg -i fixedvideo.mp4 -i fixedaudio.m4a -c:v copy -c:a copy output.mp4
- The end
Does it work with "channel.rakuten.co.jp"?
Free video example: https://channel.rakuten.co.jp/videos/200973