Capter un flux web avec streamlink
L'outil streamlink
permet de capter des flux http(s) de plateformes vidéos comme YouTube
. Voyons un usage simple ainsi que comment installer l'outil suivant l'OS.
Exemples d'utilisation
Enregistrer localement dans un fichier
1streamlink --quiet -o - "https://www.youtube.com/watch?v=l8PMl7tUDIE" best > flux.ts
Piper dans un autre processus
1streamlink --quiet -o - "https://www.youtube.com/watch?v=l8PMl7tUDIE" best | ./captncut-ts.php
Diffuser en multicast
1streamlink --quiet -o - "https://www.youtube.com/watch?v=l8PMl7tUDIE" best | ffmpeg -re -f mpegts -i - -c copy -map 0 -f mpegts udp://239.0.0.1:1234
Installation
CentOS7 : non
- pas de paquets dans la distrib (
dnf search streamlink
) - s'installe avec
pip3 install streamlink
mais ne s'exécute pas à cause d'unopenssl
trop vieux. Recompiler à la main openssl ? :(
AlmaLinux 8 : non
- pas de paquets dans la distrib
- openssl 1.1.1 ok
pip3 install streamlink
(en root) marche mais crash au runtime
AlmaLinux 9 : ?
à tester
Debian 12 : oui
- paquet dans la distrib (
apt install streamlink
)
1streamlink --version
2streamlink 5.2.1
MacOS : oui
- paquet dispo dans
homebrew
(brew install streamlink
)
1streamlink --version
2streamlink 6.4.2
Multicast restreint à la boucle locale sous MacOS
1sudo route add 239.0.0.0/24 127.0.0.1 # activer
2netstat -nr -f inet | grep 239.0.0 # vérifier
3sudo route delete 239.0.0.0/24 127.0.0.1 # désactiver
Monitoring trafic avec bwm-ng
(à faire pendant une diffusion multicast, cas qu'il faut qu'un client soit abonné au groupe multicast. Ex: mpv udp://239.0.0.1:1234
)
1brew install bwm-ng
1 bwm-ng v0.6.3 (probing every 0.500s), press 'h' for help
2 input: getifaddrs type: rate
3 / iface Rx Tx Total
4 ==============================================================================
5 lo0: 628.23 KB/s 628.23 KB/s 1256.46 KB/s <--- trafic multicast
6 en3: 0.00 KB/s 0.00 KB/s 0.00 KB/s
7 ap1: 0.00 KB/s 0.00 KB/s 0.00 KB/s
8 en0: 0.00 KB/s 0.00 KB/s 0.00 KB/s
9 en1: 0.00 KB/s 0.00 KB/s 0.00 KB/s
10 en2: 0.00 KB/s 0.00 KB/s 0.00 KB/s
11 en5: 0.00 KB/s 11.93 KB/s 11.93 KB/s
12 bridge0: 0.00 KB/s 0.00 KB/s 0.00 KB/s
13 utun0: 0.00 KB/s 0.00 KB/s 0.00 KB/s
14 utun1: 0.00 KB/s 0.00 KB/s 0.00 KB/s
15 utun2: 0.00 KB/s 0.00 KB/s 0.00 KB/s
16 utun3: 0.00 KB/s 0.00 KB/s 0.00 KB/s
17 en14: 0.00 KB/s 0.00 KB/s 0.00 KB/s
18 en16: 0.00 KB/s 0.00 KB/s 0.00 KB/s
19 ------------------------------------------------------------------------------
20 total: 628.23 KB/s 640.16 KB/s 1268.39 KB/s
Ressources
- https://github.com/aerogus/dvbstream : routage multicast restreint sous Debian ou CentOS
- https://streamlink.github.io : site officiel de StreamLink
comments powered by Disqus