Last active
April 23, 2025 15:23
-
-
Save uahim/dc82bbedd3b5e6c999af39ab5d45c643 to your computer and use it in GitHub Desktop.
get stream url - 0.1.8.2 updated April 2025, dirty but working fix; now with concert support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==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); |
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
thank you +++
Le mar. 15 avr. 2025 à 18:08, mihau ***@***.***> a écrit :
… ***@***.**** commented on this gist.
------------------------------
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
—
Reply to this email directly, view it on GitHub
<https://gist.github.com/uahim/dc82bbedd3b5e6c999af39ab5d45c643#gistcomment-5541842>
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AZYO6LVBUE33PAYCA7DHXFD2ZUVIXBFKMF2HI4TJMJ2XIZLTSKBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVEYTCNRRGQ2DCMRYU52HE2LHM5SXFJTDOJSWC5DF>
.
You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>
.
Hello Really a great thank
it's work perfectly in ARTE FR
Before i worked only on ARTE DE
Le mar. 15 avr. 2025 à 18:08, mihau ***@***.***> a écrit :
… ***@***.**** commented on this gist.
------------------------------
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
—
Reply to this email directly, view it on GitHub
<https://gist.github.com/uahim/dc82bbedd3b5e6c999af39ab5d45c643#gistcomment-5541842>
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AZYO6LVBUE33PAYCA7DHXFD2ZUVIXBFKMF2HI4TJMJ2XIZLTSKBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVEYTCNRRGQ2DCMRYU52HE2LHM5SXFJTDOJSWC5DF>
.
You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>
.
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 :-)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@osvivant try now