I'm not sure about the instructions for use. Is mine correct? Because when I use this command, I get a file time of only 0 seconds. I want to know if I need to use it. Do you have anything else to order?
Command code used.
Link Audio DataCode:mp4decrypt.exe --key %Keys1% "vid.mp4" "vid_dec.mp4" mp4decrypt.exe --key %Keys2% "aud.m4a" "aud_dec.mp4"
Link Video DataCode:https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/ea9cc9c507159289bd83c4b3577104b9.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=489ec7ebfb07c0de261f85903a10d16a
Key AudioCode:https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/af3e97f957f3c1eceb8836204eece0f9.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=74563cf7996d26bb571e073c5745f0a4 https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/f8c8e4307fb39715cf017b8c504a2945.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=f8fb126caaf3f5c6d5f7bc3648106dbf https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/9d7ac95f21fb7f4ed87ae56bdd34cc70.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=1575a454832d88a2a48cc30600f7473b https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/4f115af6b635227faf8bdba337626dae.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=013ab5b1c32773dcee7496fd92e835a3 https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/4fa6d7d73e1ef0624afb874c5ffbe0ae.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=45992c898d87e934e770db279fdf5a45 https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/713bd901e27845f77233f58b1d6f356b.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=9fabd53e0599c3415be0ea8ec30e0957 https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/953d81347cebdb2354fa9e4d6ecd0e50.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=dfea8bc9a22add87cd48657d2b78df74 https://pcw-data.video.iqiyi.com/videos/v0/20250211/8d/ad/81bf3bf6602fdfa9277f6a31453ad211.m4s?qdv=3&qd_uid=30102862835&qd_vip=1&qd_vipres=2&qd_did=15f97acb0ee33569e009c5629778487b&qd_src=01010031010014000000&qd_tm=1739956998643&qd_p=ab066f4e&qd_k=0&qd_index=vod&qd_tvid=1637721851238600&dis_hbr=1&bid=200&fr=25&br=&vcodec=2&cpt=0&qd_sc=1bd10711897901a36c39da6f0ae20754
Key VideoCode:596400576987ea8a4aa0fb747f24c000:564f104a5ccb0d689035342497f98fab
File Audio For decoding to get authentic files.Code:596400576987ea8a4aa0fb747f24c001:98b11c02b8aaad1b94e037ef067fbb91
https://files.videohelp.com/u/309094/aud.m4a
File Video For decoding to get authentic files.
https://files.videohelp.com/u/309094/vid.mp4
+ Reply to Thread
Results 1 to 9 of 9
-
Last edited by evilragnarok; 20th Feb 2025 at 07:44.
-
Video URL?
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
The files have no header, so decryption does not work. Must be merged with 'init' file.
-
It's just a test. Why isn't the file included? Not actually loaded
If you want to try this, here is the link.
https://www.iq.com/play/oc8m44l15g?lang=th_th -
-
Code:
aa9916d0c78bdb894ad15a5d29b50e00:e8e3709881c9887e117e9ebb8d41ac18 aa9916d0c78bdb894ad15a5d29b50e02:93f8f3f52d765584261b8021e06b9041
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
-
You can download using python and n_m3u8dl-re. Make sure you have python installed (including pip) and n_m3u8dl-re installed (including mp4decrypt, ffmpeg). The reason you need python is because it is tedious to append manually 30 fragments for a 3 hour video worst case. You need Thailand IP for that video. Make sure you get the right keys for your wanted resolution because not only do they have separate keys for audio/video, but also for resolution. So for a video with 4 different resolutions, you would have at least 8 unique keys. But you just need the ones for your res.
The next steps are done on firefox but you should be able to use other browsers. Now select any unwanted res, wait for the video to switch completely because it notifies you ("You are watching in 360p", etc). This is done to force specific requests to happen since the site loads the default res m3u8 on their html page and it is a hassle to extract it.
Then refresh page, wait for it to load on your bad unwanted res. After it loads completely, pause the video. Inspect network requests, filter for the text: "/dash?" . You may wanna zoom in/out so you can see the quality button. Click on it so you can select the wanted res. Once you do that and the dash request appears, click on it and copy the json raw response.
[Attachment 85660 - Click to enlarge]
Then make an empty folder. Create the files (double check so they're the right extension)
1. main.py
2. input.txt (in this file drop the copied dash raw json response)
In main.py drop this script
Code:import base64 import json INPUT_FILE = "input.txt" def save_init_file(filename, codec_init): with open(filename, "wb") as f: f.write(base64.b64decode(codec_init)) def generate_track_m3u8(current_track, m3u8_name, init_name): try: save_init_file(init_name, current_track["codec_init"]) has_init = True except: has_init = False track_segments = current_track["files"] with open(m3u8_name, "w") as f: f.write( "#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:{}\n#EXT-X-MEDIA-SEQUENCE:0\n".format( max(seg["duration_second"] for seg in track_segments) ) ) if has_init: f.write(f"#EXTINF:5.0,\n{init_name}\n") visited = [] for segment in track_segments: if segment["file_name"] in visited: continue visited.append(segment["file_name"]) f.write( "#EXTINF:{},\n{}\n".format( segment["duration_second"], segment["file_name"] ) ) f.write("#EXT-X-ENDLIST\n") def generate_master_m3u8(m3u8_payload): master_content = """#EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=1000000,CODECS="avc1.64001f,mp4a.40.2" video.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=128000,CODECS="mp4a.40.2" audio.m3u8 """ with open("master.m3u8", "w") as f: f.write(master_content) m3u8_payload = m3u8_payload["payload"]["wm_a"] generate_track_m3u8(m3u8_payload["video_track1"], "video.m3u8", "init_video.mp4") generate_track_m3u8(m3u8_payload["audio_track1"], "audio.m3u8", "init_audio.mp4") def main(): with open(INPUT_FILE, "r") as f: master_m3u8 = json.load(f) master_m3u8 = master_m3u8["data"]["program"]["video"] if type(master_m3u8) is not list: master_m3u8 = [master_m3u8] is_valid = False for v in master_m3u8: try: for f in ["payload", "video_track", "audio_track", "duration_second", "file_name"]: assert f in v["m3u8"] assert type(v["m3u8"]) is str master_m3u8 = json.loads(v["m3u8"]) is_valid = True break except: pass if not is_valid: raise "Failed to find m3u8 payload" generate_master_m3u8(master_m3u8) print('N_m3u8DL-RE "master.m3u8" -M format=mkv') if __name__ == "__main__": main()
Code:python main.py
Code:N_m3u8DL-RE "master.m3u8" -M format=mkv
Code:N_m3u8DL-RE "master.m3u8" -M format=mkv --key aa9916d0c78bdb894ad15a5d29b50e00:e8e3709881c9887e117e9ebb8d41ac18 --key aa9916d0c78bdb894ad15a5d29b50e02:93f8f3f52d765584261b8021e06b9041
Please select what you want to download:
[X] Basic
[X] Vid 1000 Kbps | avc1.64001f,mp4a.40.2
> [X] Vid 128 Kbps | mp4a.40.2
(Press <space> to toggle a stream, <enter> to accept)
1. the m3u8 isn't represented by a json and instead
1a. it's a direct m3u8 url, usually in a "m3u8Url" field value. In this case just use N_m3u8dl-re with the direct URL
1b. it's plaintext m3u8 (something like #EXTM3U ... etc). In this case copy the text value, unescape it if necessary, and save it a local m3u8 file then use N_m3u8DL-RE on it.
2. something changed in the json response representation or there's an entirely different case
- in this case you can share the input.txt file but not before removing private sensitive information like your IP because it's stored in it (or use a proxy to hide it).
Kudos to @lzaa for warning about the missing init file.Last edited by 2nHxWW6GkN1l916N3ayz8HQoi; 21st Feb 2025 at 04:23. Reason: forgot to make DRM init optional
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Similar Threads
-
Combine Video Files from Video Games Together
By Jay123210599 in forum Newbie / General discussionsReplies: 1Last Post: 14th Feb 2024, 14:30 -
Combine Video Files from Video Games Together
By Jay123210599 in forum EditingReplies: 1Last Post: 12th Dec 2023, 00:48 -
Video Mastering Works v6 - How to combine/merge 2 files
By vhwul62 in forum EditingReplies: 4Last Post: 7th May 2022, 12:35 -
Easy way to combine video and *.ts files?
By Kevin in forum Newbie / General discussionsReplies: 3Last Post: 9th Apr 2020, 00:05 -
Combine two files; video from one and audio from the other
By PrinceOfAbyss in forum Video ConversionReplies: 4Last Post: 30th Mar 2020, 09:30