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);
@osvivant

Copy link
Copy Markdown

Hi, uahim

It doesn't work since yesterday, would you kindly have a look? many thanks.

@uahim

uahim commented Jun 25, 2023

Copy link
Copy Markdown
Author

@osvivant try now - 0.1.5.4 should be working

@osvivant

Copy link
Copy Markdown

Thanks uahim! works flawless now:)

@uahim

uahim commented Jun 26, 2023

Copy link
Copy Markdown
Author

0.1.5.6 fixes arte concert, sorry

@osvivant

Copy link
Copy Markdown

:) thanks!!!!!

@uahim

uahim commented Nov 20, 2023

Copy link
Copy Markdown
Author

0.1.6: updated November 2023 to account for markup changes on arte.tv

@jeanpierrebertola

Copy link
Copy Markdown

thank you but to record with VLC is problematic.
something block
possible to read but not to record
Thank

@uahim

uahim commented Nov 25, 2023

Copy link
Copy Markdown
Author

@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

@jeanpierrebertola

Copy link
Copy Markdown

thank you ++++++

@osvivant

osvivant commented May 3, 2024

Copy link
Copy Markdown

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/

@uahim

uahim commented May 3, 2024

Copy link
Copy Markdown
Author

@osvivant try now

@osvivant

osvivant commented May 3, 2024

Copy link
Copy Markdown

thanks, it works!

@jeanpierrebertola

Copy link
Copy Markdown

it,s stop to work !

@uahim

uahim commented Apr 15, 2025

Copy link
Copy Markdown
Author

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

@jeanpierrebertola

jeanpierrebertola commented Apr 15, 2025 via email

Copy link
Copy Markdown

@jeanpierrebertola

jeanpierrebertola commented Apr 15, 2025 via email

Copy link
Copy Markdown

@osvivant

Copy link
Copy Markdown

Thanks, works perfectly!!!

@uahim

uahim commented Apr 23, 2025

Copy link
Copy Markdown
Author

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 :-)

@jeanpierrebertola

Copy link
Copy Markdown

Hello it Works no more !
Regards,
JP

@uahim

uahim commented Jul 19, 2025

Copy link
Copy Markdown
Author

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

@jeanpierrebertola

jeanpierrebertola commented Jul 19, 2025 via email

Copy link
Copy Markdown

@uahim

uahim commented Sep 28, 2025

Copy link
Copy Markdown
Author

@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
Copy Markdown

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

@uahim

uahim commented Sep 28, 2025

Copy link
Copy Markdown
Author

@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

uahim commented Sep 28, 2025

Copy link
Copy Markdown
Author

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

@jeanpierrebertola

jeanpierrebertola commented Sep 28, 2025 via email

Copy link
Copy Markdown

@jeanpierrebertola

jeanpierrebertola commented Sep 28, 2025 via email

Copy link
Copy Markdown

@jeanpierrebertola

jeanpierrebertola commented Oct 4, 2025 via email

Copy link
Copy Markdown

@jeanpierrebertola

Copy link
Copy Markdown

you are right it's necessary to downgrade thank you

@uahim

uahim commented Oct 5, 2025

Copy link
Copy Markdown
Author

@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