Système de diffusion en continu de listes de lecture vidéo depuis BTFS vers les plateformes de streaming DLive et Kick, piloté par un Raspberry Pi 4.
Orbis Alternis est un projet de diffusion de films de science-fiction hébergés sur le réseau distribué BTFS (BitTorrent File System), diffusés en temps réel vers :
- DLive via RTMP
- Kick via RTMPS (chiffré TLS)
- (à venir) Site web personnel avec lecteur DASH
Le système tourne nativement sur Raspberry Pi 4 (ARM64), sans aucune dépendance propriétaire.
| Fonctionnalité | Statut |
|---|---|
| Architecture ARM64 native (Raspberry Pi 4) | ✅ |
| RTMP vers DLive | ✅ |
| RTMPS chiffré (Stunnel + TLS) vers Kick | ✅ |
| Sources vidéo depuis BTFS (réseau distribué) | ✅ |
| Listes de lecture multiples et thématiques | ✅ |
| Résolutions variables (16:9, 16:10, 21:9...) adaptées en 1080p | ✅ |
| Encodeur logiciel libx264 et matériel h264_v4l2m2m | ✅ |
| Scripts 100% Bash — zéro dépendance supplémentaire | ✅ |
| Documentation en français | ✅ |
| Filigrane (logo) à la volée | ✅ (configurable) |
| Surcouche webcam (watch party) | ✅ (configurable) |
| Lecteur DASH / mini-site web | 🔜 (planifié) |
| Bot de chat IA (Kick + DLive) | 🔜 (planifié) |
BTFS (pair-à-pair)
│ passerelle HTTP :8080
▼
FFmpeg (encodage H.264/AAC une seule fois)
│ RTMP local
▼
nginx + module RTMP (relais local :1935)
│ │
▼ ▼
DLive Stunnel (:11935)
RTMP │ TLS/RTMPS
▼
Kick
Technologies utilisées :
nginx+libnginx-mod-rtmp— Serveur et relais RTMPstunnel4— Chiffrement TLS pour RTMPS (Kick)btfs4.1.0 — Nœud BTFS/BTTC (testnet → mainnet)ffmpeg— Transcodage et normalisation vidéobash— Orchestration complète
OrbisAlternis/
├── conf/
│ ├── orbis.conf ← Configuration principale (à personnaliser)
│ ├── stunnel-kick.conf ← Tunnel TLS pour Kick
│ └── nginx-rtmp.conf ← Modèle nginx (généré automatiquement)
├── ldl/
│ ├── ldl_tot.txt ← Liste de lecture complète
│ ├── ldl_dystopies.txt
│ ├── ldl_IA.txt
│ └── ... (14 listes thématiques)
├── img/ ← Logo et images (filigrane)
├── journaux/ ← Journaux de diffusion
├── scripts/
│ ├── diffuser.sh ← Script principal ▶
│ ├── gestion-ldl.sh ← Gestion des listes de lecture
│ ├── verifier-systeme.sh ← Vérification pré-diffusion
│ └── diagnostic.sh ← Outil de diagnostic
└── docs/
├── INSTALLATION.md
├── CONFIGURATION.md
├── LISTES-LECTURE.md
├── RTMPS-DLIVE-KICK.md
├── BTFS.md
└── DIAGNOSTIC.md
# 1. Cloner le projet sur le Raspberry Pi
git clone https://github.com/Thalyn-/diffuseur-rtmps-btfs-ARM64.git OrbisAlternis
cd OrbisAlternis
chmod +x scripts/*.sh
# 2. Configurer (clés de flux, chemins...)
nano conf/orbis.conf
# 3. Vérifier que tout est en ordre
./scripts/verifier-systeme.sh
# 4. Lancer la diffusion
./scripts/diffuser.sh -l ldl/ldl_tot.txt -p toutesPour l'installation complète, voir docs/INSTALLATION.md.
Si vous recevez cette erreur, cela signifie que FFmpeg ne peut pas envoyer le flux vers nginx-rtmp.
Diagnostic rapide :
./scripts/diagnostic.sh --rtmpCela va vérifier :
- ✓ nginx est-il actif ?
- ✓ Le port RTMP (1935) est-il ouvert ?
- ✓ La config nginx est-elle valide ?
- ✓ Le module RTMP est-il chargé ?
- ✓ Le bloc RTMP est-il généré ?
Correction automatique :
sudo ./scripts/fixer-rtmp.shCe script va corriger automatiquement les problèmes courants :
- Installer le module nginx-rtmp s'il manque
- Générer le bloc RTMP avec vos clés de flux
- Inclure le bloc dans la config nginx
- Recharger nginx
- Tester la connexion
Après correction :
./scripts/diagnostic.sh --ffmpegPour tester que RTMP fonctionne avec FFmpeg.
Guide complet : Voir docs/RESOLUTION-RTMP.md
# Diagnostic complet (système, BTFS, RTMP, FFmpeg)
./scripts/diagnostic.sh --complet
# Afficher les derniers journaux
./scripts/diagnostic.sh --journaux
# Diagnostiquer BTFS spécifiquement
./scripts/diagnostic.sh --btfs./scripts/diffuser.sh -h
-l <fichier> Liste de lecture (défaut : ldl/ldl_tot.txt)
-p <cible> dlive | kick | toutes
-m Mélanger aléatoirement
-b Forcer le bouclage
-n Lecture unique sans boucle
-f Activer le filigrane (logo)
-w Activer la surcouche webcam| Problème | Solution |
|---|---|
| FFmpeg code 251 (Input/output error) | sudo ./scripts/fixer-rtmp.sh |
| nginx ne démarre pas | sudo systemctl status nginx |
| Port 1935 ne répond pas | Vérifier : ss -tlnp | grep 1935 |
| BTFS inaccessible | btfs daemon --chain-id 1029 |
| Clés de flux non acceptées | Vérifier dans conf/orbis.conf |
Pour un dépannage détaillé, consultez docs/RESOLUTION-RTMP.md.
- Réseau actuel : testnet BTTC (chain-id 1029)
- Passage en production : modifier
BTFS_CHAINE_ID="199"dansconf/orbis.conf
Projet libre — voir les conditions d'utilisation des plateformes DLive et Kick ainsi que les droits applicables aux œuvres diffusées.
- Diffusion RTMP/RTMPS depuis BTFS
- Gestion des listes de lecture thématiques
- Filigrane et surcouche webcam
- Mini-site web avec lecteur DASH
- Bot de chat IA pour Kick et DLive (
!infos,!analyse) - Passage en production mainnet BTTC