Outils pour utilisateurs

Outils du site


linux:installation:rtsptoweb

Ceci est une ancienne révision du document !


Sources :

Serveur RTSPtoWeb (stream de flux RTSP sur le web)

On commence par installer go :

apt-get install go

Puis par télécharger le code source :

git clone https://github.com/deepch/RTSPtoWeb

On se rend dans le répertoire et on teste le lancement :

cd RTSPtoWeb/
GO111MODULE=on go run *.go
En cas d'erreur “build cache is required, but could not be located: GOCACHE is not defined and neither $XDG_CACHE_HOME nor $HOME are defined” :

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

Cela provient d'un version trop ancienne de go sur Debian. Il faut donc passer par les dépôts bookworm-backports pour avoir une version plus récente de go. On ajoute bookworm-backports au sourcelist :

nano /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm-backports main

Mettre à jour les dépôts :

apt-get update

Installer désinstaller l'ancienne version de go, et réinstaller celle des backports :

sudo remove go && sudo apt install -t bookworm-backports golang-go

Puis on peut commenter la ligne afin de ne plus utiliser les backports :

nano /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm-backports main

Et refaire un update des dépôts :

apt-get update

On configure le serveur :

sudo nano config.json

Par exemple :

{
  "server": {
    "debug": true,
    "log_level": "info",
    "http_debug": false,
    "http_demo": true,
    "http_dir": "web",
    "http_login": "$TONLOGIN",
    "http_password": "$TONPASS",
    "http_port": ":8083",
    "https": true,
    "https_auto_tls": false,
    "https_auto_tls_name": "",
    "https_cert": "/etc/letsencrypt/live/$TONDNS/cert.pem",
    "https_key": "/etc/letsencrypt/live/$TONDNS/privkey.pem",
    "https_port": ":8084",
    "ice_servers": ["stun:stun.l.google.com:19302"],
    "log_level": "debug",
    "rtsp_port": ":5541",
    "token": {
      "backend": "http://127.0.0.1/test.php"
    },
    "defaults": {
      "audio": true
    }
  },
  "streams": {
    "Couvoir": {
      "name": "Couvoir",
      "channels": {
        "0": {
          "url": "rtsp://$TONLOGIN:$TONPASS@$TONIP:554/Streaming/Channels/102",
          "debug": false,
          "on_demand": true,
          "audio": true,
          "status": 0
        }
      }
    },
    "Pondoir": {
      "name": "Pondoir",
      "channels": {
        "0": {
          "name": "ch1",
          "url": "rtsp://$TONIP:554/11",
          "debug": false,
          "on_demand": true,
          "audio": true,
          "status": 0
        }
      }
    }
  },
  "channel_defaults": {
    "on_demand": true
  }
}

On teste si tout fonctionne :

GO111MODULE=on go run *.go

Et lancer un navigateur et se rendre sur

https://$TONDNS:8084

Si tout fonctionne, on peut lancer le build de l'application :

sudo GO111MODULE=on go build -o /$TONPATH/RTSPtoWeb/RTSPtoWeb.bin

Puis créer le service RTSP :

sudo nano /etc/systemd/system/rtsp.service
[Unit]
Description=Service RTSPtoWebRTC
 
[Service]
Type=simple
Restart=always
ExecStart= /home/debisto/RTSPtoWeb/RTSPtoWeb.bin
WorkingDirectory=/home/debisto/RTSPtoWeb
 
[Install]
WantedBy=multi-user.target

On recharge les services, on lance le service RTSP et on vérifie son status :

sudo systemctl daemon-reload
sudo systemctl start rtsp.service
sudo systemctl status rtsp.service

Une fois que c'est testé via le navigateur, on l'ajoute au lancement lors du boot :

sudo systemctl enable rtsp.service

Exemple : https://pisto.fr.nf:8084

linux/installation/rtsptoweb.1740857452.txt.gz · Dernière modification : 2025/03/01 19:30 de tutospisto