VideoHelp Forum
+ Reply to Thread
Results 1 to 18 of 18
Thread
  1. Member
    Join Date
    May 2023
    Location
    United States
    Search Comp PM
    Hi, I'm trying to archive this series called "Poppy Cat" and Channel 5 is the only place to watch "Series 2" of the show. However, it expires on the 29th, so I'm worried about if this’ll be lost. How do I download from Channel 5? Tutorials and Links appreciated!
    Link: https://www.channel5.com/poppy-cat
    Quote Quote  
  2. Member
    Join Date
    May 2023
    Location
    England
    Search Comp PM
    Take a look at deccavox's helpful script here: https://forum.videohelp.com/threads/408307-Help-with-getting-keys-for-Channel-5-series...Channel+script

    It requires the mpd url, which you get from The Stream Detector extension after playing the video - use "Regular URL".

    It also needs the licence url, which you get - in Firefox - by pressing F12, Network tab with "lic" in the filter box, then pressing play on the video. Right click on the link (it should start with cassie) and choose copy as url.

    Quote Quote  
  3. Hello. That's easy even for me. I started looking through these pages a week ago.
    So...

    1. Download N_m3u8DL-RE for your windows system
    Code:
    https://github.com/nilaoda/N_m3u8DL-RE/releases/tag/v0.1.9-beta
    for obtaining encrypted video and audio.
    Put in one folder N_m3u8DL-RE.exe, mp4decrypt.exe, ffmpeg.exe (You will find the last two everywhere)
    2. Install chrome extension Live cat (for obtaining address of mpd or manifest or whatever). Refresh the page of episode1. Start the video.
    Take mpd address from Live cat.
    3. Start N_m3u8DL-RE (In the address bar of the folder where is N_m3u8DL-RE type CMD and cmd.exe will pop-up)
    Type N_m3u8DL-RE <mpd link>
    Choose what video bitrate do u want (it is already selected the best one 832x468 resolution)
    Click enter. N_m3u8DL-RE will download encrypted video (mp4) and audio (m4a) Lets rename poppy.mp4 and poppy.m4a
    4. Find PSSH. Its in mpd
    Code:
    AAAAQnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACIIARIQ+gpwNgHuRgSrWKrZRDMlAxoIY2hhbm5lbDUqAlNE
    Or install chrome extension tampermonkey and install "EME Logger" script in tampermonkey. Open Developer tools with CTRL+shift+c
    You will find PSSH under Console, filter "gen" from generalRequest
    5. Find License. In developer tools click Network tab and filter "license" or lic. Refresh page if its not there. Must be something like
    Code:
    https://cassie.channel5.com/api/v2/licences/widevine/,.................
    6. Find decryption keys.
    Go to
    Code:
    https://cdrm-project.com/
    and insert PSSH and license. You will find two sets of keys. I dont know why are 2 sets, I used only first one
    Code:
    fa0a703601ee4604ab58aad944332503:a6c3d35c78d1d861e01808afcb3f05ed
    for video and audio
    7. Decrypt video and audio
    In folder where your tools are (the one N_m3u8DL-RE and encrypted files) type in address bar CMD again.
    cmd.exe will pop-up.
    Paste
    Code:
    mp4decrypt.exe --key fa0a703601ee4604ab58aad944332503:a6c3d35c78d1d861e01808afcb3f05ed poppy.mp4 poppy_decrypt.mp4
    mp4decrypt.exe --key fa0a703601ee4604ab58aad944332503:a6c3d35c78d1d861e01808afcb3f05ed poppy.m4a poppy_decrypt.m4a
    Video and audio are decrypted. Test it
    8. Mux video and audio with MKV Toolnix
    and that was episode 1. Repeat this for all 51 episodes
    Last edited by lego; 13th Jul 2023 at 02:10.
    Quote Quote  
  4. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    I have downloaded the first 12 episodes and they are zipped here https://anonfiles.com/Me15P5x6zb/poppycat_zip

    Image
    [Attachment 71883 - Click to enlarge]


    I used a channel 5 batch downloader but do not have permission to post as some of the code is not mine. Sorry folks. Cannot imagine downloading 51 episodes by hand!
    Last edited by A_n_g_e_l_a; 21st Jun 2023 at 06:42.
    Quote Quote  
  5. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Episodes 13-24 https://anonfiles.com/f07bP2x7z5/poppycat2_zip
    Episodes 25-36 https://anonfiles.com/P7D0Pcx5zd/poppycat3_zip
    Epidodes 37-51 https://anonfiles.com/j9J4P7xaz3/poppycat4_zip

    And I'm only doing this because hopefully there is a child waiting. So the rest of you don't ask!
    Last edited by A_n_g_e_l_a; 21st Jun 2023 at 06:44.
    Quote Quote  
  6. Thanks A_n_g_e_l_a !
    Quote Quote  
  7. Member
    Join Date
    May 2023
    Location
    England
    Search Comp PM
    That was a really nice thing you did, may good karma find you A_n_g_e_l_a!
    Quote Quote  
  8. Originally Posted by A_n_g_e_l_a View Post
    And I'm only doing this because hopefully there is a child waiting.
    Love you!
    Quote Quote  
  9. Streamfab DRM MPD Downloader works with Channel5 too, i just tried although that costs $65.
    Quote Quote  
  10. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by spaceship9876 View Post
    Streamfab DRM MPD Downloader works with Channel5 too, i just tried although that costs $65.
    There are two download scripts in this forum that currently work on channel 5 - no need to pay for what is publicly available!
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  11. Hi there,

    using the above info I managed to successfully download & decrypt a Channel 5 Video.
    So therefore (obviously) I have the PSSH & the Licence URL.
    (or had, as they have probably now expired)

    How can I do the lookup for the decryption Key(s) without cutting & pasting to https://cdrm-project.com/ ??

    A solution using the new Java HttpClient would be most helpful, as I don't do Python.
    Quote Quote  
  12. I'm still interested in understanding what https://cdrm-project.com/ is doing.
    (maybe delegating the request to some google service?)

    Nevertheless, here (inline & as attachment) is some (anonymised) Java source to automate the query:

    Code:
    package com.channel5;
    
    import java.net.URI;
    import java.net.http.HttpClient;
    import java.net.http.HttpRequest;
    import java.net.http.HttpRequest.BodyPublishers;
    import java.net.http.HttpResponse.BodyHandlers;
    import java.nio.charset.StandardCharsets;
    import java.util.StringJoiner;
    
    public class PostAnon {
    
    	private static final char QUOTE  = '"';
    
    	public  static void main(final String[] args) throws Exception {
    
    		final var licenceURL   = "https://cassie.channel5.com/api/v2/licences/widevine/491/C5458360001";
    
    		final var licenceQuery = new StringJoiner(String.valueOf('&'))
    				.add(query(licenceURL + "?expiry", "1714590905"))
    				.add(query(             "tag",     "12345678901234567890123456789012345678901234567890123456789012345678901234567890"))
    				.add(query(             "CMCD",    "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXX"))
    				.toString();
    
    		final var jsonText = new StringJoiner(String.valueOf(','), String.valueOf('{'), String.valueOf('}'))
    				.add(json("license",   licenceQuery))
    				.add(json("headers",   "accept: \\\"*/*\\\"\\ncontent-length: \\\"316\\\"\\nConnection: keep-alive"))
    				.add(json("pssh",      "AAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="))
    				.add(json("buildInfo", ""))
    				.add(json("proxy",     ""))
    				.add(json("cache",     true))
    				.toString();
    
    		final var request = HttpRequest.newBuilder()
    				.uri   (new URI("https://cdrm-project.com/wv"))
    				.POST  (BodyPublishers.ofString(jsonText))
    				.header("Referer",      "https://cdrm-project.com/")
    				.header("User-Agent",   "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0")
    				.header("Content-type", "application/json")
    				.build();
    
    		System.out.println("licenceURL: " + licenceQuery);
    		System.out.println("json Text.: " + jsonText);
    		System.out.println("Request...: " + request);
    
    		final var response = HttpClient.newBuilder().build().send(request, BodyHandlers.ofByteArray());
    
    		final var mpdBytes = response.body();
    		final var mpd      = new String(mpdBytes, StandardCharsets.UTF_8);
    
    		System.out.println();
    		System.out.println("Response..: " + response);
    
    		System.out.println(mpd);
    	}
    
    	private static String query(final String key, final String value) {
    		return       key  + '=' +       value;
    	}
    	private static String json(final String key, final boolean value) {
    		return quote(key) + ':' +       value;
    	}
    	private static String json(final String key, final String value) {
    		return quote(key) + ':' + quote(value);
    	}
    	private static String quote(final String unquoted) {
    		return QUOTE + unquoted + QUOTE;
    	}
    }
    Image Attached Files
    Quote Quote  
  13. Originally Posted by DanskerDave View Post
    How can I do the lookup for the decryption Key(s) without cutting & pasting to https://cdrm-project.com/ ??

    I'm still interested in understanding what https://cdrm-project.com/ is doing.
    (maybe delegating the request to some google service?)
    Like most scripts regarding widevine, it's using pywidevine as backend. If you want to automate the entire process for Channel5 without any manual input, you'll need to reverse engineer the API. Python is recommended for obvious reasons, but this can theoretically be done with any language that allows for http requests.
    Quote Quote  
  14. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by DanskerDave View Post

    How can I do the lookup for the decryption Key(s) without cutting & pasting to https://cdrm-project.com/ ??
    You cannot now use cdrm project for channel 5 lookup. C5 system changed after this thread was created. They now use a weekly changing HMAC and AES key to unlock access to the license server.

    Originally Posted by DanskerDave View Post
    A solution using the new Java HttpClient would be most helpful, as I don't do Python.
    If you do Java, as I did once, you can make the translation to Python fairly easily. The benefit is that most code for decryption is written in Python. If you understand data structures then it is only the syntax you'll need to lookup; a web-search, or more latterly an AI instance to chat with, will help with the intricacies of the python code. An AI chat engine will also explain what the code does.

    Python is a higher level language and you'll find it easier than Java once you are over the initial shock.

    You do not mention having your own Content Decryption Module. Extract one from an Android device - real or virtual if you need. And if that is the case - 'ALL YOU NEED TO KNOW' about decrypting GENERALLY - is is the stickies, at the very top of the forum. Do your homework there before asking more questions - it saves everyone's time.

    Working Channel 5 solutions already exist within this forum for those with a CDM of their own - written in Python, of course.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  15. Originally Posted by A_n_g_e_l_a View Post
    You cannot now use cdrm project for channel 5 lookup. C5 system changed after this thread was created. They now use a weekly changing HMAC and AES key to unlock access to the license server.
    Not sure about that. Successfully downloaded...
    Andalucia with Michael Portillo
    ...yesterday using the "How To's" posted earlier in this Thread.

    - downloaded *.mpd using URL from "The Stream Detector" Plugin for Firefox
    - downloaded Audio & Video using filenames from the *.mpd
    - copied PSSH from aforementioned *.mpd
    - copied Licence URL from POST using Firefox-F12
    - used CDRM Project to extract Decryption Key(s)
    - used mp4decrypt with Decryption Key to decrypt Audio & Video
    - mux'ed 'em to *.mkv & works fine in the Settop Box.
    Quote Quote  
  16. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by DanskerDave View Post
    Originally Posted by A_n_g_e_l_a View Post
    You cannot now use cdrm project for channel 5 lookup. C5 system changed after this thread was created. They now use a weekly changing HMAC and AES key to unlock access to the license server.
    Not sure about that. Successfully downloaded...
    Andalucia with Michael Portillo
    ...yesterday using the "How To's" posted earlier in this Thread.

    - downloaded *.mpd using URL from "The Stream Detector" Plugin for Firefox
    - downloaded Audio & Video using filenames from the *.mpd
    - copied PSSH from aforementioned *.mpd
    - copied Licence URL from POST using Firefox-F12
    - used CDRM Project to extract Decryption Key(s)
    - used mp4decrypt with Decryption Key to decrypt Audio & Video
    - mux'ed 'em to *.mkv & works fine in the Settop Box.
    Ok stand corrected. Thanks for the update.

    Still wouldn't rely on cdrm-project lest TPD-whats-his-face throws a wobbly again and takes his toys home for another three months.
    Last edited by A_n_g_e_l_a; 2nd May 2024 at 05:59.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  17. Originally Posted by A_n_g_e_l_a View Post
    Python is a higher level language and you'll find it easier than Java once you are over the initial shock.
    The problem with Python is it violates the first rule of structured programming:
    "There is only one rule that is vaild all of the time & that is there are no rules that are valid all of the time."
    Quote Quote  
  18. Hi there,

    just found this thread and was wondering if somebody could help with downloading the 5 episodes of "The Evolution of Black British Music"? It can be found here:
    https://www.channel5.com/the-evolution-of-black-british-music/season-1

    I would try the provided scripts myself, but unfortunately i cannot access the website because i am not located in the UK. I tried to access via VPN, but still no access.

    Would be much appreciated if someone is able to help.

    Thank you in advance.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!