Good evening, my friends. I'd like to solve the problems I've encountered in downloading from free site PlutoTV, so I'm asking your always precious advices. To make an example, let's consider the following video url: https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd/season/1/episode/6329d69...b53d00131dc748. Inspecting I found the PSSHI think a candidate for .mpd file isCode:AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEAAAAABjLZhTj2Vhp+RoM+0SEAAAAABjLZhTj2Vhp+RoM+5I49yVmwY=anyway I'm not able to find the license server and headers, if needed, in order to use keydb.net or some site like this to get the key.Code:https://cfd-v4-service-stitcher-dash-use1-1.prd.pluto.tv/v2/stitch/dash/episode/6329d69034b53d00131dc748/main.mpd?advertisingId=&appName=web&appVersion=9.0.0-10480ac2fd66f309f2b6db9c91e66fb2e8ca587e&app_name=web&clientDeviceType=0&clientID=e16808a0-f44f-43bc-9291-641ac39a97c8&clientModelNumber=1.0.0&country=IT&deviceDNT=false&deviceId=e16808a0-f44f-43bc-9291-641ac39a97c8&deviceLat=45.4700&deviceLon=9.1900&deviceMake=chrome&deviceModel=web&deviceType=web&deviceVersion=124.0.0&marketingRegion=IT&serverSideAds=false&sessionID=f49d04a9-0d69-11ef-9e67-1609b67f26d0&sid=f49d04a9-0d69-11ef-9e67-1609b67f26d0&userId=&jwt=eyJhbGciOiJIUzI1NiIsImtpZCI6IjA4NzI4YmZlLTQyZDktNGE3MC04MzJmLWRlYTc3OGMwZjVkOCIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSUQiOiJmNDlkMDRhOS0wZDY5LTExZWYtOWU2Ny0xNjA5YjY3ZjI2ZDAiLCJjbGllbnRJUCI6IjQ1LjExLjgyLjY1IiwiY2l0eSI6Ik1pbGFuIiwicG9zdGFsQ29kZSI6IjIwMTIxIiwiY291bnRyeSI6IklUIiwiZG1hIjowLCJhY3RpdmVSZWdpb24iOiJJVCIsImRldmljZUxhdCI6NDUuNDcwMDAxMjIwNzAzMTI1LCJkZXZpY2VMb24iOjkuMTg5OTk5NTgwMzgzMywicHJlZmVycmVkTGFuZ3VhZ2UiOiJlbiIsImRldmljZVR5cGUiOiJ3ZWIiLCJkZXZpY2VWZXJzaW9uIjoiMTI0LjAuMCIsImRldmljZU1ha2UiOiJjaHJvbWUiLCJkZXZpY2VNb2RlbCI6IndlYiIsImFwcE5hbWUiOiJ3ZWIiLCJhcHBWZXJzaW9uIjoiOS4wLjAtMTA0ODBhYzJmZDY2ZjMwOWYyYjZkYjljOTFlNjZmYjJlOGNhNTg3ZSIsImNsaWVudElEIjoiZTE2ODA4YTAtZjQ0Zi00M2JjLTkyOTEtNjQxYWMzOWE5N2M4IiwiY21BdWRpZW5jZUlEIjoiIiwiaXNDbGllbnRETlQiOmZhbHNlLCJ1c2VySUQiOiIiLCJsb2dMZXZlbCI6IkRFRkFVTFQiLCJ0aW1lWm9uZSI6IkV1cm9wZS9Sb21lIiwic2VydmVyU2lkZUFkcyI6ZmFsc2UsImUyZUJlYWNvbnMiOmZhbHNlLCJmZWF0dXJlcyI6eyJpc1N0aXRjaGVyRWtzIjp0cnVlLCJtdWx0aVBvZEFkcyI6eyJlbmFibGVkIjp0cnVlfX0sImZtc1BhcmFtcyI6eyJmd1ZjSUQyIjoiZTE2ODA4YTAtZjQ0Zi00M2JjLTkyOTEtNjQxYWMzOWE5N2M4IiwiZndWY0lEMkNvcHBhIjoiZTE2ODA4YTAtZjQ0Zi00M2JjLTkyOTEtNjQxYWMzOWE5N2M4IiwiY3VzdG9tUGFyYW1zIjp7ImZtc19saXZlcmFtcF9pZGwiOiIiLCJmbXNfZW1haWxoYXNoIjoiIiwiZm1zX3N1YnNjcmliZXJpZCI6IiIsImZtc19pZmEiOiIiLCJmbXNfaWRmdiI6IiIsImZtc191c2VyaWQiOiJlMTY4MDhhMC1mNDRmLTQzYmMtOTI5MS02NDFhYzM5YTk3YzgiLCJmbXNfdmNpZDJ0eXBlIjoidXNlcmlkIiwiZm1zX3JhbXBfaWQiOiIiLCJmbXNfaGhfcmFtcF9pZCI6IiIsImZtc19iaWRpZHR5cGUiOiIiLCJfZndfM1BfVUlEIjoiIiwiZm1zX3J1bGVpZCI6IjEwMDAwLDEwMDA5LDEwMDAzIn19LCJkcm0iOnsibmFtZSI6IndpZGV2aW5lIiwibGV2ZWwiOiJMMyJ9LCJpc3MiOiJib290LnBsdXRvLnR2Iiwic3ViIjoicHJpOnYxOnBsdXRvOmRldmljZXM6SVQ6WlRFMk9EQTRZVEF0WmpRMFppMDBNMkpqTFRreU9URXROalF4WVdNek9XRTVOMk00IiwiYXVkIjoiKi5wbHV0by50diIsImV4cCI6MTcxNTI3OTgxOSwiaWF0IjoxNzE1MTkzNDE5LCJqdGkiOiJiYzdhNTM4Yy0yNDJiLTRmMTAtYjJiMS00NWM1N2ViYTNmODIifQ.Rwc2SFLjIlIPWgq4_aaYdmCuMuMusmCFjrRlIy5IqBg&masterJWTPassthrough=true&gdpr=1&gdprConsent=CP-CIDAP-CIDAAcABBENAzEgAAAAAAAAACiQAAAUIgAAGhQCAACoATgBUAD0AIoAUgAvABzAEqAOAAhABHYCvAK-Ae0BLQCpYHUgdUEAOwAMAA0ACEAFwAYABbADkAOgAjABOACiAFqAMIAxABlgDQANgAcoBAAEEAIwAR4ApABcgDiAMaAaABLIC9wGKAMbAZAA5gB0IDzAkAEAIg8AaAAqAE4AVAA9ACKAE4AKQAcwBwQFeAV8A9oB_AEtQOpA6ocAhgAYABoAEAAMAAtAB0AEYAKIAWgAvABhADKAGwANwAcoBAAEEAIwASoAuQBqgDiAKaAY0A0AC1gFvAL3AYoAxsBkADmAHQgPMAeyOgAgBEIgBwAVADggK8Ar4B7QD-AJagdSB1RAAcAGEANgAlQBcgDVAHEAU0AxoC1gFvAL3AYoAyABzBKAiAAsADgAPAAiABMAC4AGKAQwBEgCOAFGAYoA6gCLwEiALzAZIBAEkACAAuApMoAfAAaABAADAALQAdABGACiAFsALwAYQAygBsgDeAOUAgACCAEZAJUAlgBxAEIAJaAU0AwIBjQDMgGgARqAvcBigDmAHQwOpA6oB5hUARACcAKgAigBzAHBAV4BXwEtALWAZAUgAgBE.YAAAAAAAAAAA&includeExtendedEvents=true&gpp=DBABMA%7ECP-S4UAP-S4UAAcABBENAzEgAAAAAAAAACiQAAAAAAAA.YAAAAAAAAAAA&gpp_sid=2&eventVOD=false&CMCD=ot%3Dm%2Csid%3D%22ae8d0965-b896-4f41-ac85-6077bf9f3e8c%22
What do you think about that? Thank you very, very much, in advance for all yur help and kind advice. Good night![]()
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 1 to 25 of 25
-
-
License url:
Code:https://service-concierge.clusters.pluto.tv/v1/wv/alt?jwt=eyJ........
Code:--key 00000000632d98538f6561a7e46833ed:f94bece82fa025ce927ee661cac481c8 --key 00000000632d98538f6561a7e46833ee:63a4a2b2c176fb0562383037f1aa1852
-
-
It is, but it seems the whole episode is split in 3 different video streams, meaning you should download all three of them (audio seems split in two), then append one to another and finally mux video and audio. To avoid all this pain you should do as Silv3r said and use Freevine which will handle the whole thing and download the same video at 720p instead of 480p (actually it will download from an alternative manifest in .m3u8 format). After setting it up, just run:
Code:python freevine.py get --episode S01E01 https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd
-
i'm really curious: how does freevine find the m3u8 link? maybe from the json file?
my goal is get m3u8 link and download with N_m3u8DL-RE
and also: before yt-dlp can support pluto tv, now does not work. maybe an old version can find (and download) m3u8 link? -
Freevine has been adapted to work with PlutoTV quite well. You can get the keys and such via Freevine and prepare a line a code for N_m3u8DL-RE which I have done in the past on occasion. Freevine has a manifest with such information in the temp folder. But unless it is some problem file that isn't working with Freevine correctly you should just let Freevine download it for you. Freevine used N-m3u8DL-RE as its downloader and is adaptable to what quality you want to download. Another thing to consider is I noticed a lip sync problem with Pluto TV and it was because even if you downloaded the file and it look correct when you played it back there could be at times a considerable lip sync problems sometimes it was just slight sometime very glaring. It had something to do with the commercials being taken out. This wasn't all files but it certainly enough for me to notice. I posted about it and stabbedbybrick found a remedy that fixed the lip syn problem.
One of the things that revealed the lip sync issue is the timestamps. Look in "N_m3u8DL-RE Giving It A Try" where I learned how to work with it. I eventually saved a text template in which I change the "keys" to the ones needed for the current video I was trying to get and put in the appropriate URL and such and then just dropped that in the command line in N_m378DL-RE and then selected the quality and such I wanted by choosing the appropriate box and then giving the program the go ahead to download.Last edited by Tom Saurus; 9th May 2024 at 08:37.
-
I apologize I'm answering so late, tried to use Freevine, I've followed the procedure and installed all requirements, but I couldn't make it work, I get this error all the time
Code:Traceback (most recent call last): File "C:\Python\freevine.py", line 5, in <module> from utils.commands import cli File "C:\Python\utils\commands.py", line 18, in <module> from utils.manager import service_manager File "C:\Python\utils\manager.py", line 99, in <module> service_manager = ServiceManager() ^^^^^^^^^^^^^^^^ File "C:\Python\utils\manager.py", line 47, in __init__ with open("config.yaml", "r") as f: ^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: 'config.yaml'
Last edited by misiek1963; 9th May 2024 at 16:38.
-
-
Thank you very, very much for all advices, patience and help. I changed directories with cd command, but now I got the following different error
Code:c:\Python>freevine.py get --episode S01E01 https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd Traceback (most recent call last): File "C:\Python\freevine.py", line 5, in <module> from utils.commands import cli File "C:\Python\utils\commands.py", line 19, in <module> from utils.search.search import search_engine File "C:\Python\utils\search\search.py", line 6, in <module> from utils.proxies import get_proxy File "C:\Python\utils\proxies.py", line 10, in <module> from utils.utilities import get_binary File "C:\Python\utils\utilities.py", line 16, in <module> from lxml import etree ImportError: cannot import name 'etree' from 'lxml' (T:\Python39\Lib\site-packages\lxml\__init__.py)
-
-
thanks @Tom Saurus for your wondeful explanation, but my doubt remains: how to freevine can find m3u8?
If he finds it, it means that the link is present somewhere in the data traffic (network tab). but where? -
Thank you very much for answer and help, I've installed modules (to say the truth I had already accomplished this step
) but i get the same error
Code:c:\Python>pip install -r requirements.txt Collecting https://github.com/stabbedbybrick/subby/archive/main.zip (from -r requirements.txt (line 11)) Using cached https://github.com/stabbedbybrick/subby/archive/main.zip Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: httpx in t:\python\lib\site-packages (from -r requirements.txt (line 1)) (0.27.0) Requirement already satisfied: requests in t:\python\lib\site-packages (from -r requirements.txt (line 2)) (2.31.0) Requirement already satisfied: pyyaml in t:\python\lib\site-packages (from -r requirements.txt (line 3)) (6.0.1) Requirement already satisfied: lxml in t:\python\lib\site-packages (from -r requirements.txt (line 4)) (5.2.1) Requirement already satisfied: click in t:\python\lib\site-packages (from -r requirements.txt (line 5)) (8.1.7) Requirement already satisfied: rich in t:\python\lib\site-packages (from -r requirements.txt (line 6)) (13.7.1) Requirement already satisfied: m3u8 in t:\python\lib\site-packages (from -r requirements.txt (line 7)) (4.1.0) Requirement already satisfied: sortedcontainers in t:\python\lib\site-packages (from -r requirements.txt (line 8)) (2.4.0) Requirement already satisfied: beautifulsoup4 in t:\python\lib\site-packages (from -r requirements.txt (line 9)) (4.12.2) Requirement already satisfied: pywidevine==1.8.0 in t:\python\lib\site-packages (from -r requirements.txt (line 10)) (1.8.0) Requirement already satisfied: Unidecode<2.0.0,>=1.3.7 in t:\python\lib\site-packages (from pywidevine==1.8.0->-r requirements.txt (line 10)) (1.3.8) Requirement already satisfied: protobuf<5.0.0,>=4.25.1 in t:\python\lib\site-packages (from pywidevine==1.8.0->-r requirements.txt (line 10)) (4.25.3) Requirement already satisfied: pycryptodome<4.0.0,>=3.19.0 in t:\python\lib\site-packages (from pywidevine==1.8.0->-r requirements.txt (line 10)) (3.20.0) Requirement already satisfied: pymp4<2.0.0,>=1.4.0 in t:\python\lib\site-packages (from pywidevine==1.8.0->-r requirements.txt (line 10)) (1.4.0) Requirement already satisfied: anyio in t:\python\lib\site-packages (from httpx->-r requirements.txt (line 1)) (4.3.0) Requirement already satisfied: certifi in t:\python\lib\site-packages (from httpx->-r requirements.txt (line 1)) (2023.5.7) Requirement already satisfied: httpcore==1.* in t:\python\lib\site-packages (from httpx->-r requirements.txt (line 1)) (1.0.5) Requirement already satisfied: idna in t:\python\lib\site-packages (from httpx->-r requirements.txt (line 1)) (3.4) Requirement already satisfied: sniffio in t:\python\lib\site-packages (from httpx->-r requirements.txt (line 1)) (1.3.1) Requirement already satisfied: h11<0.15,>=0.13 in t:\python\lib\site-packages (from httpcore==1.*->httpx->-r requirements.txt (line 1)) (0.14.0) Requirement already satisfied: charset-normalizer<4,>=2 in t:\python\lib\site-packages (from requests->-r requirements.txt (line 2)) (3.1.0) Requirement already satisfied: urllib3<3,>=1.21.1 in t:\python\lib\site-packages (from requests->-r requirements.txt (line 2)) (2.0.3) Requirement already satisfied: colorama in t:\python\lib\site-packages (from click->-r requirements.txt (line 5)) (0.4.6) Requirement already satisfied: markdown-it-py>=2.2.0 in t:\python\lib\site-packages (from rich->-r requirements.txt (line 6)) (3.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in t:\python\lib\site-packages (from rich->-r requirements.txt (line 6)) (2.18.0) Requirement already satisfied: soupsieve>1.2 in t:\python\lib\site-packages (from beautifulsoup4->-r requirements.txt (line 9)) (2.4.1) Requirement already satisfied: srt<4.0.0,>=3.5.3 in t:\python\lib\site-packages (from subby==0.2.9->-r requirements.txt (line 11)) (3.5.3) Requirement already satisfied: tinycss<0.5,>=0.4 in t:\python\lib\site-packages (from subby==0.2.9->-r requirements.txt (line 11)) (0.4) Requirement already satisfied: mdurl~=0.1 in t:\python\lib\site-packages (from markdown-it-py>=2.2.0->rich->-r requirements.txt (line 6)) (0.1.2) Requirement already satisfied: construct==2.8.8 in t:\python\lib\site-packages (from pymp4<2.0.0,>=1.4.0->pywidevine==1.8.0->-r requirements.txt (line 10)) (2.8.8) c:\Python>freevine.py get --episode S01E01 https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd Traceback (most recent call last): File "C:\Python\freevine.py", line 5, in <module> from utils.commands import cli File "C:\Python\utils\commands.py", line 19, in <module> from utils.search.search import search_engine File "C:\Python\utils\search\search.py", line 6, in <module> from utils.proxies import get_proxy File "C:\Python\utils\proxies.py", line 10, in <module> from utils.utilities import get_binary File "C:\Python\utils\utilities.py", line 16, in <module> from lxml import etree ImportError: cannot import name 'etree' from 'lxml' (T:\Python39\Lib\site-packages\lxml\__init__.py) c:\Python>
-
-
Only way to know this is to look at the code, but it's possible Freevine uses a different API than your browser, for example the API for Android (probably not the case here though).
Here are a few possible solutions to your problem: https://stackoverflow.com/questions/53406638/importerror-cannot-import-name-etree-on-python-3-6 -
-
Use the source Luke! freevine uses
Code:## SERVICE SETTINGS FOR PLUTO TV api: "https://service-vod.clusters.pluto.tv/v4/vod" lic: "https://service-concierge.clusters.pluto.tv/v1/wv/alt"
In #6 you said: "my goal is get m3u8 link and download with N_m3u8DL-RE" - freevine does exactly what you want. -
-
Not sure then, if I were you I would either upgrade Python to a newer version or create a virtual env just for Freevine, and run the pip command again. Here's a guide: https://forum.videohelp.com/threads/411862-Beyond-WKS-KEYS
-
Thanks, again, for all your precious advices. I've created the environment and now the error encountered is another one... Python's mysteries!
The error isCode:(env) T:\Python39>freevine.py get --episode S01E01 https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd Traceback (most recent call last): File "T:\Python39\freevine.py", line 5, in <module> from utils.commands import cli File "T:\Python39\utils\commands.py", line 6, in <module> import urllib3 ModuleNotFoundError: No module named 'urllib3'
-
-
-
Thank you, thank you very, very much for all your advices and efforts. You're a genius, white_snake, now freevine is working
. Please see the log
Code:(env1) T:\Python39>freevine.py get --episode S01E01 https://pluto.tv/it/on-demand/series/6329d68c34b53d00131dc6fd ❯_freevine v1.1.8 20:51:13.173 ←[4m←[32mINFO←[0m : ←[1mPlutoTV←[0m 20:51:20.687 ←[4m←[32mINFO←[0m : Silk: 1 Season(s), 6 Episode(s) 20:51:28.837 ←[4m←[32mINFO←[0m : Silk S01E01 Serie 1, Episodio 1 20:51:29.415 INFO : N_m3u8DL-RE (Beta version) 20230615 20:51:29.438 INFO : Loading URL: http://silo-hybrik.pluto.tv.s3.amazonaws.com/806_BBC_EU/clip/6329d68d34b53d00131dc70c_Silk_IT_Serie_1_Episodio_1_S1E1/720p/20220923_042819/hls/0-end/master.m3u8 20:51:30.433 INFO : Content Matched: HTTP Live Streaming 20:51:30.433 INFO : Parsing streams... 20:51:30.436 WARN : Master List detected, try parse all streams 20:51:30.443 WARN : Writing meta json 20:51:30.448 INFO : Extracted, there are 5 streams, with 5 basic streams, 0 audio streams, 0 subtitle streams 20:51:30.448 INFO : Vid 1280x720 | 2558 Kbps | 30 | avc1.64001f,mp4a.40.2 20:51:30.450 INFO : Vid 854x480 | 1754 Kbps | 30 | avc1.64001f,mp4a.40.2 20:51:30.451 INFO : Vid 854x480 | 1145 Kbps | 30 | avc1.64001f,mp4a.40.2 20:51:30.452 INFO : Vid 640x360 | 740 Kbps | 30 | avc1.64001f,mp4a.40.2 20:51:30.453 INFO : Vid 426x240 | 436 Kbps | 30 | avc1.64001f,mp4a.40.2 20:51:30.454 INFO : Parsing streams... 20:51:30.884 INFO : New version detected! v0.2.0-beta 20:52:17.318 INFO : Selected streams: 20:52:17.319 INFO : Vid *AES_128 1280x720 | 2558 Kbps | 30 | avc1.64001f,mp4a.40.2 | 590 Segments | ~49m05s 20:52:17.320 WARN : Writing meta json 20:52:17.336 INFO : Save Name: Silk.S01E01.Serie.1.Episodio.1.720p.PLUTO.WEB-DL.AAC2.0.H.264 20:52:17.339 INFO : Start downloading...Vid 1280x720 | 2558 Kbps | 30 | avc1.64001f,mp4a.40.2 20:52:24.173 WARN : Reading media info... 20:52:25.289 INFO : [0x100]: Video, h264 (High) ([27][0][0][0]), 1280x720, 30 fps 20:52:25.291 INFO : [0x101]: Audio, aac (LC) ([15][0][0][0]), 97 kb/s 21:02:18.178 INFO : ffmpeg merging... 21:03:39.090 WARN : Silk.S01E01.Serie.1.Episodio.1.720p.PLUTO.WEB-DL.AAC2.0.H.264.mp4 21:03:39.090 WARN : Muxing to temp\Silk.S01E01.Serie.1.Episodio.1.720p.PLUTO.WEB-DL.AAC2.0.H.264.MUX.mkv 21:05:20.968 WARN : Cleaning files... 21:05:21.021 WARN : Rename to Silk.S01E01.Serie.1.Episodio.1.720p.PLUTO.WEB-DL.AAC2.0.H.264.mkv 21:05:21.023 INFO : Done
-
I only infor that I got the following error in downloading Episode 3:
[CODE]05:23:58.106 ERROR: The input data is not a complete block.[\CODE]
Anyway it's not a problem, as with freevine I got the right .m3u8 and I can download with yt-dlp or old youtube-dl. Have a nice evening
Similar Threads
-
download plutotv with yt-dlp not work
By ludo in forum Video Streaming DownloadingReplies: 8Last Post: 9th Jul 2024, 01:46