URL: https://linuxfr.org/forums/astucesdivers/posts/enregistrement-streamings-freebox-avec-un-firewall-pf Title: Enregistrement streamings Freebox avec un firewall PF Authors: sachaz Date: 2009年02月14日T16:25:56+01:00 Tags: hadopi Score: 4 Bonjour, Récemment j'ai souhaité programmer dans un cron l'enregistrement d'un flux de ma FREEBOX, sur une machine de mon réseau derrière mon firewall OpenBSD. Le problème s'est vite posé avec le protocole RTP/RTMP, comment faire pour que le firewall sache sur quelle machine diriger le flux ? J'ai trouvé deux solutions à au problème: solution 1: rtspproxy je ne développe pas car je n'ai pas réussi à faire fonctionner ! solution 2: vlc, routage et port forwarding les streamings de la Freebox sont fait à base de VLC, un des développeurs de VLC travaille d'ailleurs chez Free.fr pour toute cette partie. Donc VLC évolue aussi en fonction des besoins de Free.fr ... il est donc l'outil idéal pour enregistrer les flux de la Freebox. La solution vient du fait que nous puissions choisir le port source du client. Donc sur mon poste de travail (Zeus) j'ai configuré le port 35000: dans vlc paramètres, préférences, Lecture / Codecs, Démultiplexeurs, RTP/RTSP, Port client 35000). Puis j'ai ajouté les règles suivantes dans mon PF: rdr on $Ext1 proto UDP from mafreebox.freebox.fr to $Ext1 port 35000 -> $Zeus rdr on $Ext1 proto UDP from mafreebox.freebox.fr to $Ext1 port 35002 -> $Hera (TCP,UDP sont ouverts en sortie sur ce fw) Enfin sur Hera machine qui enregistrera mes émissions j'ai dans cron: 55 17 * * 6 /usr/bin/radio-freebox-worldwide 130 et le script suivant : cat /usr/bin/radio-freebox-worldwide: #!/bin/bash # Free.fr Radio Ripper of Worldwide set # Rip a streaming, and archivate # # param 1ドル Time in min # TIME=1ドル DIR='/mnt/Upload/Radio_Scheduled_RIP' DATE=$(/bin/date +%Y%m%d) NAME='Gilles Peterson - Worldwide - Radio Nova - '$DATE'_TOCUT' LOG=/tmp/radio.log echo URL : $URL>$LOG echo TIME : $TIME>>$LOG echo DIR : $DIR>>$LOG echo NAME : "$NAME">>$LOG vlc --rtp-client-port=35002 --no-video '[rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&ser(...)](rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=100005') --sout '#standard{access=file,mux=mp4,url=/mnt/Upload/Radio_Scheduled_RIP/tmp.mp3}'-I dummy --daemon sleep "$TIME" /usr/bin/killall vlc mkdir "$DIR/$NAME" mv "$DIR/tmp.mp3" "$DIR/$NAME/$NAME.mp3" A noter surtout la commande vlc pour enregistrer ici un flux radio (radio Nova sur cette fréquence fonctionnant le 02/2009), les paramètres sont à récupérer dans votre liste [http://mafreebox.freebox.fr/freeboxtv/playlist.m3u](http://mafreebox.freebox.fr/freeboxtv/playlist.m3u) Le script est améliorable à souhait... Chaque machine sur le réseau naté devra être ajoutée dans le firewall et configurer son port source vlc. Le plus simple serait de faire fonctionner osrtspproxy-2.0, si quelqu'un sait faire ça m'intéresse. Merci à Free pour la qualité de sa solution ouverte en ce qui concerne ses flux, à l'époque tumultueuse des Hadopi et autres amendements 138, que les solutions restent libres : c'est la source de l'innovation à la portée de tous.