I know there are several variations of scripts for All4, but I have yet to see any that offers batch downloading so I made one.
You need pywidevine module and your own CDM. If you already have something like WKS, this script should fit right in.
This program takes URL as input and supports single episode, range of episodes, full season, and quality selection. See script documentation for examples.
You'll find the script here: https://github.com/stabbedbybrick/freevine
Please use Freevine support thread from here on out: https://forum.videohelp.com/threads/411643-Freevine-support-thread
+ Reply to Thread
Results 1 to 30 of 53
-
Last edited by stabbedbybrick; 18th Sep 2023 at 10:40. Reason: Added script to github
-
Working for a release group? That labelling is a give away.
-
-
-
Hello,
I've tried your first example (python all4.py --episode S01E01 https://www.channel4.com/programmes/spin-city) with this set of WKS-KEYS https://github.com/weapon121/WKS-KEY/releases/tag/WKS-KEY and I've received this message: 'None type' object is not subscriptable.
What's wrong? -
-
Thank you. Well, my CDM should be valid (I've tested with www.tg4.ie) and the UK IP address is working, I can see the show on the site.
I'm using Windows 11 and Python 3.11.5. -
You're running the wrong script... That is the script for CTV. You want all4.py: https://github.com/stabbedbybrick/freevine/blob/main/all4.py
-
I must say I had the doubt after seeing the content of the script, but you have to edit your first post then.
Just tried with the new script and now there's another message.
Edit: I've tried to install the module lxml and now I got the message: "Getting decryption keys...Failed to get license! Error: An internal error with the LSP Module occurred"Last edited by Isotta; 27th Aug 2023 at 11:54.
-
-
Same error.
Don't know if it can help, but this is the list of my modules:
Code:Package Version ------------------------ --------- anyio 3.7.1 beautifulsoup4 4.12.2 cachetools 5.3.1 certifi 2023.7.22 charset-normalizer 3.2.0 click 8.1.7 colorama 0.4.6 google 3.0.0 google-api-core 2.11.1 google-api-python-client 2.97.0 google-auth 2.22.0 google-auth-httplib2 0.1.0 googleapis-common-protos 1.60.0 h11 0.14.0 httpcore 0.17.3 httplib2 0.22.0 httpx 0.24.1 idna 3.4 lxml 4.9.3 markdown-it-py 3.0.0 mdurl 0.1.2 pip 23.2.1 protobuf 3.19.5 pyasn1 0.5.0 pyasn1-modules 0.3.0 pycryptodome 3.18.0 pycryptodomex 3.18.0 pyfiglet 0.8.post1 Pygments 2.16.1 pyparsing 3.1.1 pyperclip 1.8.2 pysubs2 1.6.1 requests 2.31.0 rich 13.5.2 rsa 4.9 selectolax 0.3.16 setuptools 65.5.0 six 1.16.0 sniffio 1.3.0 sortedcontainers 2.4.0 soupsieve 2.4.1 termcolor 2.3.0 uritemplate 4.1.1 urllib3 1.26.16
Last edited by Isotta; 27th Aug 2023 at 13:00.
-
Looks like there's an issue with your CDM. From where did you get it? A regular L3 is confirmed to work fine:
Code:python all4.py --episode S01E01 https://www.channel4.com/programmes/spin-city 19:55:49.843 INFO : Spin City: 6 Season(s), 145 Episode(s) 19:55:51.288 INFO : Spin.City.S01E01.Pilot.1080p.ALL4.WEB-DL.AAC2.0.H.264 19:55:51.288 INFO : b7cc79d6cb4dbadbe290d6ce749ba9d6:70a9f4b8e203770b8a5211e492972c0e
-
I'm using the files of this .rar https://github.com/weapon121/WKS-KEY/releases/tag/WKS-KEY
-
-
-
-
I am very new to all of this. I've tried generating a CDM using Android Studio just like in the stickied post and have been trying to test it out with these scripts. Unfortunately I am getting errors I have no idea how to fix.
Code:C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main>python all4.py --episode S01E01 https://www.channel4.com/programmes/spin-city 04:44:01.055 INFO : Spin City: 6 Season(s), 145 Episode(s) 04:44:04.042 INFO : Spin.City.S01E01.Pilot.1080p.ALL4.WEB-DL.AAC2.0.H.264 04:44:04.043 INFO : b7cc79d6cb4dbadbe290d6ce749ba9d6:70a9f4b8e203770b8a5211e492972c0e Traceback (most recent call last): File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 478, in download subprocess.run(args, check=True) File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 505, in run with Popen(*popenargs, **kwargs) as process: File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 951, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1360, in _execute_child args = list2cmdline(args) File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 565, in list2cmdline for arg in map(os.fsdecode, seq): File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\os.py", line 822, in fsdecode filename = fspath(filename) # Does type-checking of `filename`. TypeError: expected str, bytes or os.PathLike object, not NoneType During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 528, in <module> main() File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\site-packages\click\core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\Oozer Naym\AppData\Local\Programs\Python\Python39\lib\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 520, in main get_stream(**kwargs) File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 420, in get_stream get_episode(quality, url, episode.upper()) if episode else None File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 340, in get_episode download(episode, quality, str(series)) File "C:\Users\Oozer Naym\Downloads\freevine-main\freevine-main\all4.py", line 480, in download raise ValueError( ValueError: Download failed. Install necessary binaries before downloading
-
-
Your CDM is obviously fine, it looks like the error is related to N_m3u8DL-RE or actually saving the file. Do you have all the required libraries and tools properly installed? Do you have the proper ownership to that folder? Try running the script from a folder on your desktop with all binaries placed inside that folder and see if the error is still the same.
I haven't used Windows in a minute so I'm a bit rusty, but from what I can remember the ownership could be a pain in the ass. -
It was as simple as having N_m3u8DL-RE in the wrong location. Complete user error. Thank you.
-
can you check your freevine
Code:dl.py all4 --episode S01E01 https://www.channel4.com/programmes/spin-city
-
-
Hello.
I created my own ID and Key with the emulated Android guide in this forum and I have the following files in this location:
[Attachment 73778 - Click to enlarge]
When trying to download anything I get the message "no client ID blob available for this device".
Could you advise, please?I'm not sure where I'm going wrong. Thanks.
-
Rename them as expected in cdm/deviceconfig.py; or put your filenames into the dict in that file.
Names expected are device_client_id_blob and device_private_key - without any file ending! -
-
I've tried this with Angela's amended pywidevine which allows protobuf 4 as per: https://forum.videohelp.com/threads/411509-WKS_KEYS-updated-protobuf-to-version-4. What a superb piece of script in terms of automation and ability to collect multiple episodes. Thank you stabbedbybrick. I've tried various combinations for All4, UKTV, STV (both normal and encrypted). Great. I couldn't download from ITVX though with any show. freevine.py --titles works fine for ITVX. But downloading, it fails after initial INFO (when fetching titles).
-
Similar Threads
-
Is there any way to batch download from places like channel4 and ITV?
By col451 in forum Video Streaming DownloadingReplies: 5Last Post: 9th Aug 2023, 06:45 -
A Downloader that works with the UK's Channel4 aka All4
By pooksahib in forum Video Streaming DownloadingReplies: 9Last Post: 21st Feb 2023, 06:25 -
Channel4 cript changef
By joaopa in forum Video Streaming DownloadingReplies: 18Last Post: 16th Jun 2022, 14:57 -
channel4.com / 4oD
By uksniper in forum Video Streaming DownloadingReplies: 0Last Post: 26th Sep 2020, 17:44 -
capture from catchup tv channel4 uk
By lawrencek in forum Capturing and VCRReplies: 1Last Post: 27th May 2019, 16:01