-
-
Save uahim/dc82bbedd3b5e6c999af39ab5d45c643 to your computer and use it in GitHub Desktop.
| // ==UserScript== | |
| // @name arte stream url | |
| // @namespace http://tampermonkey.net/ | |
| // @version 0.1.8.2 | |
| // @description get arte m3u8 stream url | |
| // @author You | |
| // @match https://www.arte.tv/de/videos/* | |
| // @match https://www.arte.tv/fr/videos/* | |
| // ==/UserScript== | |
| // this UserJavaScript provides a simple way to get the m3u8 to feed into VLC or any other player capable of playing streams. | |
| // though it's probably best to get the url or download videos via yt-dlp or addons such as The Stream Detector for Firefox | |
| // https://addons.mozilla.org/en-US/firefox/addon/hls-stream-detector/ | |
| var loc = window.location.pathname.split('/'); | |
| var lang = loc[1]; | |
| var id = loc[3]; | |
| var name = loc[4]; | |
| var url = ""; | |
| var api_base = " https://api.arte.tv/api/player/v2/config/" + lang + "/"; | |
| var download_url = api_base + id; | |
| var filmtitle = document.querySelector('meta[property="og:title"]').content; | |
| [" | ARTE Concert"," | ARTE"," - Komplette Sendung"," - Programm in voller Länge"," - Film in voller Länge"," - Regarder le film complet"," - Regarder l’émission complète"].forEach((item) => { filmtitle = filmtitle.replace(item, "") }); | |
| filmtitle = filmtitle.replace(/ /g, "_").replace(/[^a-z0-9 \.,_-]/gim, "").replace("_-_","-"); | |
| document.getElementsByTagName("body")[0].onclick = function () { | |
| var para = document.createElement("a"); | |
| para.setAttribute('id', 'dwnl'); | |
| para.setAttribute('style', 'font-weight: bold'); | |
| para.setAttribute('style', 'color: white'); | |
| para.setAttribute('class', ' ds-tgzo04'); | |
| var node = document.createElement("span"); | |
| node.setAttribute('class', ' ds-eul86b'); | |
| node.innerText = "Stream URL"; | |
| para.appendChild(node); | |
| if (document.getElementsByClassName(' ds-rymcfw')[0]) { | |
| document.getElementsByClassName(' ds-rymcfw')[0].insertBefore(para, null); | |
| } else if (document.getElementsByClassName(' ds-2aqyii')[0]) { | |
| document.getElementsByClassName(' ds-2aqyii')[0].insertBefore(para, null); | |
| } | |
| var getJSON = function(url, callback) { | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, true); | |
| xhr.responseType = 'json'; | |
| xhr.onload = function() { | |
| var status = xhr.status; | |
| if (status == 200) { | |
| callback(null, xhr.response); | |
| } else { | |
| callback(status); | |
| } | |
| }; | |
| xhr.send(); | |
| }; | |
| getJSON(download_url, function(err, data) { | |
| if (err != null) { | |
| console.error(err); | |
| } else { | |
| url = data.data.attributes.streams[0].url; | |
| } | |
| }); | |
| document.getElementById('dwnl').addEventListener("click", function(){ | |
| var test = prompt("stream URL (OK for ffmpeg command or cancel)", url); | |
| if (test !== null) { | |
| prompt("ffmpeg command", 'ffmpeg -referer "' + location.href + '" -user_agent "' + window.navigator.userAgent + '" -i "' + url + '" -c copy -bsf:a aac_adtstoasc "' + filmtitle + '.mp4"'); | |
| } | |
| }); | |
| document.getElementsByTagName("body")[0].onclick = function () {} | |
| }; | |
| setTimeout('document.getElementsByTagName("body")[0].click()', 2500); |
@osvivant try now - 0.1.5.4 should be working
Thanks uahim! works flawless now:)
0.1.5.6 fixes arte concert, sorry
:) thanks!!!!!
0.1.6: updated November 2023 to account for markup changes on arte.tv
thank you but to record with VLC is problematic.
something block
possible to read but not to record
Thank
@jeanpierrebertola for downloading, it's recommended to use yt-dlp or at least ffmpeg, here's a guide for beginners:
https://www.rapidseedbox.com/blog/yt-dlp-complete-guide
thank you ++++++
Hi, it stopped to work these days. Would you please have a look? thank you very much.
ex:
https://www.arte.tv/fr/videos/116710-062-A/le-dessous-des-images/
@osvivant try now
thanks, it works!
it,s stop to work !
it,s stop to work !
hi - quick and VERY DIRTY fix, version 0.1.8.1 now works - you just have to wait 2.5 seconds after page loading, then the button will appear
Thanks, works perfectly!!!
I have uploaded the script to GreasyFork, so please re-install it from
https://greasyfork.org/en/scripts/533451-arte-stream-url
this will ensure you can just auto-update future versions with one click :-)
Hello it Works no more !
Regards,
JP
@jeanpierrebertola thanks for letting me know - fixed, you can update via greasyfork
@osvivant @jeanpierrebertola
hey everyone, especially users from France:
I have posted version 1.0 on greasyfork (with a new feature), so please test it and let me know if it works for you!
hello There is the URL Field but it contain no URL adress when you clic on
Thank you
@jeanpierrebertola ok thanks for checking
for now, it's best to downgrade to the previous version:
https://greasyfork.org/en/scripts/533451-arte-stream-url?version=1647882
@jeanpierrebertola please test version 1.1, I think it should be working for you now :)
you are right it's necessary to downgrade thank you
@jeanpierrebertola have you tried multiple videos or was it just one?
it can always be a temporary problem, in this case, try reloading the page.
I checked the latest version in Firefox and Chrome via Violentmoney and don't see any changes so far.
Hi, uahim
It doesn't work since yesterday, would you kindly have a look? many thanks.