Comment diffuser en streaming à partir de la ligne de commande sous Linux

De nombreux utilisateurs sous Linux choisissent de diffuser sur Twitch sous Linux à l’aide de l’outil Open Broadcaster. Tout le monde n’aime pas cet outil et certains souhaitent une alternative. Vous pouvez regarder des flux Twitch sans utiliser de navigateur, et vous pouvez utiliser un simple flux de script bash sur Twitch.

Si vous utilisez un VPN avec Twitch, vous devrez l’activer séparément.

Installer l’outil d’encodage FFmpeg

Le streaming vers Twitch à partir de la ligne de commande Linux s’exécute à l’aide de l’outil d’encodage FFmpeg. Avant d’aller plus loin dans ce didacticiel, vous devrez l’installer sur votre PC Linux. Ouvrez une fenêtre de terminal et entrez ce qui suit. Pour installer FFmpeg, vous devez exécuter Ubuntu, Debian, Arch Linux, Fedora ou OpenSUSE. Si vous n’exécutez pas l’une de ces distributions Linux, vous pouvez créer et installer le logiciel d’encodage FFmpeg directement à partir du site Web Ici.

Ubuntu

sudo apt install ffmpeg

Debian

sudo apt-get install ffmpeg

Arch Linux

sudo pacman -S ffmpeg

Feutre

sudo dnf install ffmpeg

OpenSUSE

sudo zypper install ffmpeg

Maintenant que l’outil d’encodage est installé, exécutez-le dans le terminal pour vous assurer que tout fonctionne correctement. FFmpeg n’a pas besoin d’encodage de fichier pour s’exécuter. Dans un terminal, essayez:

ffmpeg --help

Confirmez que la page d’aide se lance correctement et tapez clear pour effacer le terminal.

  5 outils qui vous permettent de créer un logo gratuit

Modifier Bashrc

L’outil encodeur est installé et fonctionne. L’étape suivante consiste à configurer l’alias de streaming Twitch sur le système. Pour créer l’alias de diffusion en continu, vous devrez modifier le fichier bashrc. Ce fichier contient un grand nombre de variables de commande différentes pour chaque utilisateur. Le fichier bashrc fonctionne sur une base par utilisateur, donc chaque utilisateur qui souhaite utiliser cette commande pour diffuser sur Twitch doit suivre le processus ci-dessous.

Commencez par sauvegarder le fichier bashrc. Cela garantira que toutes les modifications ou erreurs peuvent être annulées si vous souhaitez supprimer la commande de diffusion en continu. Créez une sauvegarde en faisant une copie du fichier:

mkdir ~/bashrc-backup

cp ~/.bashrc ~/bashrc-backup/.bashrc-bak

Une fois la sauvegarde prise en charge, démarrez l’édition. Ouvrez bashrc dans le terminal. N’UTILISEZ PAS ROOT, vous pourriez accidentellement modifier le fichier bashrc de l’utilisateur root au lieu du vôtre, ce qui serait une erreur.

nano ~/.bashrc

Collez le code suivant à la toute fin du fichier bashrc. Comprenez que vous devrez peut-être parcourir ce code et le modifier en fonction de vos besoins. Plus précisément, les résolutions, les threads, la qualité, le CBR, etc.

Remarque: ne remplissez pas votre clé de flux dans bashrc, car elle n’est pas sûre. Ce script demande la clé à chaque fois que vous diffusez pour des raisons de sécurité.

 streaming() {
     INRES="1920x1080" # input resolution
     OUTRES="1920x1080" # output resolution
     FPS="15" # target FPS
     GOP="30" # i-frame interval, should be double of FPS, 
     GOPMIN="15" # min i-frame interval, should be equal to fps, 
     THREADS="2" # max 6
     CBR="1000k" # constant bitrate (should be between 1000k - 3000k)
     QUALITY="ultrafast"  # one of the many FFMPEG preset
     AUDIO_RATE="44100"
     STREAM_KEY="$1" # use the terminal command Streaming streamkeyhere to stream your video to twitch or justin
     SERVER="live-sjc" # twitch server in California, see https://bashtech.net/twitch/ingest.php to change 
     
     ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar $AUDIO_RATE 
       -vcodec libx264 -g $GOP -keyint_min $GOPMIN -b:v $CBR -minrate $CBR -maxrate $CBR -pix_fmt yuv420p
       -s $OUTRES -preset $QUALITY -tune film -acodec libmp3lame -threads $THREADS -strict normal 
       -bufsize $CBR "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY"
 }

Lorsque le code est en bashrc, enregistrez l’éditeur de texte Nano avec Ctrl + O et quittez-le avec Ctrl + X.

  Comment personnaliser le curseur sous Windows 10

Diffusion

Pour diffuser sur Twitch directement à partir de la ligne de commande, ouvrez un terminal et utilisez la nouvelle commande de streaming configurée dans bashrc. Vous devez connaître votre clé de flux Twitch. Connectez-vous à Twitch, aller au tableau de bord et trouvez votre clé de streaming.

Si la clé est correctement configurée, le streaming à partir de la ligne de commande devrait fonctionner comme ceci:

streaming streamkey

Pour quitter le streaming, appuyez sur « Q » et cela devrait se terminer, car le flux utilise FFmpeg. Si le bouton Q ne fonctionne pas, forcez la fermeture du script avec Ctrl + Z.

  Pratique avec Microsoft Edge pour iOS et Android

Script de flux

Si la saisie répétée d’une clé de flux devient épuisante, envisagez de créer un script de flux. Gardez à l’esprit que cela exposera votre clé à toute autre personne ayant accès à votre PC. Pour créer le script, ouvrez le terminal et entrez les commandes suivantes.

Tout d’abord, utilisez echo pour ajouter le shebang. Un shebang permet à l’interpréteur Bash de savoir quel type de script il est sur le point d’exécuter, l’environnement, etc.

Remarque: ne déplacez pas le script de votre dossier personnel! Il repose sur le script de streaming à l’intérieur de bashrc. Si vous le déplacez vers d’autres emplacements du système de fichiers qui ne disposent pas des autorisations appropriées, il se peut qu’il ne fonctionne pas correctement.

echo "#!/bin/bash" > ~/stream-script.sh

Ensuite, copiez votre commande de streaming et utilisez echo pour l’écrire dans le script.

echo "streaming streamkey" >> ~/stream-script.sh

Enfin, mettez à jour les autorisations du script, afin que le système lui permette de fonctionner correctement. Sans cela, le script peut échouer.

sudo chmod +x stream-script.sh

Exécutez le script avec:

./stream-script.sh

ou

sh stream-script.sh

Quittez le script avec Q ou Ctrl + Z.