Skip to content

Instantly share code, notes, and snippets.

@uahim
Last active October 5, 2025 19:01
Show Gist options
  • Select an option

  • Save uahim/dc82bbedd3b5e6c999af39ab5d45c643 to your computer and use it in GitHub Desktop.

Select an option

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
// ==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);
@jeanpierrebertola
Copy link

Hello it Works no more !
Regards,
JP

@uahim
Copy link
Author

uahim commented Jul 19, 2025

@jeanpierrebertola thanks for letting me know - fixed, you can update via greasyfork

@jeanpierrebertola
Copy link

jeanpierrebertola commented Jul 19, 2025 via email

@uahim
Copy link
Author

uahim commented Sep 28, 2025

@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!

@jeanpierrebertola
Copy link

hello There is the URL Field but it contain no URL adress when you clic on
Thank you

@uahim
Copy link
Author

uahim commented Sep 28, 2025

@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

@uahim
Copy link
Author

uahim commented Sep 28, 2025

@jeanpierrebertola please test version 1.1, I think it should be working for you now :)

@jeanpierrebertola
Copy link

jeanpierrebertola commented Oct 4, 2025 via email

@jeanpierrebertola
Copy link

you are right it's necessary to downgrade thank you

@uahim
Copy link
Author

uahim commented Oct 5, 2025

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment